Compare commits

..

3405 Commits

Author SHA1 Message Date
Beto Dealmeida
668f60ba7e fix(load_examples): better fix for load_data (#12702)
* fix(load_examples): better fix for load_data

* Address changes

(cherry picked from commit 9a159b30c4)
2021-01-22 16:49:01 -08:00
Rob DiCiuccio
489d341688 fix: Stabilize and deprecate legacy alerts module (#12627)
* Add deprecation notice to superset.tasks.schedules

* Reduce retries and schedule window for alerts

(cherry picked from commit e4ae17def5)
2021-01-21 10:08:23 -08:00
Duy Nguyen Hoang
6e8d360525 fix: chart disappears in standalone slice (#12606) 2021-01-20 17:32:28 +00:00
Duy Nguyen Hoang
d237cd63c0 fix: error while parsing invalid json form_data (#12586)
* Fix error while parsing invalid json form_data

* Refine error returned
2021-01-20 17:32:12 +00:00
Beto Dealmeida
233135e8ec fix: ignore system files on import (#12526) 2021-01-20 17:32:03 +00:00
Ville Brofeldt
1d2bf882f9 add rc4 changelog entries
(cherry picked from commit 5719fefdd4)
2021-01-19 12:40:09 -08:00
Kamil Gabryjelski
8833a6e37e fix: Select options overflowing Save chart modal on Explore view (#12522)
* Fix select options overflowing modal

* fix unit test

Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2021-01-15 19:04:51 +02:00
Beto Dealmeida
2cab564bb7 fix: lowercase all columns in examples (#12530) 2021-01-15 19:04:38 +02:00
Jesse Yang
f0e7b8b7a1 fix(explore): Add Time section back to FilterBox (#12537) 2021-01-15 19:04:26 +02:00
Jesse Yang
e981a18afd fix(explore): time table control panel (#12532) 2021-01-15 19:04:08 +02:00
Geido
f2f22638de fix: Popover closes on change of dropdowns values (#12410) 2021-01-15 19:03:34 +02:00
Michael S. Molina
75a329abb3 Fix list filters vertical alignment (#12497) 2021-01-15 19:01:48 +02:00
Bogdan
52ba82fb8b Add owner field to the alerts list (#12420)
Co-authored-by: Bogdan Kyryliuk <bogdankyryliuk@dropbox.com>
2021-01-13 10:54:30 -08:00
Moriah Kreeger
628a9b2b7b keep modal open on error, utilize useEffect (#12360) 2021-01-13 10:53:31 -08:00
Lily Kuang
908c0f2b52 remove crontab guru link (#12467) 2021-01-13 10:49:54 -08:00
Daniel Vaz Gaspar
a078296330 fix: impose dataset ownership check on old API (#12491)
* fix: impose dataset ownership check on old API

* update UPDATING.md

* partially protect the old MVC also

* prevent metric and column add and update
2021-01-13 18:06:41 +00:00
Hugh A. Miles II
7ac6e61b96 fix: styling for change dataset confirmation (#12471) 2021-01-13 12:48:15 -05:00
Beto Dealmeida
086b3a66a0 fix (SQL Lab): disappearing results on tab switch (#12472)
* fix (SQL Lab): disappearing results on tab switch

* Remove state

* Fix test
2021-01-13 19:10:04 +02:00
Jesse Yang
f8270b0b80 fix(dashboard): use datasource id from slice metadata (#12483) 2021-01-13 18:49:51 +02:00
Yongjie Zhao
b22e458108 fix(timepicker): make pyparsing thread safe (#12489)
* fix: make pyparsing thread safe

* remove parenthesis for decorator
2021-01-13 17:25:58 +02:00
Ville Brofeldt
40a334aacf feat(db-engine-specs): add support for Postgres root cert (#11720)
* feat(db-engine-specs): add support for Postgres root cert

* remove logging of json decode exception message

* fix error message

* fix error message
2021-01-13 13:39:28 +02:00
Ville Brofeldt
407b194b15 fix(releasing): svn dockerfile requirements path (#12461) 2021-01-13 12:40:53 +02:00
Evan Rusackas
7aba4c246a chore: bump superset-ui deckgl plugin (#12466) 2021-01-13 00:10:47 -08:00
Michael S. Molina
551a3e4373 Fix uneven list header padding (#12029) (#12412) 2021-01-12 23:29:43 -08:00
Jesse Yang
5fe4173a5d build: add cancel-workflow-runs action locally (#12394) 2021-01-12 22:11:51 -08:00
Grace Guo
e9d66e904f fix: do not show vertical scrollbar for charts in dashboard (#12478)
* fix: do not show vertical scrollbar for charts in dashboard

* Proper fix for #11419

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
2021-01-12 17:16:25 -08:00
Beto Dealmeida
8f83afcf49 feat: new Slack dashboard (#12415)
* feat: new Slack dashboard

* Add ASL license

* Fix test
2021-01-12 15:24:44 -08:00
Beto Dealmeida
e47350ef96 fix: import ZIP files that have been modified (#12425)
* fix: import ZIP files that have been modified

* Add unit test
2021-01-12 12:56:26 -08:00
Kasia Kucharczyk
5f93a14f5d fix(dashboard): artefacts shown while drag and dropping deck.gl charts (#12418)
* [12181] Fix artifacts while drag and dropping deck.gl charts.

* Run prettier
2021-01-12 12:06:48 -08:00
Michael S. Molina
6731cd0be6 chore: apply capitalization guidelines - iteration 1 (#12447)
Apply capitalization guidelines defined in #12343 

Use sentence casing for most places.
2021-01-12 10:47:55 -08:00
Kamil Gabryjelski
ed53b0090e feat: Resizable dataset and controls panels on Explore view (#12411)
* Implement resizable panels on explore view

* Optimize chart rendering while resizing

* Make dataset column narrower

Co-authored-by: Evan Rusackas <evan@preset.io>
2021-01-12 10:39:56 -08:00
Phillip Kelley-Dotson
d8f4443c10 bump superset-ui packages for rolling window change (#12426) 2021-01-12 09:50:01 -08:00
Junlin Chen
fe01e2d88d fix(explore): fixed table header in chrome (#12432) 2021-01-12 09:17:00 -08:00
Hugh A. Miles II
1e527d54e7 fix: update savedatasetmodal message (#12433) 2021-01-12 11:58:29 -05:00
Daniel Vaz Gaspar
0f731f27e4 fix(api): prefix class names on events actions (#12354)
* fix(api): prefix class names on events actions

* fix bulk delete
2021-01-12 10:52:35 +00:00
Ville Brofeldt
078a8a17a1 fix(native-filters): incorrect queriesData state (#12409) 2021-01-12 09:01:16 +02:00
Michael S. Molina
75f927b9eb Fixes control panel fields styling (#12236) (#12326) 2021-01-11 16:47:10 -08:00
Yongjie Zhao
9b0e6d0cc0 refactor: from superset.utils.core break down date_parser (#12408) 2021-01-11 14:16:42 -08:00
Phillip Kelley-Dotson
321444bfd5 docs: fix styles and add algolia search classes (#12267)
* fix styles and add angolia search classes

* add class

* fix black
2021-01-11 14:13:51 -08:00
Geido
376723a1f5 chore: Show datasets when search input is empty (#12391) 2021-01-11 14:06:57 -08:00
Agata Stawarz
ddbcf5b0e9 fix: Refresh Interval Modal dropdown (#12406) 2021-01-11 11:58:28 -08:00
Grace Guo
9618f0786c [explore] Prevent duplicated query by data table (#12404) 2021-01-11 11:37:54 -08:00
Amit Miran
4cf3f99ee8 chore: remove additional incubator references (#12336)
* chore: remove additional incubator references
remove incubator.png from the main docs page

* fix: improve text for contributing-page.mdx

* fix: lint no-unused-vars
2021-01-11 06:09:10 -08:00
dependabot[bot]
c61167d2f7 build(deps): bump ini from 1.3.5 to 1.3.8 in /docs (#12020)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-11 06:07:03 -08:00
dependabot[bot]
ee53d82184 build(deps): bump urijs from 1.19.1 to 1.19.4 in /superset-frontend (#12232)
Bumps [urijs](https://github.com/medialize/URI.js) from 1.19.1 to 1.19.4.
- [Release notes](https://github.com/medialize/URI.js/releases)
- [Changelog](https://github.com/medialize/URI.js/blob/gh-pages/CHANGELOG.md)
- [Commits](https://github.com/medialize/URI.js/compare/v1.19.1...v1.19.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-11 05:58:33 -08:00
Karol Kostrzewa
2ab490a101 test: birth names (#12226)
* add birth names fixture

* fix birth names related tests

* fix test_import_v0_dataset_cli_export columns order

* fix celery tests drop table

* fix mysql datetime type

* fix mysql typo in charts/api_tests

* refactor

* add licence

* fix use fixture for presto

* fix presto, hive query

* fix flaky metadata

* fix mysql bigint type

* fix run query

* fix hive datatype in metadata

* fix slice owner for cypress

* refactor num_boys num_girls

* fix is_dttm column

* debug logging

* fix query offset

* fix presto ds type in metadata

* fix presto ds type

* clean up debug logging
2021-01-11 05:57:55 -08:00
Jesse Yang
ff7b789931 docs: reword and cleanup docs for local dev server (#11869) 2021-01-10 23:36:01 -08:00
Yongjie Zhao
23263da9f3 feat(explore): add tooltip to timepicker label (#12401) 2021-01-10 21:52:02 -08:00
Yongjie Zhao
c327cb911e fix(explore): long metric name display (#12387)
* fix(explore): long metric name display

* add tooltip to control
2021-01-11 09:42:38 +08:00
Jesse Yang
9acf48fd1e chore: upgrade eslint, babel, and prettier (#12393) 2021-01-10 17:26:35 -08:00
Junlin Chen
6bee3a0581 chore: change Datasource to Dataset in Explore ui (#12402)
* chore(explore):change dataset to datasource in ui

* modal

* Add space

* Changing it back🤦🏾‍♀️

* Chargeback
2021-01-10 12:53:51 -08:00
Amit Miran
37f648c41b chore: rename docker image in build_docker_image.sh, docker-compose.yml and helm values.yaml (#12337) 2021-01-10 09:29:17 -08:00
Junlin Chen
f13f2e2ed3 chore: Fix typo “Rest” to “Reset” (#12392) 2021-01-09 19:40:28 -08:00
Duy Nguyen Hoang
99de8a49b6 fix: explore replace wrong standalone slice url (#12359) 2021-01-09 13:32:06 -08:00
Geido
3eb0470a2f Closes #12389 (#12390) 2021-01-09 22:18:59 +02:00
Kamil Gabryjelski
5d04f7dbce fix: Data tables styling issues on Explore view (#12383)
* Fix sort icons wrapping

* Fix large table stretching chart section container

* Implement sticky paginattion

* Display "loading" when data is loading

* Lint fix
2021-01-09 18:04:53 +02:00
Kamil Gabryjelski
14ccbe43b3 Fix new metric popover showing previous popover's title (#12385) 2021-01-09 16:05:25 +02:00
Yongjie Zhao
64b49778c5 fix(explore): adhoc metric label and control value not consistent (#12381)
* fix(explore): adhoc metric label and control value not consistent

* minor fix

* fix lint
2021-01-09 17:59:09 +08:00
Ville Brofeldt
662b64960f fix(explore): clear custom label if removed (#12382) 2021-01-09 01:41:41 -08:00
Kamil Gabryjelski
6a3103ff49 Fix filter popover under data table (#12377) 2021-01-09 00:54:39 -08:00
Kamil Gabryjelski
41751529a6 Update samples table when datasource changes (#12378) 2021-01-09 10:11:42 +02:00
Hugh A. Miles II
12504264e7 fix: datasets populating after user creation (#12368) 2021-01-08 21:04:00 -05:00
Phillip Kelley-Dotson
9c5be8e4d8 chore: make datasource search input sticky (#12365) 2021-01-08 17:08:07 -08:00
Kamil Gabryjelski
77b80c9431 fix: Fix chart resizing when using split view (#12362)
* Fix chart resizing when using split view

* Fix z-index issues
2021-01-08 15:20:51 -08:00
Daniel Vaz Gaspar
f642aea683 ci(docker): fix release published event checkout tag-sha (#12096)
* release: push 0.38.0 image and fix

* fix

* remove manual action
2021-01-08 14:59:59 -08:00
Jesse Yang
2210015aab test: rename column names for birth_names dataset (#12082) 2021-01-08 14:13:20 -08:00
Daniel Vaz Gaspar
f354bb3d1b fix(load examples): load examples creating unnecessary main database (#12351)
* fix(load examples): load examples creating unnecessary main database connection

* fix lint
2021-01-08 21:57:35 +00:00
Kamil Gabryjelski
1d2789944c Fix running query on every change in chart controls (#12361) 2021-01-08 12:56:45 -08:00
Hugh A. Miles II
7c8ead85c1 fix: Fix dataset condition to allow query for datasets in sqllab (#12357) 2021-01-08 15:36:19 -05:00
Kamil Gabryjelski
fd15dff60e perf: Optimize performance of Results and Samples tables on Explore (#12257) 2021-01-08 12:07:51 -08:00
Michael S. Molina
76b06b215f Fix CSS injection order (#12265) (#12353) 2021-01-08 11:08:34 -08:00
Nikola Gigić
737e6b4aee chore(dashboard): Add ErrorBoudary for AdhocFilter components (#12352)
* Add ErrorBoudary for AdhocFilter components

* Add tests

* typo fix
2021-01-08 20:58:26 +02:00
Ville Brofeldt
78d3557757 fix(explore): improve filter translation (#12350)
* fix(explore): improve filter translation

* address review comments
2021-01-08 20:57:21 +02:00
Victor Malai
4d279935df fix: Set width to pseudoelement to wrap filter box (#12306)
* fix: set width pseudoelement to wrap

* Fix

Co-authored-by: Victor Malai <victormalai@Victors-MacBook-Pro.local>
2021-01-08 10:09:37 -08:00
Elizabeth Thompson
466a7c8693 fix: south pane scrolling issues (#12318)
* remove extra scrollbars

* fix sql lab south pane bottom margin

* Update superset-frontend/src/SqlLab/components/SouthPane.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/SqlLab/components/SouthPane.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* move styles to component

Co-authored-by: Evan Rusackas <evan@preset.io>
2021-01-08 09:52:33 -08:00
Evan Rusackas
d1767b9065 chore: bumping nvd3 plugin (and thus, nvd3-fork) (#12349) 2021-01-08 16:08:31 +02:00
Daniel Vaz Gaspar
c685c9ea8f refactor: test connection raises only command exceptions (#12307)
* refactor: test connection raises only command exceptions

* fix tests

* fix tests

* fix tests

* lint fix
2021-01-08 13:10:11 +00:00
simchaNielsen
fecfc34cd3 feat: move filters from superset-ui to incubator (#12154)
* feat: move filters from superset-ui to incubator

* refactor: add safety check

* refactor: move extraForm data utils

* refactor: move extraForm data utils

* lint: fix lint

* chore: add license

* chore: undo changes to file

* refactor: fix CR notes / add tests

* test: update tests

* fix: fix range logic

Co-authored-by: Amit Miran <47772523+amitmiran137@users.noreply.github.com>
2021-01-08 14:44:25 +02:00
Evan Rusackas
d760e885d7 window.location > history.push (#12347) 2021-01-07 22:26:31 -08:00
ʈᵃᵢ
cbda599406 feat: provide support for an overridable template to be included in every view (#12315) 2021-01-07 18:52:46 -08:00
Phillip Kelley-Dotson
a30064b2e8 remove datataset from title (#12344) 2021-01-08 09:51:38 +08:00
Beto Dealmeida
f83afb44c8 feat: new COVID vaccination dashboard (#12338) 2021-01-07 17:48:10 -08:00
Lily Kuang
627642162b chore: change order of tab on explore data panel (#12335) 2021-01-07 16:50:11 -08:00
Beto Dealmeida
24fccdb2bc fix: append orphan charts (#12320)
* fix: append orphan charts

* Add unit tests
2021-01-07 14:05:08 -08:00
Hugh A. Miles II
9997abeab6 feat: SQL Toolbar (#12067)
Co-authored-by: hughhhh <hughmil3s@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
Co-authored-by: Simcha Shats <simcha.shats@nielsen.com>
Co-authored-by: amitNielsen <amit.miran@nielsen.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
Co-authored-by: Agata Stawarz-Pastewska <agata.stawarz-pastewska@polidea.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>
Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
Co-authored-by: Geido <60598000+geido@users.noreply.github.com>
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
Co-authored-by: Lily Kuang <lily@preset.io>
Co-authored-by: Victor Malai <malai9696@gmail.com>
Co-authored-by: Agata Stawarz <47450693+agatapst@users.noreply.github.com>
Co-authored-by: Daniel Vaz Gaspar <danielvazgaspar@gmail.com>
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
Co-authored-by: Nikola Gigić <nik.gigic@gmail.com>
Co-authored-by: Jagadish <jagadishmts@gmail.com>
Co-authored-by: Hugh A. Miles II <hughmil3s@gmail.com>
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2021-01-07 17:04:43 -05:00
Geido
5088e570bf Reduce z-index (#12334) 2021-01-07 12:59:11 -08:00
Geido
547c356b4c Fix menuPortal dropdown z-index (#12330) 2021-01-07 12:08:36 -08:00
Lily Kuang
076c31da22 fix(alert/report): add/edit modal can't be saved (#12311)
* api error from previous prevent the new get api endpoint to be called

* add clear error to hooks
2021-01-07 09:38:13 -08:00
Michael S. Molina
ca07c8cd39 Fix select overlap by aggregate button (#12312) (#12327) 2021-01-07 23:35:38 +08:00
Jesse Yang
f48284909d build: try to speed up Github workflows (#12090) 2021-01-07 00:47:00 -08:00
Jesse Yang
bcb8db621c build: improve webpack configs for npm link (#12313) 2021-01-06 23:36:24 -08:00
Amit Miran
8214237638 feat: Custom color schemes support (#12210)
* feat: setupColors.ts support
docs: add FAQ to custom color schemes

* fix: delete mistake lines

* fix: CR note

* feat: support for SETUP_EXTRA

* fix: remove after cr

* fix: CR note

* fix: after CR migrate from SETUP_EXTRA into 2 color scheme array

* fix: typing issues

* fix: python generic typing

* chore: add neat code examples
2021-01-07 09:07:00 +02:00
Agata Stawarz
1459b34390 chore: improve styles for collapsed Native Filter sidebar (#12282)
* Improve styles for collapsed Native Filter sidebar

* Replace width for Wrapper with gridUnits
2021-01-06 22:57:25 -08:00
Geido
4e6613d11f fix(explore): metrics caret not expanding in datasource panel (#12305)
* Closes #12233

* Remove accordion and set both sections open
2021-01-06 22:48:22 -08:00
Phillip Kelley-Dotson
506edf432d fix: update search in datasource panel to use matchSorter (#12319)
* update search to use matchSorter

* remove conosles
2021-01-06 21:55:57 -08:00
dependabot[bot]
8f7c7d43a3 build(deps): bump ini in /superset-frontend/cypress-base (#12019)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-06 14:55:40 -08:00
ʈᵃᵢ
176f54da7a docs: remove (some) references to incubating/incubation (#12284) 2021-01-06 13:40:40 -08:00
Robert H Stolz
0e514c184c docs: Added release notes and associated media for 0.38 (#12022)
* Added release notes and associated media for 0.38

* Added ASF license header to release notes

* refactored the release notes directory structure. Re-added media to the 0.38 release notes.

* fixed broken image and hyperlink

* fixed broken image and hyperlink pt 2

* Swapped out media embed tags

Swapped out github style markdown embed tags with html style ones for more control.

* Fixing small inconsistencies

Fixed a couple small inconsistencies in the feature tags

* Resize media, update embed style

Seems like GitHub does not any but the most basic css in the embed tag.

* Spelling nit

* Fixed some formatting nits

Added a box around the images to clearly distinguish them from the whitespace. Images are now embedded on the same indentation tier as their associated bullet point.

* Rebase to hopefully fix cypres problems

* May the cypress gods be pleased with this commit.
2021-01-06 13:03:54 -08:00
dependabot[bot]
eb3c2b2b11 build(deps): bump ini from 1.3.5 to 1.3.8 in /superset-frontend (#12021)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-06 12:22:30 -08:00
Yongjie Zhao
9eb911dca3 fix(explore): refine previous calendar range (#12308) 2021-01-06 10:09:13 -08:00
Moriah Kreeger
90ac8d02c6 add related field filter to queries/user (#12261) 2021-01-06 09:36:48 -08:00
Yongjie Zhao
1f8347228e fix(explore): timepicker show human readable string in pill (#12300)
* fix(explore): timepicker show human readable string in pill

* fix lint
2021-01-06 22:37:35 +08:00
Kamil Gabryjelski
e660723a2f fix(explore): bugs in Custom SQL editor in filter popover (#12278)
* Fix Save button disabled until clause is switched

* Fix 'undefined undefined' when sql query is empty

* fix test

Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2021-01-06 15:08:20 +02:00
Amit Miran
b221417e19 chore: remove harmless incubator refs (#12289)
* chore: migrate all harmless incubator refs like comments and documentation files

* chore: migrate all superset.incubator.apache.org to superset.apache.org to

* chore: migrate dist.apache.org refs

* chore: removing incubating and Disclaimer

* fix: linting issues
2021-01-06 13:45:19 +02:00
Daniel Vaz Gaspar
2b6a58780a fix(database): OpenAPI spec for test_connection (#12274)
* fix(database): OpenAPI spec for test_connection

* updated OpenAPI spec on superset docs

* EOL
2021-01-06 10:29:05 +00:00
Daniel Vaz Gaspar
0171a6bee4 fix(reports): don't log user errors and state change has errors (#12277) 2021-01-06 08:57:10 +00:00
Jesse Yang
cf1c57a6d4 build: ignore github actions from dependabot (#12291) 2021-01-05 22:45:44 -08:00
Moriah Kreeger
b01276808e fix null check for condition threshold to allow 0 values (#12295) 2021-01-05 21:50:21 -08:00
Kamil Gabryjelski
d0668fa7e4 Bump superset-ui deps (#12280) 2021-01-05 21:48:21 -08:00
Kamil Gabryjelski
c8ad5c90bd fix: Fixed width for dataset panel (#12221) 2021-01-05 21:08:03 -08:00
Maxwell Amante
6df8224381 chore(home): add ErrorBoundary to Charts section (#12239) 2021-01-05 20:39:56 -08:00
Beto Dealmeida
6b2b208b3b fix: load example data into correct DB (#12292)
* fix: load example data into correct DB

* Fix force_data

* Fix lint
2021-01-05 17:52:42 -08:00
Rob DiCiuccio
b4f6d353c9 Cypress: ignore unrelated ResizeObserver client errors (#12297) 2021-01-05 17:44:02 -08:00
Karol Kostrzewa
1a2680d4a1 test: fix flaky Python unit tests (#12253) 2021-01-05 16:40:01 -08:00
Michael S. Molina
1b908ab9f1 Fix tests errors and warnings - iteration 1 (#12212) (#12213) 2021-01-05 16:24:57 -08:00
Geido
147605cb40 fix: Issue #12004 timegrain not visibile (#12258)
* Fix hidden dropdown when overflowing

* Remove unnecessary space

* Remove unused var
2021-01-05 16:17:56 -08:00
Victor Malai
553b440e4b fix: Show Data panel on resize (#12250)
* Show Data panel on resize

* Revert back tableSectionHeight

* FIx lint
2021-01-05 16:13:07 -08:00
Victor Malai
2bf06d666b fix: Add visibility to box for viewing menu items (#12153)
* Add visibility to box for viewing menu items

* Add scroll visibility
2021-01-05 16:05:26 -08:00
Jesse Yang
4149ab4e5e build: remove parallelization for E2E tests (#12290) 2021-01-05 15:46:52 -08:00
Geido
66349d86a4 fix: Add min-height for loading indicator to show up (#12288)
* Add min-height for loading indicator to show up

* Remove unnecessary height
2021-01-05 15:36:17 -08:00
dependabot[bot]
230c0c2357 build(deps-dev): bump storybook-addon-paddings in /superset-frontend (#12192)
Bumps [storybook-addon-paddings](https://github.com/rbardini/storybook-addon-paddings) from 2.0.2 to 3.2.0.
- [Release notes](https://github.com/rbardini/storybook-addon-paddings/releases)
- [Commits](https://github.com/rbardini/storybook-addon-paddings/compare/v2.0.2...v3.2.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-05 15:08:37 -08:00
Hugh A. Miles II
95f0ead8eb fix: SaveDatasetModal save state on back button (#12205) 2021-01-05 15:07:23 -08:00
Daniel Vaz Gaspar
673dea76f1 docs: fix build status badge to github actions (#12251) 2021-01-05 13:48:09 +00:00
Victor Malai
d4a854e84b fix : Style caret for profile page (#12215)
* Add flex to panel

* Remove hover effect, remove undeline

* FIx lint
2021-01-04 23:31:52 -08:00
Kamil Gabryjelski
d204b024b7 Set datasource panel open by default (#12211) 2021-01-04 22:41:50 -08:00
Ville Brofeldt
8afc4c4a44 fix(explore): bump superset-ui to 0.16.3 and fix DeckGL bug (#12242) 2021-01-04 22:01:09 -08:00
Yongjie Zhao
b349edef29 feat(explore): Time picker enhancement follow up (#12208)
* refactor layout

* WIP

* fix typing

* styling

* fix lint

* frontend IT

* rename variable

* added quarter

* typos

* refine code structure
2021-01-04 18:29:17 -08:00
Kamil Gabryjelski
811e1b273b fix: Altered button crashing and title not updating on Explore view (#11960)
* Fix chart name not updating

* Fix AlteredSliceTag crashing

* Update name after it's changed in another modal
2021-01-04 16:14:06 -08:00
Victor Malai
8ecf82de5a Remove uppercase for tab names (#12217) 2021-01-04 14:58:45 -08:00
dependabot[bot]
95296df507 build(deps): bump node-fetch in /.github/actions/file-changes-action (#12248)
Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/bitinn/node-fetch/releases)
- [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 14:40:01 -08:00
dependabot[bot]
e853c16a3d build(deps): bump @actions/core in /.github/actions/file-changes-action (#12246)
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.4 to 1.2.6.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 14:08:53 -08:00
Rob DiCiuccio
62e7706035 docs(api): Script to generate API docs (openapi.json) (#12050)
* update_api_docs CLI command for regenerating openapi.json

* Fix /api/v1/async_events spec

* Regenerate openapi.json (docs)

* Pylint fixes
2021-01-04 13:47:01 -08:00
Hugh A. Miles II
7d88e6b891 fix: Change Datasource styling fixes (#12165) 2021-01-04 14:51:15 -05:00
Beto Dealmeida
164db3e5a1 fix: CTAS on multiple statements (#12188)
* WIP

* Add unit tests for sql_parse

* Add unit tests for sql_lab
2021-01-04 09:22:35 -08:00
Lily Kuang
ff0fe434e4 feat(report): add/edit modal improvements (#12183)
* alert/report modal improvements

* update spec for alert report modal
2021-01-04 09:15:55 -08:00
Jesse Yang
a3bbbf8ea3 build: inline external Github Actions to unblock CI (#12241)
* build: inline cached-dependencies to unblock CI

* Run E2E on pull_request on;y

* Inline all external actions

* Checkout needed for internal actions

Also fixes pre-commit

* Add missing files
2021-01-04 14:16:07 +02:00
Kamil Gabryjelski
7cc0de1694 Refetch samples only when filters change (#11999) 2021-01-01 16:08:19 -08:00
Kamil Gabryjelski
f3ab1f41ee feat: Implement drag & drop for metrics and filters labels (#12184) 2020-12-24 20:46:37 -08:00
Daniel Vaz Gaspar
74f3faf1cd fix(reports): make name unique between alerts and reports (#12196)
* fix(reports): make name unique between alerts and reports

* add missing migration

* make it work for mySQL and PG only (yet)

* fixing sqlite crazy unique drop

* fixing sqlite missing one col
2020-12-24 09:18:46 +00:00
Victor Malai
b75a1ec71e fix: align submenu items (#12193) 2020-12-23 16:58:55 -08:00
Beto Dealmeida
3acfd826de feat: add new dashboard with FCC data (#12163) 2020-12-23 14:54:50 -08:00
ʈᵃᵢ
3fb4e54690 fix(alerts/reports): ensure correct type is sent to api (#12189)
* fix(alerts/reports): ensure correct type is sent to api

* fix: chane actions labels to generic Edit/Delete

* fix: ts-ignore

* fix: add more dependencies to callback functions

* fix: remove duplicate api calls when toggling between types

* lint
2020-12-23 12:38:11 +00:00
Daniel Vaz Gaspar
e5e9a5f05c docs: update UPDATING.md with security simplification info (#12097)
* docs: update UPDATING.md with security simplification info

* update docs better readability
2020-12-23 12:24:59 +00:00
Daniel Vaz Gaspar
09a381da1d fix(reports): notification without standalone link back to superset (#12174)
* fix(reports): notification without standalone link back to superset

* fix comment
2020-12-23 11:31:08 +00:00
Jagadish
732d1ed40b updated SQLAlchemy=1.3.21 is incompatible in setup.py file. (#12191) 2020-12-23 13:23:29 +02:00
Agata Stawarz
4ac00a0954 fix(chart): rendering standalone chart and errors (#12179) 2020-12-23 11:06:08 +00:00
Agata Stawarz
93af329078 chore: Add Loading icon to Filter Bar (#12158)
* Add Loading icon to Filter Bar

* Change Loading Box height to gridUnits
2020-12-22 18:19:18 -08:00
Jesse Yang
d2da25a621 refactor: remove queryFields in QueryObject and update chart control configs (#12091)
* Clean up queryFields

* Clean up unused vars

* Bump chart plugins

* Bringing changes in #12147
2020-12-22 17:10:19 -08:00
Beto Dealmeida
de61859e98 fix: SQL Lab vertical space (#12187) 2020-12-22 17:05:52 -08:00
Beto Dealmeida
ca680cf976 fix: append ID to filename when exporting chart (#12166) 2020-12-22 14:19:05 -08:00
Beto Dealmeida
a85bb4a3f2 fix: remove uniqueness for MySQL (#12185) 2020-12-22 13:39:56 -08:00
Beto Dealmeida
8e3f71df4d fix: specify VARCHAR size when loading examples (#12186) 2020-12-22 13:39:40 -08:00
Ville Brofeldt
41fac6b0d9 fix(explore): save chart not working (#12178)
* fix(explore): save to dashboard not working

* fix test
2020-12-22 23:18:36 +02:00
Nikola Gigić
a52031a55e chore: Change chart_is_fav to chart_is_favorite (#12075)
* Change chart_is_fav to chart_is_favorite

* Trigger cypress tests

* Retrigger cypress tests

* Retrigger all tests

* Dashboard

* Additions
2020-12-22 10:03:26 -08:00
Victor Malai
9b110b2aa5 refactor: Refresh interval typescript (#12168)
* Refresh interval

* WIP
2020-12-22 09:55:42 -08:00
Beto Dealmeida
c281e52f81 feat: add new dashboard with video game sales (#12162) 2020-12-22 08:53:18 -08:00
Agata Stawarz
942e3210b5 Fix Filter Bar scrolling (#12156) 2020-12-22 12:09:13 +02:00
Michael S. Molina
8682c6fc1c refactor: Fix anchor-is-valid lint warnings (#12010)
* Fix anchor-is-valid lint warnings

* Change IconTooltip to use named exports
2020-12-21 23:58:05 -08:00
Jesse Yang
e2f676445b test(dashboard): fix flaky Cypress test (#12151) 2020-12-21 20:40:33 -08:00
Beto Dealmeida
ce1abc98df chore: rename variable for clarity (#12159) 2020-12-21 13:39:13 -08:00
Daniel Vaz Gaspar
2f0add3aec fix: database alpha permissions (#12136)
* fix: database alpha permissions

* add test
2020-12-21 19:17:58 +00:00
Daniel Vaz Gaspar
8d5dcc5784 fix(report): fix last_eval_dttm sort and more tests (#12121)
* fix(report): fix last_eval_dttm sort and more tests

* remove unnecessary permissions and split code path

* remove SIP_34_ALERTS_UI

* disabling an alert that is working will turn it to not triggered
2020-12-21 19:07:30 +00:00
Agata Stawarz
17769ca96e Fix Reset All filters button (#12157) 2020-12-21 20:11:39 +02:00
Victor Malai
eecdd20301 refactor: Explore SaveModal to typescript (#11997)
* Explore SaveModal to typescript

* Fix test

* Fix

* Fix lint

* update SaveModal without any type

* Update

* Fix lint

* Fix lint

* Fix test

* Fix

* Fix

* Fix lint

* Refactor

* Fix
2020-12-21 08:56:36 -08:00
Lily Kuang
0d9c863b6e fix(report): fix start date format and paginated query (#12132)
* fix: start date format for executation log

* fix: paginated query
2020-12-21 13:01:47 +00:00
ʈᵃᵢ
ba952ba39d fix(database): adjust column sizing for list view (#12146) 2020-12-20 21:26:20 -08:00
David Aaron Suddjian
b5dd0f32cc feat: Dynamically imported viz plugins (#10288)
* first attempts at dynamic plugin loading

* dynamic import working for explore

* memoize appropriately

* add a backend for dynamic plugins

* hack at getting dynamic plugins working with dashboards

* more work on making it work, + feature flag

* lint

* actions to fix explore state when plugins load

* handle dynamic control panel, functionify ExploreViewContainer

* fix: rearrange migrations branch

* fix: name and key as strings with length 50

* bundle url length 2000

* bundle url to text
for some reason not supported on my sql

* fix: too long varchart

* fix: pre-commit typing

* fix: licenses

* fix: add slice container was not initing feature flags

* fix: undo linting issue

* fix: adjust down revision again

* fix: adjust down revision again

* isort

* pylint

* god damn linters

* remove unnecessary(?) loading message

* only log non-standard errors

* testing

* python is terrible

* see above commit message

* fix imports in DynamicPluginProvider

* fix

* shift migration forward

* lint

* fix form data calculations to handle missing control config

* temp commit - waiting for superset-ui changes and crud fixes

* remove unnecessary todo

* use new superset-ui shared module function

* fetch the plugins instead of hardcoding the test one

* migration sort

* remove duplicated import statement

* format

* try moving the import 🙄

* copy

* fix frontend tests

* safe access

* comment out dead code

* isort

* disable pylint on necessary lines

* use @superset-ui/logging instead of console

* remove temp code

* rearrange some code

* try triggering mouseover in cypress before click

* use loading spinner instead of text

* trying to fix cypress

* attempt cypress fix

* customize permissions

* update package lock

* only admins can write to plugins by default

* better copy

* disable flaky tests

* use makeApi

* flaky tests

* cleanup code

* flaaaakkkyyyyyy

* dry

Co-authored-by: amitNielsen <amit.miran@nielsen.com>
2020-12-19 07:06:11 -08:00
Evan Rusackas
4a471b8c71 feat: Native filters fast-follow (#12138)
* wip: filter create modal

* add a feature flag

* automatic changes to package lock

* wip

* filter sidebar and basic state management

* move create button to the sidebar

* first step for edit filterconfig

* partially fix tests...

* edits to types and comments

* respect feature flag on the filter sidebar

* add filterconfig form

* get input state working

* feat: tree filter scopes UI

* fix: turn on flag

* sticky filter bar

* stop preferring default export

* feat: finish filter scoping

* fix: under toggle

* fix: title

* fix: add licence

* refactor: update TS

* fix: fix on reopen modal + validation

* new filter bar menu

* adding, but commenting out, bulk scoping action

* adding some placeholder buttons and styles therefor

* feat: add filter chart

* add relative path to package.json

* update modal

* a little input styling... just getting warmed up

* Revert "feat: add filter chart"

This reverts commit b1302d35b6.

* Revert "add relative path to package.json"

This reverts commit 26a7b40e18.

* https package lock idk

* feat: add filter chart

* add relative path to package.json

* flexboxes all the way down

* dynamically generate groupby and datasource in select control

* big wip

* fix target column name

* no importing nonexistent things

* styles and name editing

* Add hook for retrieval of all filter states

* start with a new filter when clicking add filter

* handle removed filters gracefully

* fix incorrect default filter configuration

* add fields to useAllFilterState

* add redux for filterconfigs

* add support for native_filters

* remove consoles

* improve filter removal

* unbreak infinite loop

* basic sidebar toggling working!

* collapsing and menu working more smoothly

* linting

* make dataset and column inputs work

* save filter values properly

* add dashboard event for filter updates

* guarded

* apply filters properly

* fix schema

* making New Filter button a link

* gridunits ftw

* centering modal

* tis not a button anymore! nixing type.

* plus and collapse buttons instead of "more" menu

* updating full size filter icons

* adding icons to filter collapsing/expanding

* turning off animation, but leaving class-based animation css

* fix linting error

* fix native filters for legacy charts

* updates test

* no individual apply buttons

* fix bugs with filter config modal

* remove redundant code

* switch to the filter with validation errors on submit

* separate form validation

* switch config button from add to edit

* switch to the filter with validation errors on submit

* separate form validation

* switch config button from add to edit

* update tests

* oops forgot to add the fancy new useChangeEffect hook

* comments and code reorganization

* rename native_filters to extr_form_data and move hook

* disable native filters in viz selector

* add cascading

* implement new extra form data api

* cleanup

* updates tests

* bump npm packages

* fix bad merge on package.json + lock

* lint

* replace in and not in with uppercase

* lint

* lint

* lint

* lint

* bulk test fix

* Sort select input alphabetically

* Change type for sorting elements

* sleeker filter removal UX

* fix rest of unit tests

* make filter operators all uppercase

* Hide Filter bar when there are no filters

* Show edit button for dashboard owners only

* Add visible argument to filters toggle function to avoid future regression

* Improve Toggle filters bar function

* lint

* fix js lint + set createNewOnOpen

* Handle setting extra form data in Filter Bar instead of Filter Control

* Add Handle apply filter function to Apply button

* Allow applying changes instantly

* Fix types

* remove console logs

* fix package

* Add Error Boundary component to Filter bar and Filter Config Modal

* fix jest tests

* update native filters tests to pass

* reset cypress baseUrl

* remove unnecessary field

* Add Parent Filter input field to Config Modal

* Create Cascade Filter & display children filters

* Add Cascade Popover

* Display Filter value both in Filter Bar and in Cascade Popover

* Display the youngest filter value label in the Filter bar

* Add styles to Cascade Popover and filters

* Force to apply changes instantly for parent filters and refactor styles

* Show error for no cyclical hierarchy and refactor

* Add validation for parent filter to be applied instantly

* Add Error Boundary to Filter Config Modal

* cleanup: remove unused state fields

* move unrelated types to an appropriate location

* remove misplaced resource fetch error logic

* fix cascadeParentIds error

* fix cypress password

* initial attempt at fixing scope issue

* fix bad merge

* fix lint

* trying out makeApi for saving filters

* remove unused import

* fix test

* silence bad test

* Improve styling of Filter Config Modal

* Improve styles for whole native filters feature

* Add styles for active filter tab

* Fix text for scoping

* Clean up Filter Bar and Config Modal styles

* Remove fractional gridUnits. Change name for CheckboxFormItem. Add placeholder to Parent Filter select.

* Remove unnecessary button size for Config Modal

* add native-filter feat flag config

* oops fix here

* remove space

* Update superset-frontend/src/common/components/index.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/cypress-base/cypress/integration/dashboard/nativeFilters.test.ts

Co-authored-by: Evan Rusackas <evan@preset.io>

* Add Cache Wrapper helper to avoid datasets requests deduplication

* Add license to new Cache Wrapper helper

* Add Cache Wrapper tests

* Fix expanding Filter Bar

* use styledMount in tests

* comment

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigModal.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigurationLink.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* address PR feedback

* fix package lock

* null guards

* Fix charts resizing

* removing emotion/react and going old school on css animation

* fxing css glitch on scoping disclaimer

* src paths.

* using gridUnits

* nixing unnecessary diamonds

* linting

* fix type errors

* Inverting collapsed icons... closer to data src selector design

* restoring feature flag to proper default setting

* missing condition

* fix tests

* patching test

* just a button

* flaky tests

Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>
Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
Co-authored-by: Simcha Shats <simcha.shats@nielsen.com>
Co-authored-by: amitNielsen <amit.miran@nielsen.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
Co-authored-by: Agata Stawarz-Pastewska <agata.stawarz-pastewska@polidea.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-12-19 01:57:06 -08:00
ʈᵃᵢ
de047c6c31 fix(chart): replace viz_type with viz name from registry for list view (#12144) 2020-12-18 23:22:47 -08:00
Phillip Kelley-Dotson
585c8acd75 fix height (#12145) 2020-12-18 22:33:40 -08:00
David Aaron Suddjian
865beae3d8 feat(dashboard): Dashboard-Native Filters (#11814)
* wip: filter create modal

* add a feature flag

* automatic changes to package lock

* wip

* filter sidebar and basic state management

* move create button to the sidebar

* first step for edit filterconfig

* partially fix tests...

* edits to types and comments

* respect feature flag on the filter sidebar

* add filterconfig form

* get input state working

* feat: tree filter scopes UI

* fix: turn on flag

* sticky filter bar

* stop preferring default export

* feat: finish filter scoping

* fix: under toggle

* fix: title

* fix: add licence

* refactor: update TS

* fix: fix on reopen modal + validation

* new filter bar menu

* adding, but commenting out, bulk scoping action

* adding some placeholder buttons and styles therefor

* feat: add filter chart

* add relative path to package.json

* update modal

* a little input styling... just getting warmed up

* Revert "feat: add filter chart"

This reverts commit b1302d35b6.

* Revert "add relative path to package.json"

This reverts commit 26a7b40e18.

* https package lock idk

* feat: add filter chart

* add relative path to package.json

* flexboxes all the way down

* dynamically generate groupby and datasource in select control

* big wip

* fix target column name

* no importing nonexistent things

* styles and name editing

* Add hook for retrieval of all filter states

* start with a new filter when clicking add filter

* handle removed filters gracefully

* fix incorrect default filter configuration

* add fields to useAllFilterState

* add redux for filterconfigs

* add support for native_filters

* remove consoles

* improve filter removal

* unbreak infinite loop

* basic sidebar toggling working!

* collapsing and menu working more smoothly

* linting

* make dataset and column inputs work

* save filter values properly

* add dashboard event for filter updates

* guarded

* apply filters properly

* fix schema

* making New Filter button a link

* gridunits ftw

* centering modal

* tis not a button anymore! nixing type.

* plus and collapse buttons instead of "more" menu

* updating full size filter icons

* adding icons to filter collapsing/expanding

* turning off animation, but leaving class-based animation css

* fix linting error

* fix native filters for legacy charts

* updates test

* no individual apply buttons

* fix bugs with filter config modal

* remove redundant code

* switch to the filter with validation errors on submit

* separate form validation

* switch config button from add to edit

* update tests

* oops forgot to add the fancy new useChangeEffect hook

* comments and code reorganization

* rename native_filters to extr_form_data and move hook

* disable native filters in viz selector

* add cascading

* implement new extra form data api

* cleanup

* updates tests

* bump npm packages

* fix bad merge on package.json + lock

* lint

* replace in and not in with uppercase

* lint

* lint

* lint

* lint

* bulk test fix

* Sort select input alphabetically

* Change type for sorting elements

* fix rest of unit tests

* make filter operators all uppercase

* Hide Filter bar when there are no filters

* Show edit button for dashboard owners only

* Add visible argument to filters toggle function to avoid future regression

* Improve Toggle filters bar function

* lint

* fix js lint + set createNewOnOpen

* Handle setting extra form data in Filter Bar instead of Filter Control

* Add Handle apply filter function to Apply button

* Allow applying changes instantly

* Fix types

* remove console logs

* Add Error Boundary component to Filter bar and Filter Config Modal

* fix jest tests

* update native filters tests to pass

* reset cypress baseUrl

* remove unnecessary field

* cleanup: remove unused state fields

* move unrelated types to an appropriate location

* remove misplaced resource fetch error logic

* fix cascadeParentIds error

* fix cypress password

* initial attempt at fixing scope issue

* fix bad merge

* fix lint

* trying out makeApi for saving filters

* remove unused import

* fix test

* silence bad test

* add native-filter feat flag config

* oops fix here

* remove space

* Update superset-frontend/src/common/components/index.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/cypress-base/cypress/integration/dashboard/nativeFilters.test.ts

Co-authored-by: Evan Rusackas <evan@preset.io>

* use styledMount in tests

* comment

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigModal.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterConfigurationLink.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* address PR feedback

* fix package lock

* null guards

* Fix charts resizing

* fix cypress tests

* add in nativefilters to form data

* fix lint and test

Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
Co-authored-by: Simcha Shats <simcha.shats@nielsen.com>
Co-authored-by: amitNielsen <amit.miran@nielsen.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Agata Stawarz-Pastewska <agata.stawarz-pastewska@polidea.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-12-18 17:06:37 -08:00
Beto Dealmeida
877b153331 feat: estimate query cost in Postgres (#12130)
* feat: estimate query cost in Postgres

* Add example in config

* Fix lint
2020-12-18 16:08:53 -08:00
Beto Dealmeida
fa27ed1147 feat: display suggestions when query has missing parameters (#12113)
* WIP

* camelCase everything

* Hide 'fix did you mean?'
2020-12-18 16:08:30 -08:00
Beto Dealmeida
81f5631fe5 fix: make example table name safe (#12135) 2020-12-18 15:16:38 -08:00
ʈᵃᵢ
210fd251c5 fix: remove SIP_34_ALERTS_UI from config (#12127) 2020-12-18 14:52:42 -08:00
Evan Rusackas
f653a8de30 fix(explore): overflow issue with metric options (#12129)
* fixing overflow issue

* lint!
2020-12-18 14:14:07 -08:00
Michael S. Molina
a6ac2c1245 Improves chart save and go button (#12125)
Resolves #11748
2020-12-18 13:17:31 -08:00
Geido
f4ce831a10 feat: View all fav charts and dashboards (#12060)
* Add fav filter - tentative

* Closes #11984

* Fix tests

* Delete trailing spaces

* Fix spec btns length

* Fix mock test

* Add urlDisplay option

* Redirect with history

* Catch initial fav filter
2020-12-18 13:16:07 -08:00
Kamil Gabryjelski
2a23744223 feat: Add Saved Metrics tab to metrics popover (#12123)
* Implement saved metrics

* Fix bug in sql editor

* Fix unit tests

* Fix outlines in popovers

* Add types for saved metrics

* Add translations

* Move savedMetricType to a separate file
2020-12-18 11:11:49 -08:00
Jesse Yang
8e625e0a64 fix: properly render booleans in FilterBox and explore page data preview (#12116) 2020-12-18 10:40:56 -08:00
Jesse Yang
d543ca87fb fix: fix the flaky FilterBox test re-introduced by #12114 (#12124) 2020-12-18 10:31:33 -08:00
simchaNielsen
49ec13c68c feat: Support multiple queries per request (#11880)
* refactor: add queriesData fields for multiple queries

* feat: support multi queries request

* lint: fix lint

* lint: fix lint

* lint: fix lint

* fix: fix CR notes

* fix: fix CR notes

* fix: fix CR notes

* fix: fix error case for multi queries

* feat: change queryResponse to queriesResponse

* fix: revert webpack

* test: fix tests

* chore: lint

* chore: adjust asyncEvent to multiple results

* fix: lint

* fix: eslint

* fix: another eslint rule

Co-authored-by: Amit Miran <47772523+amitmiran137@users.noreply.github.com>
Co-authored-by: amitmiran137 <amit.miran@nielsen.com>
2020-12-18 09:15:27 -08:00
Beto Dealmeida
4ae21bf30b fix: remove keys in dashboard export (#12115) 2020-12-18 07:54:11 -08:00
Ville Brofeldt
1a5f61b133 feat(chart-data-api): ignore unknown fields on QueryObject (#12118) 2020-12-18 14:32:55 +02:00
Daniel Vaz Gaspar
6621557af2 fix: security cleanup annotation and refresh permissions (#12119) 2020-12-18 12:06:08 +00:00
Daniel Vaz Gaspar
fa10035dce docs(releasing): update release automation and docs for Apache graduation (#12117) 2020-12-18 12:04:33 +00:00
Phillip Kelley-Dotson
35addee3ae feat(explore-datasource): add new datasource tab to explore view (#12008)
* update to datsource tab

* second update

* style updates

* update style and fix metrics bug

* updates to datsource panel

* backgrounds and borders

* more updates

* shuffling some paddings around

* more updates

* moving some more paddings around!

* Fixing sidebar width

* using Global to adjust body layout

* update test and fix bug

* removing hotkeys

* layout fixes for short content, simplifying some class names

* more styles

* add tooltip to collapse and div clickable

* more updates

* more updates for styles and add list component

* update from comments

* vising cosmetic issue with line-wrapping drop down caret on controls sections

* controls area scrolling properly again.

* change lists to old list and updates from comments

* border radius from theme

* add length field and updates from comments

* more changes from comments

* integrate health with new control

* change callapse back from stylsheet more udpates

* substitution string

* more substitution strings

* fix tests

* datasource alignment

* taking margin off the search input

* update input to flex

* fix lint

* adjusting column/metric label stylng

* fixing scrollable area layout, one more color variable

* simplifying some styles

* nixing a bad left margin

* Using gridunit for padding

* using gridUnit for padding

* define types for datsource panel

* fixing a padding issue

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-12-18 01:49:05 -08:00
Jesse Yang
af130ea5e9 fix: FilterBox select lose focus when focused (#12114) 2020-12-18 00:45:27 -08:00
Moriah Kreeger
1cf4a1b3ea fix: updates to alert/report modal + more tests (#12045)
Co-authored-by: Tai Dupree <tdupreetan@gmail.com>
2020-12-17 23:50:17 -08:00
Moriah Kreeger
17cd174bbf feat(alerts/reports): remove SIP_34_UI feature flag (#12085) 2020-12-17 23:03:03 -08:00
ʈᵃᵢ
ddd2ec59af fix(alerts/reports): modal submit button, copy changes, select apis (#12110) 2020-12-17 23:02:04 -08:00
Beto Dealmeida
6e7f276775 feat: initial custom error messages for SQL Lab (#12080) 2020-12-17 22:58:21 -08:00
Yongjie Zhao
b592cc7e73 feat(explore): time picker enhancement (#11418) 2020-12-17 18:27:21 -08:00
Lily Kuang
92fdf54aa3 feat: update alert/report icons and column order (#12081)
* update alert/report icons and column order

* add alert solid small

* update status icon tooltip placement
2020-12-17 15:27:19 -08:00
Kamil Gabryjelski
b61e243f39 feat(explore): metrics and filters controls redesign (#12095)
* Redesign metrics control

* Redesign filters control

* Bugfixes

* Fix unit tests

* Fix tests

* Code review fixes
2020-12-18 00:13:37 +02:00
ʈᵃᵢ
d1dfe82d6c feat(alerts/reports): add refresh action (#12071) 2020-12-17 11:29:46 -08:00
Elizabeth Thompson
895fa19d8d chore: add latest tag action (#11148)
* add latest tag action

* update documentation with latest tag info

* Python in docs doesn't need v3 reference

* add check that latest tag is truly a later version

* remove rc from acceptable tags

* move tag script to seperate file

* add a check that the tag exists
2020-12-17 20:50:44 +02:00
Daniel Vaz Gaspar
1a20552c2b fix(reports): increase crontab size and alert fixes (#12056)
* fix(reports): increase crontab size

* update to current alembic revision

* Merge branch 'master' into feat/security-converge-datasets

# Conflicts:
#	tests/security_tests.py

* Merge branch 'master' into feat/security-converge-datasets

# Conflicts:
#	tests/security_tests.py

* Merge branch 'master' into feat/security-converge-datasets

# Conflicts:
#	tests/security_tests.py

* lint

* update alembic revision

* fix related fields

* fix test
2020-12-17 18:03:05 +00:00
Alan LaMielle
a3be325b99 Small typo fix in Athena connection docs (#12099) 2020-12-17 09:22:24 -08:00
Daniel Vaz Gaspar
5d9721e6ba feat(queries): security perm simplification (#12072)
* feat(queries): security perm simplification

* fix mig

* update alembic down revision
2020-12-17 14:27:14 +00:00
Daniel Vaz Gaspar
790ac5ef87 feat(databases): security perm simplification (#12036)
* feat(databases): security perm simplification

* fix tests

* fix JS tests
2020-12-17 12:37:05 +00:00
Daniel Vaz Gaspar
dd5cdb1b5f feat(dashboards): security permissions simplification (#12012)
* feat(dashboards): security perm simplification

* fix tests

* fix tests

* remove unnecessary mapping

* fix JS tests

* fix cypress test and explore endpoint

* update alembic down revision

* Merge branch 'master' into feat/security-converge-dashboards

# Conflicts:
#	superset/constants.py
#	tests/security_tests.py
2020-12-17 09:53:13 +00:00
Kasia Kucharczyk
700dee6db6 feat(logs): security permissions simplification (#12061)
* Added migration for logs security converge

* Changed class permission name and method permission in LogModelView and LogRestApi

* Updated recent revision and filename

* Changed name of Log perm in manager. Updated TestRolePermission to have correct menu and permission.

* Updated latest migration revision

* Updated latest migration revision
2020-12-17 00:50:31 -08:00
Victor Malai
51c3b7156c chore: Remove unused CodeModal (#11972)
* Transform code modal to tsx

* Fix

* Fix

* Remove unused modal

Co-authored-by: Victor Malai <victormalai@Victors-MacBook-Pro.local>
2020-12-16 23:44:58 -08:00
Jesse Yang
02c6a0befc Fix typescript error (#12074) 2020-12-16 21:50:56 -08:00
Beto Dealmeida
dd0c53158f fix: handle context-dependent feature flags in CLI (#12088) 2020-12-16 21:34:23 -08:00
Hugh A. Miles II
655834b25c fix: Fix "View in SQLLab" bug (#12086) 2020-12-16 21:59:46 -05:00
Moriah Kreeger
08b3ebea5e feat(alert/report): add 'not null' condition option to modal (#12077) 2020-12-16 17:13:37 -08:00
Evan Rusackas
90ca49f3d6 bumping superset ui to 15.18 and deckgl to 0.3.2 (#12078) 2020-12-16 15:46:37 -08:00
John Bodley
c306368f3c fix: Python dependencies in #11499 (#12079)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-12-17 11:52:21 +13:00
Moriah Kreeger
8d29381446 reset active tab on open (#12048) 2020-12-16 14:38:29 -08:00
Beto Dealmeida
69185eed67 fix: improve import flow UI/UX (#12070)
* fix: improve import flow UI/UX

* Reset modal after import

* Adjust margin before overwrite text
2020-12-16 13:08:39 -08:00
ʈᵃᵢ
e299dbf797 feat(alerts/reports): delete and bulk delete actions (#12053) 2020-12-16 12:57:29 -08:00
Evan Rusackas
9be9034f1a feat: Global nav menus open on hover (#12025)
* hover opens menus

* hover opens menus

* linting, removing some styles I added

* moving useState up (non-conditional)

* just a tweak to prevent a conflict.
2020-12-16 11:55:38 -08:00
Rob DiCiuccio
148a0017b7 Remove e2e pull_request event trigger (#12076) 2020-12-16 11:38:55 -08:00
Rob DiCiuccio
8fe9ee04c8 build(cypress): Use pull_request_target event to run cypress (#11750)
* Use pull_request_target event to run cypress in order to access repo secrets

* Summary job for branch protection requirements

* Restore pull_request trigger

* Use merge base for e2e tests

* Restore push trigger for all branches
2020-12-16 10:45:21 -08:00
Nikola Gigić
48fb8c0b77 fix(dataset): Page blanks on large data load (#11979)
* Implement pagination in <TableView> for Samples preview

* Increase page size

* Fix lint

* Render cells based on width

* Fix lint errors

* Additional tests and changes

* Search bar fix

* Additional fixes

* Suggested changes
2020-12-16 16:35:12 +02:00
Daniel Vaz Gaspar
2302adb61a feat(datasets): security perm simplification (#12000)
* feat(datasets): security perm simplification

* feat(datasets): security perm simplification

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* include SqlMetricInlineView converge and fix JS tests

* update to current alembic revision
2020-12-16 11:49:03 +00:00
Kasia Kucharczyk
9c8b65d03f feat(annotations): security permissions simplification (#12014)
* Changed security permissions for annotations and annotation layers

* Updated permissions in annotation layers list

* Created test for retrieving premissions info. Updated uris from f-strings to strings

* Updated annotations in security_tests and added annotations to NEW_SECURITY_CONVERGE_VIEWS

* Added migration for annotations security converge

* Updated current revision after rebase master

* Updated migration name to annotations security converge

* Updated annotations permissions names in AnnotationLayersList and updated test since 'can_write' has wider permissions

* Updated annotations migration to current
2020-12-16 09:08:06 +00:00
Geido
0ee03ae440 fix: Closes #11864 - Duplicate PropertiesModal (#12038)
* Closes #11864

* Fix typo
2020-12-16 10:01:34 +02:00
Kamil Gabryjelski
794d318989 refactor: Migrate react-select to Antd Select in Metrics and Filters popovers (#12042)
* Migrate react-select to Antd select in Metrics popover

* Fix tests

* Migrate react-select to Antd select in Filters popover

* Migrate SelectControl to Antd Select

* Add label with number of options left
2020-12-15 21:20:10 -08:00
Beto Dealmeida
8bda6b0bd9 feat: show missing parameters in query (#12049)
* feat: show missing parameters in query

* Fix lint

* Address comments

* Simplify error message

* Use f-string in helper function
2020-12-15 18:47:40 -08:00
Grace Guo
8da1900d8a feat: add hook for dataset health check (#11970)
* feat: add hook for dataset health check

* add event log

* optimize datasource json data like certified data

* add unit test

* fix review comments

* extra code review comments
2020-12-15 18:12:06 -08:00
Jesse Yang
76f9f185fb refactor: optimize backend log payload (#11927) 2020-12-15 17:22:23 -08:00
Beto Dealmeida
77cae64ccd feat: Add new default dashboard (#12044)
* feat: Add new default dashboard

* Fix license

* Update data URL
2020-12-15 14:21:51 -08:00
Beto Dealmeida
5e811a14ef feat: load examples from config instead of code (#12026)
* feat: load examples from config instead of code

* Remove database

* Update data URL
2020-12-15 13:44:23 -08:00
Beto Dealmeida
e0079bb5ae fix: small fixes to the new import/export (#12064) 2020-12-15 12:24:24 -08:00
Moriah Kreeger
52e970a520 fix(annotation layers): remove redirect on layer edit (#12063) 2020-12-15 12:21:10 -08:00
Beto Dealmeida
862c251924 feat: handle new export in CLI (#11803)
* feat: handle new export in CLI

* Fix imports

* Fix lint

* Set options based on feature flag

* Fix lint

* Fix lint

* Add better error messages
2020-12-15 11:21:13 -08:00
adam-stasiak-polidea
7dac150dc6 fixed CONTRIBUTING typos (#12057) 2020-12-15 09:07:34 -08:00
Victor Malai
12e086dc61 refactor: Transform URLShortLinkModal to Typescript (#11971)
* Transform jsx modal to tsx modal

* Change required type

Co-authored-by: Victor Malai <victormalai@Victors-MacBook-Pro.local>
2020-12-15 08:12:00 -08:00
Daniel Vaz Gaspar
f79e52f48e feat(charts): security perm simplification (#11981)
* feat(charts): security perm simplification

* fix superset explore

* fix JS test

* fix cypress test

* fix split heads

* fix favorite permission

* fix permission

* update with new async permission

* fix new permission coming from master

* fix core permission assert

* black

* update alembic down revision
2020-12-15 11:27:06 +00:00
Ville Brofeldt
821b01737d fix(viz): remove orderby from sample request (#12055) 2020-12-15 12:54:32 +02:00
Evan Rusackas
2df519eab0 upgrade react-split (#12054) 2020-12-15 00:54:35 -08:00
Daniel Vaz Gaspar
0f979dea06 feat(reports): security perm simplification (#11853)
* feat: security converge report

* black

* fix: comment

* add frontend changes and rebase

* fix multiple heads
2020-12-15 08:48:00 +00:00
Daniel Vaz Gaspar
832267c776 fix(reports): log duration and sort column (#12039) 2020-12-15 08:44:30 +00:00
Daniel Vaz Gaspar
20b1aa7d6c fix(reports): apply owners security validation (#12035)
* fix(reports): apply owners security validation

* fix pylint
2020-12-15 08:43:31 +00:00
Victor Malai
329dcc314e fix: Fix style for error modal (#11996)
* Fix style for error alert

* Revert test code
2020-12-15 00:03:53 -08:00
Evan Rusackas
7a7da27253 chore: bumping plugin packages to latest (#11957)
* chore: bumping plugin packages to latest

* new package-lock.json
2020-12-14 23:19:35 -08:00
ʈᵃᵢ
6fcda5dac1 feat: add cron picker to AlertReportModal (#12032)
* humanize cron display in list view
2020-12-14 22:29:31 -08:00
ʈᵃᵢ
fda3a2fe7c fix: disable browser autocomplete for DeleteModal (#12043) 2020-12-14 14:10:55 -08:00
Hugh A. Miles II
3d56f58ef5 fix: Explore "Change Dataset" UX Enhancements (#12006) 2020-12-14 13:17:20 -05:00
Lily Kuang
d5b16bcd85 fix schema datasource modal (#12018) 2020-12-14 08:44:47 -08:00
adam-stasiak-polidea
6311a9ec8c feat: Added setup for running Cypress tests in docker locally (#11207)
* Working configuration

* Fixes

* Set database volume directory. Added info in CONTRIBUTING how to avoid malformed database in tests.
2020-12-14 08:06:19 -08:00
Geido
1afe91579e refactor: Existing Antd Collapse to enhanced (#12013)
* Move ProgressBar to Antd

* Remove trailing space

* Fix linting issues

* Export enhanced Progress only

* Move existing antd Collapse to enhanced Collapse

* Move enhanced props up to Collapse only

* Add stories for enhanced Collapse

* Add 100% height for overflow

* Improve text light story
2020-12-13 22:57:08 -08:00
Evan Rusackas
fee9bbe57b style: Restoring menu highlights (#12024)
* restoring highlights

* fixing copypasta
2020-12-13 22:48:26 -08:00
Srini Kadamati
3e22668f8d docs: restored page on roles in security, executed other touchups, and… (#11978)
* Restored docs page on roles in security, executed other touchups, and renamed docs readme.txt to readme.md

* missed a url anchor on the security page

* fixed licensing issue and limited char width to 80

* fixed licensing issue and limited char width to 80

* whitespace experiments

* removed 2 periods

* staging whitespace

* addressed Robs feedback

* implemented robs second round of feedback on public_role_like
2020-12-13 14:06:14 -08:00
Victor Malai
022d755640 refactor : Change menu name and reorder items (#11993)
* Change menu name and reorder items

* change type

Co-authored-by: Victor Malai <victormalai@Victors-MacBook-Pro.local>
2020-12-12 21:58:57 -08:00
Victor Malai
90ed3267e4 fix: Change url & add check for active item in menu (#11915)
* Change url & add check for active item in menu

* Refactor to pass lint validation

* Fix lint

* Revert back and remove underline
2020-12-11 20:25:29 -08:00
Beto Dealmeida
45703a1dea feat: update IDs when importing dashboards (#11991)
* feat: update IDs when importing dashboards

* Fix typos
2020-12-11 18:19:36 -08:00
Beto Dealmeida
9277a54a12 feat: add confirmation dialog for imports (#11983)
* feat: add confirmation dialog for imports

* Small fixes

* Clean return
2020-12-11 17:23:43 -08:00
Moriah Kreeger
696308715d feat: alerts/reports add/edit modal (#11770) 2020-12-11 15:50:08 -08:00
Beto Dealmeida
5d8ecc01b7 fix: add default position to dash export (#12007)
* fix: add default position to dash export

* Add constants
2020-12-11 11:55:33 -08:00
Beto Dealmeida
2769de3731 chore: remove generic type (#12003)
* chore: remove generic type

* Make resourceName type stricter

* Fix type

* Fix type

* Fix lint
2020-12-11 10:52:26 -08:00
Daniel Vaz Gaspar
916f7e923a fix(dataset): fetch metadata on dataset creation may raise broad exceptions (#11973)
* fix(dataset): fetch metadata on dataset creation may raise broad driver exceptions
2020-12-11 11:07:43 +00:00
Victor Malai
12d9d1eccb refactor : Transform SaveModal to typescript (#11951)
* Transform SaveModal to typescript

* Revert title

* Resolve code review

* Refactor

* Refactor

* Change

* Call method

* Fix test

* ShouldPersist default false

Co-authored-by: Victor Malai <victormalai@Victors-MacBook-Pro.local>
2020-12-10 23:02:03 -08:00
Rob DiCiuccio
4d329071a1 feat(SIP-39): Async query support for charts (#11499)
* Generate JWT in Flask app

* Refactor chart data API query logic, add JWT validation and async worker

* Add redis stream implementation, refactoring

* Add chart data cache endpoint, refactor QueryContext caching

* Typing, linting, refactoring

* pytest fixes and openapi schema update

* Enforce caching be configured for async query init

* Async query processing for explore_json endpoint

* Add /api/v1/async_event endpoint

* Async frontend for dashboards [WIP]

* Chart async error message support, refactoring

* Abstract asyncEvent middleware

* Async chart loading for Explore

* Pylint fixes

* asyncEvent middleware -> TypeScript, JS linting

* Chart data API: enforce forced_cache, add tests

* Add tests for explore_json endpoints

* Add test for chart data cache enpoint (no login)

* Consolidate set_and_log_cache and add STORE_CACHE_KEYS_IN_METADATA_DB flag

* Add tests for tasks/async_queries and address PR comments

* Bypass non-JSON result formats for async queries

* Add tests for redux middleware

* Remove debug statement

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Skip force_cached if no queryObj

* SunburstViz: don't modify self.form_data

* Fix failing annotation test

* Resolve merge/lint issues

* Reduce polling delay

* Fix new getClientErrorObject reference

* Fix flakey unit tests

* /api/v1/async_event: increment redis stream ID, add tests

* PR feedback: refactoring, configuration

* Fixup: remove debugging

* Fix typescript errors due to redux upgrade

* Update UPDATING.md

* Fix failing py tests

* asyncEvent_spec.js -> asyncEvent_spec.ts

* Refactor flakey Python 3.7 mock assertions

* Fix another shared state issue in Py tests

* Use 'sub' claim in JWT for user_id

* Refactor async middleware config

* Fixup: restore FeatureFlag boolean type

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-12-10 20:21:56 -08:00
Grace Guo
0fdf026cbc feat: add invisible layer on loading chart (#11994) 2020-12-10 16:15:10 -08:00
Lily Kuang
df6efb6aa2 feat: alert/report execution log list view (#11937) 2020-12-10 15:15:13 -08:00
Beto Dealmeida
475f59cb1c feat: confirm overwrite when importing (#11982)
* feat: confirm overwrite when importing

* Skip flaky test
2020-12-10 14:50:10 -08:00
Beto Dealmeida
9e07e10055 chore: move passwords needed message (#12002) 2020-12-10 11:47:54 -08:00
Michael S. Molina
3a6254184a refactor: Removes hard coded colors (#11977)
* Removes hard coded colors

Removes hard coded colors defined in src/components/styles.ts. The colors defined in this file were used only in the Select component so they were migrated to src/components/Select/styles.tsx and ajusted to conform to the theme colors.

* Use theme context for Select styles

* Includes Theme Provider in tests with Select
2020-12-10 11:43:57 -08:00
Beto Dealmeida
9256b6fb3d chore: consolidate common code in importers (#11936)
* chore: consolidate common code in importers

* Small fixes

* Small fixes
2020-12-10 10:11:58 -08:00
Victor Malai
38bb6f3f20 fix : Fix style for header (sqllab) (#11980)
* Fix style for header

* flex

* Refactor

* Remove styled from import

* Change width of container

* Add tooltip and set fixed width of sidebar

* Fix lint

Co-authored-by: Victor Malai <victormalai@Victors-MacBook-Pro.local>
2020-12-09 23:34:43 -08:00
Mayur Newase
8cc566792a fix(explore): changing metric aggregate doesn't update label (#11946)
* fix: [chart]heatmap selecting metrics does not update the query results
fixes issue #11866
title's label is overriding metric label.

* Using custom label to decide label of metrics.

* lint

* Tests fixed

* early metric label check while saving from ui

* early custom label check

* removed extra space

* no state mutations

* simplify

* removed log

* nned to fix linting issue

* Lint fixed
2020-12-10 09:30:57 +02:00
Evan Rusackas
c73904b02e fixing rounded corners (#11990) 2020-12-09 21:07:23 -08:00
Victor Malai
5435064807 refactor : Transform FilterScopeModal to Typescript (#11964)
* Transform from jsx to tsx

* replace any with void

Co-authored-by: Victor Malai <victormalai@Victors-MacBook-Pro.local>
2020-12-09 15:46:06 -08:00
Victor Malai
e62cf0d84d fix : adhoc filter dropdown (#11963)
* Add z-index to popover

* Fix prettier

* Fix closing popover on select from dropdown

* Fix prettier

* Fix visibility change

Co-authored-by: Victor Malai <victormalai@Victors-MacBook-Pro.local>
2020-12-09 15:44:20 -08:00
Kamil Gabryjelski
6fe1f9d78a Debounce TextControl if change runs immediately after input (#11985) 2020-12-09 15:41:44 -08:00
Kamil Gabryjelski
a4b06d23fd Change paddings on ListView and SubMenu (#11975) 2020-12-09 15:08:59 -08:00
Elizabeth Thompson
3c177e550b add user to sql lab state (#11986) 2020-12-09 14:53:15 -08:00
Beto Dealmeida
36976d17f7 fix: make "DELETE" confirmation work in other languages (#11987)
* Confirm delete i18n

* Make DELETE a parameter
2020-12-09 14:40:07 -08:00
Kasia Kucharczyk
4da47f1635 tests: added fixture with energy usage instead of example (#11308)
* Added energy usage fixture. Updated dashboard utils and unicode fixture with new method parameters.

* Add energy fixture to tests/access_tests.py

* Add energy fixture to tests/core_tests.py

* Add energy fixture to tests/dashboard_tests.py

* Add energy fixture to tests/datasets/api_tests.py

* Add energy fixture to tests/db_engine_specs/base_engine_spec_tests.py

* Add energy fixture to tests/import_export_tests.py

* Add energy fixture to tests/model_tests.py

* Add energy fixture to tests/query_context_tests.py

* Add energy fixture to tests/security_tests.py

* Add energy fixture to tests/charts/api_tests.py

* Changed formatting of slices' parameters in energy usage fixture

* Removed loading energy udage data from test conf file

* Add energy fixture to tests/databases/api_tests.py

* Fixes after review: removed isort:skip, load_charts->load_energy_charts, removed unused import.

* Added energy fixture to tests/charts/commands_tests.py and retrieving proper Slice by name

* Fixed charts/api_tests.py to use energy_usage from fixtures

* Fixed datasets/commands_tests.py to retrieve dataset by name and use energy_usage fixture

* Changed energy usage data to generated data and fixed chart tests which was checking energy usage data
2020-12-09 12:02:29 -08:00
David Aaron Suddjian
6270fa2026 refactor: Upgrade Redux (#11967)
* upgrade redux and react-redux, adjust types

* first round of test fixes

* fix rest of unit tests

* lint

Co-authored-by: Phillip Kelley-Dotson <pkelleydotson@yahoo.com>
2020-12-09 11:58:42 -08:00
Jesse Yang
9121482479 refactor: move enums to the beginning of utiuls/core.py (#11883) 2020-12-09 11:04:09 -08:00
Daniel Vaz Gaspar
1e3aaab590 fix(reports): validator_config, report state machine, working_timeout (#11890)
* fix(reports): expect more exceptions and fix validator config

* use a state pattern on command reports

* use a state pattern on command reports continue

* fix multiple heads

* fix unittests

* add more tests

* fix api tests after enum rename

* fix alembic multiple heads

* fix tests

* fix fixture cleanup

* fix mysql tests

* fix initial and not found state

* fix schema, and private public methods, addressing comments

* add new col to the API
2020-12-09 18:19:07 +00:00
Maxime Beauchemin
150c8e36b1 fix: always fetch database list on bootstrap payload (#11934)
There was this weird bug happening only when `SQLLAB_BACKEND_PERSISTENCE
= False` where if no database had been selected, there would be some
issue.

This makes sure that the store is populated consistently with the list
of database connections regardless of `SQLLAB_BACKEND_PERSISTENCE`. It
also uses the DAO to fetch database and will apply the RBAC-related
filters if any, the same way that the API does.
2020-12-09 09:36:18 -08:00
Hugh A. Miles II
cc44a2c01b feat: Sqllab to Explore UX improvements (#11755)
* create boiler modal component

* hello world modal

* setup modal flow

* setup savemodal for components

* flake8

* fix onclick reference

* working create datasource boiler

* saving spot for callback on text input

* working dataset with input box

* working redirect on completion

* get data for owners dropdown

* fix build with pull from master

* fix the filteroption

* 💯

* move state to upper component

* add overwrite state

* hacked overwrite process

* linting

* fix filter

* cleaning up the coe

* Delete preset.code-workspace

* remove unused code

* remove visualize

* update default value

* remove unneeded vars

* checkout package-lock.json

* linting

* get user id

* remove page filter

* setup proper call for updating columns in dataset

* add move to explore flow

* linting

* add param for overriding columns

* linting

* change title

* fix some tings

* cleanup

* linting

* add types in some places

* save toast

* use moment

* add error toast

* create enum for radio states

* initial state for saving query

* add tpying

* addressing concerns

* update propTypes

* add functionality for CTAS explor btn

* handle CTAS state

* fix onclick to reference upper level component

* formatting

* reset state after closing

* add error message when user doesn't pick an already selected dataset

* remove unneeded todo

* remove styling

* move async calls to api directory

* remove console.log

* add user id param

* typing

* littty

* move put to seperate file

* save

* dsf

* fix typing errors

* adding more types

* fix typing erros

* linting

* add basic spec test

* create dataset modal

* add components reference

* Rename SaveDatasetModal_spec.jsx to SaveDatasetModal_spec.tsx

* remove sinon for now

* fix typing errors on modal files

* fix linting

* address comments

* attempt to fix linting

* add props

* fix test

* fix the linting

* yerp

* fix this references

* spaces

* handleOverwriteCancel reference cleanup

* rename bool value for shouldOverwriteDataset

* fix typing for onChange

* you still the best in the world

* fix spec

* align branches

* push

* fix key names

* fix dataset reference

* lowercase

* fix save bug with tiem

* fixed styling

* fix date state after push to explore

* add disabling states

* plz refactor this

* this is working fully now

* do some renaming

* renaming

* remove console.logs

* still refactoring

* remove unneeded code

* remove unneeded variables

* still cleaning

* added interface

* fix typing issues

* cleanup unused code

* fix npm lnit

* fix initial problems

* add props to test

* remove unneeded files

* skip linting

* saving

* this works

* remove old test

* remove old test

* fix linting

* fix broken test

* remove jsx file

* refactoring

* cleanup

* remove comments

* reset user object

* fix functions

* fix this

* reverting CTAS btn flow

* remove onclick

* save frontend work

* allow for database id to be passed as param in body

* use enum

* fix linting

* style alignment

* get rid of .then

* add function to compute default value with tiem

* lit

* remove ts-error

* fix typing
2020-12-08 17:29:41 -08:00
Jesse Yang
8164aeafb1 build: cancel previous github action runs (#11940) 2020-12-08 15:27:08 -08:00
Daniel Vaz Gaspar
7e6f04fce4 fix(alerts, thumbnails): celery tasks using flask-sqlalchemy sessions (#11950)
* fix(alerts, thumbnails): celery tasks using flask-sqlalchemy sessions

* selenium user is case sensitive
2020-12-08 13:03:32 +00:00
Victor Malai
05258ebc6c fix(event-flow-viz): handle null metadata selection (#11885)
* Initialize object with empty array if is multiselect, fix 500 BE error

* modify data coming
2020-12-08 08:53:26 +02:00
Beto Dealmeida
8f1ac7ead1 feat: add modal to import dashboards (#11924) 2020-12-07 21:26:14 -08:00
Beto Dealmeida
33325f9fa6 feat: add modal to import charts (#11956)
* WIP

* Splat props
2020-12-07 18:33:59 -08:00
Beto Dealmeida
fbb458fa8b feat: add modal to import datasets (#11910) 2020-12-07 16:20:25 -08:00
Beto Dealmeida
2b9695c520 feat: add modal to import databases (#11884)
* feat: add modal to import databases

* Fix test

* Improve hook

* Remove log and needless store.

* Change JS functions
2020-12-07 11:22:45 -08:00
Krist Wongsuphasawat
a7bba92469 chore: bump nvd3 plugin version (#11947) 2020-12-07 12:19:03 +07:00
Daniel Vaz Gaspar
14ea444e58 fix(charts): screenshot API declaring an unnecessary rison arg (#11931) 2020-12-05 08:57:44 +00:00
Daniel Vaz Gaspar
f98ae014fa feat(releasing): support changelog csv export (#11893)
* feat(releasing): support changelog csv export

* fix lint and type annotations
2020-12-05 08:55:31 +00:00
Kamil Gabryjelski
41738df77d feat: Results table on Explore view (#11854)
* Upgrade react-split

* Implement split on ExploreChartPanel

* Implement tabs with collapse

* Fix run query button

* Fix copy to clipboard button

* Move table controls to separate file

* Make component more generic to handle samples

* Remove samples from DisplayQueryButton

* Move data tables to separate file

* Make split dynamically controlled

* Fix unit test

* Fix arrow not centered

* fixup! Fix arrow not centered

* Change copy button paddings

* Use translations

* Fix grammar in a comment

* Fix imports

* Use grid units

* Convert new files to typescript

* Fix after rebase

* Remove forceRender

* Fix big_number test

* Delay making request until panel is opened

* White background in south panel

* fixup! White background in south panel

* Lint fix

* Lint fix

* Remove redundant prop types

* Remove console log

* Delay loading samples until user switches tab

* Add debounce to filter input

* Use gridUnit for gutter sizes

* Change types object to Record<string, any>
2020-12-04 19:49:24 -08:00
Beto Dealmeida
66cd565bff feat: add Postgres SQL validator (#11538)
* Add Postgres SQL validator

* Strip line number from message

* Add unit tests

* Run tests only with postgres backend

* Add dep

* Add dep to bashlib
2020-12-04 19:17:23 -08:00
Geido
2c323426d1 refactor: Move Badge to Antdesign (#11899)
* Move Badge to Antdesign

* Export enhanced badge only

* Center number in badge
2020-12-04 17:06:54 -08:00
Victor Malai
64d6fb9f6f refactor: Extract copy functionality to utils (#11928)
* Extract copy functionality to utils

* Refactor

* Revert bind

* WIP

* Absolute path

* Fix lint

* Remove unused resolve
2020-12-04 17:04:41 -08:00
Erik Ritter
fa68288d61 fix: make sure we log the logs (#11939) 2020-12-04 16:50:16 -08:00
Craig Rueda
8adc8b8866 Quick fix for branch names in tags (#11930) 2020-12-04 14:27:25 -08:00
Kasia Kucharczyk
98dc65722c Added check if SQL query is empty and disable shortcut for run query (#11877) 2020-12-04 10:45:43 -08:00
Lily Kuang
60122a2b2d feat: filters for alerts and reports list view (#11900) 2020-12-04 09:58:34 -08:00
Erik Ritter
77d362d306 fix: Remove expensive logs table migration (#11920) 2020-12-04 07:59:28 -08:00
Ville Brofeldt
327a2817d3 feat: add event and interval annotation support to chart data ep (#11665)
* feat: add event and interval annotation support to chart data ep

* add tests + refactor fixtures

* use chart dao
2020-12-04 14:40:31 +02:00
Hugh A. Miles II
41d4fb9cb3 fix: Forgot to remove bad comments from SaveDatasetModal (#11919) 2020-12-03 17:03:40 -08:00
Beto Dealmeida
e0288bf76b chore: add unit tests for the current import functionality (#11786)
* chore: add unit tests for the current import functionality

* Improve comment

* Fix unit test
2020-12-03 14:48:43 -08:00
Geido
5b1939802d refactor: Move ProgressBar to Antd (#11875)
* Move ProgressBar to Antd

* Remove trailing space

* Fix linting issues

* Export enhanced Progress only
2020-12-03 13:28:06 -08:00
Beto Dealmeida
54bf70733f feat: run BQ queries as single statement (#11904)
* feat: run BQ queries as single statement

* Update deps

* Fix lint

* Update superset/sql_lab.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-12-03 13:20:23 -08:00
Elizabeth Thompson
04f993e222 fix: adjust width for non multi select inputs (#11911) 2020-12-03 11:27:17 -08:00
Hugh A. Miles II
9ae2f95b34 feat: Adding SaveDatasetModal component (#11861) 2020-12-03 11:14:44 -08:00
Bogdan
0396c705d4 chore: Support SET & SHOW commands as read only SQL commands (#11868)
* Support SET & SHOW commands as read only SQL commands

* Move is_readonly definition into the engine spec

* Rename & use super()

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-12-03 10:44:11 -08:00
Agata Stawarz
38d21acff6 fix: Check if annotation type is supported by the given chart type (#11876)
* Check if annotation type is supported by this kind of chart

* Check if annotation type exists
2020-12-03 10:23:23 -08:00
Evan Rusackas
53017e5a35 fix: Button storybook component size knob (#11912) 2020-12-03 10:20:24 -08:00
Evan Rusackas
38b720b0a7 style: eslint curly rule (#11913)
* style: eslint curly rule

* curly for ts
2020-12-03 10:20:05 -08:00
ʈᵃᵢ
8c063efa75 fix(query): sorting by user for Query History list view (#11897)
* fix: sorting by user for Query History list view

* fix filter exception
2020-12-03 09:12:58 +00:00
Daniel Vaz Gaspar
71c567bf3a feat(css templates): security perm simplification (#11856)
* feat: security converge css templates

* fix security tests

* fix JS test

* add migration

* black and fix migration
2020-12-03 08:45:32 +00:00
Grace Guo
61064b9634 add fix for extra comments for #11781 (#11902) 2020-12-02 18:13:42 -08:00
Nikola Gigić
721f9119e1 chore: Enable jsx-a11y/anchor-is-valid (#11891)
* Enabling ancor-is-valid

* Remove comments since no longer applies
2020-12-02 10:14:56 -08:00
Hugh A. Miles II
0c10f9ee3f chore: Update sqllab types (#11887) 2020-12-02 10:11:26 -08:00
Will Barrett
1842c56209 Capture error when celery back-end does not support forgetting tasks (#10770) 2020-12-02 09:47:02 -08:00
Erik Ritter
f2d9f00013 feat: allow user to view their profile again (#11816) 2020-12-02 09:14:23 -08:00
Victor Malai
07288789e2 fix: Show copy icon (#11847)
* Show copy icon

* Fix eslint

* Fix copy button on view query modal

* Remove comments
2020-12-01 23:40:02 -08:00
Victor Malai
618a73d56e Align icon (#11848) 2020-12-01 22:44:55 -08:00
Nikola Gigić
9514be5daf style: remove react bootstrap fade component (#11843)
* Replace Bootstrap Fade component with custom Emotion Fade component

* Fix lint errors

* Added test

* Fixing front-end build errors

* Fix lint errors
2020-12-01 22:43:30 -08:00
Lily Kuang
a76eadd838 feat: report/alert list CRUD view (#11802) 2020-12-01 17:57:15 -08:00
Erik Ritter
d041d3a7f1 fix: certification icon order (#11881) 2020-12-01 17:11:09 -08:00
Grace Guo
f292015ccd fix (dataset editor): allow Source tab readOnly mode (#11781)
* fix (dataset editor) add read-only mode for Source tab

* add feature flag, add unit tests

* rebase and fix comment

* add message for padlock

* move padlock to the bottom of tab
2020-12-01 17:10:33 -08:00
Daniel Vaz Gaspar
ac9761c730 fix: dashboard iframe to markdown db migration (#11845)
* fix: dashboard iframe to markdown db migration

* Update superset/migrations/versions/978245563a02_migrate_iframe_to_dash_markdown.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-12-01 20:50:35 +00:00
Jesse Yang
a5af2ade0a test: add React Testing Library (#11771) 2020-12-01 11:14:37 -08:00
Kasia Kucharczyk
3035090915 fix: filters push out apply button on dashboard (#11580)
* Changed height of slices in dashboard into 100%-padding, so there is no scroll appearing anymore

* Added scroll to the block on dashboard, when filters are too high

* Applied lint
2020-12-01 10:43:50 -08:00
ʈᵃᵢ
ffa32cde14 chore: remove SIP_34_QUERY_SEARCH_UI feature flag (#11863) 2020-12-01 09:29:16 -08:00
Agata Stawarz
44e80e0175 chore: Add home link to navbar (#11851)
* Add Home link to Navbar

* Change test text for rendering elements in the main navbar

* Display Home link only when Logo Target Path is set
2020-11-30 23:14:42 -08:00
Elizabeth Thompson
84e0606a90 chore: move fixtures and helpers to root (#11812) 2020-11-30 14:23:56 -08:00
ʈᵃᵢ
011724750f feat: list view filters for Query History (#11702) 2020-11-30 14:21:53 -08:00
Hugh A. Miles II
3cd94d6da9 feat: Create api abstraction layer for dataset network calls (#11855)
* add datasets api file

* Update dataset.ts

* Update dataset.ts

* Update dataset.ts
2020-11-30 13:27:27 -08:00
Hugh A. Miles II
a0b81357cd fix(datasets): renaming openAPI columns (#11858) 2020-11-30 12:01:11 -08:00
Phillip Kelley-Dotson
0e9898cb96 feat(welcome): add SQL snippets to saved queries card (#11678)
* update savedqueries card to new layout

* update card

* update card to latest mock

* update empty state

* remove fallback

* fix query statement

* update card styles

* remove double import

* use fallbackurl prop for emptystate

* update line lenth

* Update superset-frontend/src/views/CRUD/welcome/SavedQueries.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* update styles and svg

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-11-30 11:53:12 -08:00
Kamil Gabryjelski
a4f44255aa Fix chart select borders in BuilderComponentPane (#11766) 2020-11-30 09:51:54 -08:00
Daniel Vaz Gaspar
b1a963b93f fix: security converge downgrade procedure (#11852) 2020-11-30 17:50:12 +00:00
Kasia Kucharczyk
462b39d762 fix: update chart doesn't remove all connections to dashboards (#11830)
* Added possibility to not change dashboards connection when chart is changed

* Added two chart unit tests which checks if dashboards properly change on update
2020-11-30 09:48:14 -08:00
adam-stasiak-polidea
16e69f1131 feat: Option to run npm dev-server (hot reload) while calling docker-compose up (#11238)
* Configured docker to be able running dev-server instead of frontend dev script

* reverted changes

* license fix
2020-11-30 09:35:58 -08:00
Hugh A. Miles II
0689738e7c feat: Sqllab to Explore UX improvements api changes (#11836) 2020-11-30 09:23:11 -08:00
Kamil Gabryjelski
5ebc09b339 fix: Download as image not working on Dashboard view (#11778)
* Fix download as image not working on Dashboard view

* Fix menu not closing before making a screenshot

* Move hardcoded selectors to variables

* Fix linting issue

* Add comments

* Close menu before taking a screenshot on Explore view

* Use style.visibility instead of timeout to hide menu for screenshot

* Change const name to uppercase

* Move variable declarations to case
2020-11-30 09:16:38 -08:00
Daniel Vaz Gaspar
9dd33d5566 feat(saved queries): security perm simplification (#11764)
* feat(saved queries): security perm simplification

* migration script and frontend

* add downgrade procedure

* downgrade procedure, inferred from the upgrade data

* fix JS test

* improve code

* add tests for role migration

* more tests and a short description for each one

* Improve readability

* simplify dataclass creation

* fix dataclass
2020-11-30 13:07:39 +00:00
Erik Ritter
46664452a7 chore: type a couple easy to type files (#11838) 2020-11-29 21:52:41 -08:00
Kamil Gabryjelski
19e5ce0ac7 chore: Move styles of Dashboard and FilterScopeSelector modals to Emotion (#11779)
* Remove unused component

* Move styles from dashboard.less and filter-scope-selector.less to Emotion

* Write padding style short-hand way
2020-11-29 21:20:03 -08:00
Agata Stawarz
e974b0be05 Change subtabs order for Data tab (#11834) 2020-11-29 20:16:47 -08:00
Erik Ritter
671ff6c053 fix: improve Avatar text size consistency (#11837) 2020-11-29 20:08:47 -08:00
Amit Miran
ec01691e22 fix: wrong key used FEATURE_FLAGS[LISTVIEW_DEFAULT_CARD_VIEW] (#11824)
* fix:  FEATURE_FLAGS[LISTVIEW_DEFAULT_CARD_VIEW] wrong keyword used by default

* the opposite change

* chore: rename comment as well

Co-authored-by: Amit Miran <47772523+amitNielsen@users.noreply.github.com>
2020-11-29 19:39:16 -08:00
Agata Stawarz
43c69d52a4 fix: Adding and removing annotations (#11811)
* Fix creating new annotation layer and refactor AnnotationLayer component

* Refactor checking overrides keys in AnnotationLayer

* Fix adding and editing annotations. Refactor AnnotationLayer submit and remove functions

* Remove unused parent prop from AnnotationLayer

* Fix toggling annotation layer popover

* Revert extracting annotation props to nested object

* Clean up AnnotationLayer component

* Remove unnecessary import

* Use original name for identifying annotations in add/remove actions

* Change props order and rename removeAnnotation function

* Compare annotations by reference instead of name
2020-11-28 10:59:16 +02:00
Daniel Vaz Gaspar
f121107bbe ci(docker): build image on release (#11828)
* feat(docker): build image on release

* separate trigger separate handling

* fix triggers

* less states for docker build on PR's
2020-11-27 09:38:38 +00:00
Daniel Vaz Gaspar
35784106dd docs(release): small fixes and deprecate apache docs (#11827)
* docs(release): small fixes and deprecate apache docs

* remove last 0.38 reference
2020-11-26 11:49:59 +00:00
Daniel Vaz Gaspar
1591d75d2f fix(setup): disallow python 3.6 for pip install (#11825)
* fix(setup): disallow python 3.6 for pip install

* remove old py constraint
2020-11-26 11:49:12 +00:00
Daniel Vaz Gaspar
bac84a3aac fix: delete chart, dashboards, dbs with assoc reports (#11801)
* fix: delete chart or dashboards with assoc reports

* database constraint to reports and tests

* add tests for dashboards and database

* fix exceptions default text
2020-11-26 08:45:49 +00:00
John Bodley
13c51d5211 chore: Fix TableModelView super call (#11815) 2020-11-26 11:37:42 +13:00
Lily Kuang
9c69679e14 feat: filter by me on CRUD list view (#11683) 2020-11-25 11:56:48 -08:00
Beto Dealmeida
c354e7e0ab fix: remove root dir from ZIP bundle (#11805)
* fix: remove root dir from ZIP bundle

* Fix lint

* Fix tests

* Improve tests

* Fix dashboard as well
2020-11-25 11:47:48 -08:00
Grace Guo
4cbf482194 fix: add feature flag for domain sharding (#11797)
* fix: add feature flag for domain sharding

* fix review comment

* add comment for speical case
2020-11-25 11:47:18 -08:00
Maxime Beauchemin
0504cf1a00 chore: improve analytics (#11714)
* chore: improve analytics

* lint

* log more events, add note in UPDATING.md

* handling base class

* more events\!

* get ref through

* right before @expose

* fix context

* touchups
2020-11-25 08:45:02 -08:00
Erik Ritter
9215a31fa2 chore: type src/logger (#10815) 2020-11-25 08:21:44 -08:00
Daniel Vaz Gaspar
84c8a627b2 docs: 0.38.0 CHANGELOG and UPDATING (#11809) 2020-11-25 11:36:50 +00:00
auxten
ac0dd3fa32 fix: attachment filename error in sqllab with i18n (#11762)
* Fix attachment filename error in sqllab

* Fix line too long lint

* Fix black lint
2020-11-25 13:05:30 +02:00
Ville Brofeldt
38f67a44ca fix: mutating input df in viz.py (#11795) 2020-11-25 12:55:00 +02:00
Daniel Vaz Gaspar
f27ebc4be5 feat: new reports scheduler (#11711)
* feat(reports): scheduler and delivery system

* working version

* improvements and fix grace_period

* add tests and fix bugs

* fix report API test

* test MySQL test fail

* delete-orphans

* fix MySQL tests

* address comments

* lint
2020-11-25 08:50:30 +00:00
Beto Dealmeida
501b9d47c5 feat: API endpoint to import dashboards (#11751)
* ImportChartsCommand

* feat: add a command to import dashboards

* feat: API endpoint to import dashboards

* Add dispatcher

* Raise specific exception

* Fix test

* Remove print calls

* Add logging when passing
2020-11-24 22:45:35 -08:00
Erik Ritter
e4d02881d2 chore: unbreak frontend ci (#11806) 2020-11-24 21:43:02 -08:00
Kamil Gabryjelski
9b68b65568 refactor: Replace react-bootstrap tooltips with Antd tooltips (#11737)
* Refactor tooltip in ColumnElement

* Refactor tooltip for Button 

* Remove redundant import

* Refactor tooltip in SqlEditor

* Increase line height in tooltip so that the text is centered

* Refactor tooltip in Link

* Refactor tooltip in AdhocMetricEditPopoverTitle

* Refactor tooltip from ControlHeader

* Refactor tooltip in DateFilterControl

* Refactor tooltip in VizTypeControl

* fixup! Refactor tooltip in AdhocMetricEditPopoverTitle

* Refactor tooltip in QueryAndSaveBtns

* fixup! Refactor tooltip in DateFilterControl

* Refactor tooltip in CopyToClipboard, fix cursor pointer

* Refactor tooltip in TooltipWrapper

* Refactor tooltip in Field/DatasourceEditor

* Remove redundant import

* Fix typing for placement prop

* Decrease margin in ColumnElement divider

* Change default export to named

* Move SqlLab Tooltip styles to Emotion

* Fix tests
2020-11-24 13:04:55 -08:00
PM Extra
75086f8979 fix: docker healthcheck (#11798)
* Fix docker healthcheck.

* Update Dockerfile
2020-11-24 12:39:10 -08:00
Erik Ritter
c0224aa928 feat: add certification info to table selector (#11785) 2020-11-24 12:13:52 -08:00
Elizabeth Thompson
302357f3e7 update docs around email reports (#11783) 2020-11-24 11:43:43 -08:00
Erik Ritter
67c44479b5 build: split python CI jobs (#11794)
* build: split python CI jobs

* Rename superset-python.yml to superset-python-misc.yml
2020-11-24 11:40:16 -08:00
Moriah Kreeger
6019113bc6 refactor: use rison for list view filters stateful urls (#11675) 2020-11-24 11:19:48 -08:00
Agata Stawarz
91bcbc8350 refactor: Replace SqlLab components' styles using Emotion & theme variables (#11780)
* Replace inline styles for SqlLab components using Emotion and Theme variables

* Replace styles classnames for SqlLab components using Emotion

* Remove unnecessary styles & round padding value
2020-11-24 10:53:51 -08:00
adam-stasiak-polidea
6cb820583b chore: controls.test supporting v1 charts and added force=true to url when r… (#11754)
* controls.test supporting v1 charts and added force=true to url when refreshin chart with force an option

* Added verification for isCached

* added using global alias prefix

* fixed typescript error
2020-11-24 10:50:33 -08:00
Phillip Kelley-Dotson
d364d0354c add tool tip to cards (#11791) 2020-11-24 10:20:27 -08:00
adam-stasiak-polidea
f49525f03e chore: enabled v1 verification in filter and url_params test files (#11712)
* enabled v1 verification in filter test file

* added v1 support in url_params tests

* review fix
2020-11-24 13:09:57 +02:00
Maxime Beauchemin
872a54d304 fix: annotation layer crashes when clearing type select (#11787) 2020-11-23 21:46:26 -08:00
Beto Dealmeida
25345bea64 feat: add a command to import dashboards (#11749)
* feat: add a command to import dashboards

* Fix lint

* Remove print()
2020-11-23 16:28:26 -08:00
H Shashank Koppar
2566319554 docs: add Xite to users list (#11775)
* Update INTHEWILD.md

* put in alphabetical order
2020-11-23 15:49:40 -08:00
Elizabeth Thompson
fd7e6c77fc fix: style multiselect input (#11732)
* style multiselect input

* add autocomplete and move input styles to styles file
2020-11-23 14:15:11 -08:00
PM Extra
a062cbbf5d Fix docker healthcheck. (#11747) 2020-11-23 13:17:19 -08:00
Erik Ritter
db7386910e chore: fix typo (#11772)
* chore: fix typo

* Update utils.tsx
2020-11-20 19:23:37 -08:00
ʈᵃᵢ
fbe4a6622e feat: SQL preview modal for Query History (#11634) 2020-11-20 16:01:06 -08:00
Beto Dealmeida
a3a2a68f01 feat: API endpoint to import charts (#11744)
* ImportChartsCommand

* feat: API endpoint to import charts

* Add dispatcher

* Fix docstring
2020-11-20 14:40:27 -08:00
Beto Dealmeida
2f4f87795d feat: add a command to import charts (#11743)
* ImportChartsCommand

* Fix type
2020-11-20 14:20:13 -08:00
Craig Rueda
141cb45b5a fix: Fixing issue around requirements-local.txt (#11769)
* Fixing issue around requirements-local.txt

* Fixing license

* Linting
2020-11-20 14:18:17 -08:00
Hugh A. Miles II
1ef3a02e7a feat: Add user info to sqllab via bootstrap data (#11760) 2020-11-19 18:32:51 -08:00
Kamil Gabryjelski
cdd01f4851 fix: Null error when deleting the last owner label in DatasourceEditor/settings (#11752)
* Fix null error when deleting the last owner in SelectAsyncControl

* Replace "||" with "??"
2020-11-19 14:10:34 -08:00
Kamil Gabryjelski
63ef649d1d Make spacings in Settings menu more consistent (#11709) 2020-11-19 13:01:53 -08:00
Evan Rusackas
31eaa0ca20 style: dark filter popover background (#11611)
* style: dark filter popover background

* Story to test and demonstrate the pitfalls of global styles

* nixing the story... not going to be reusing this anyway

* adding a class to isolate dark styles

* now supports all arrow directions

* placing at the bottom rather than bottom right

* adding colors, adjusting spacing

* linting
2020-11-19 10:54:49 -08:00
Amit Miran
c79dc4763b chore: Text change Allow Data Upload (#11736)
* chore: Text change Allow CSV/Excel Upload

today there are 2 ways of uploading data CSV or Excel
config on the database allow_csv_upload applies to both options
so the client facing text should also indicate that

* Allow Data Upload
2020-11-19 12:05:14 +02:00
Craig Rueda
8bdf943687 fix: Adding __init__.py in superset.commands.importers (#11740)
* Adding __init__.py in superset.commands.importers

* Linting

* Linting again...
2020-11-18 13:19:04 -08:00
Ville Brofeldt
7ae8cd07cc fix: do not drop calculated column on metadata sync (#11731) 2020-11-18 08:33:14 -08:00
David Aaron Suddjian
676e0bb282 docs: fix docker config paths (#11703)
* docs: fix config paths for docker

* xit bad cypress tests
2020-11-17 22:00:12 -08:00
Kamil Gabryjelski
1371939921 Fix missing styles in FilterScopeSelector modal (#11726) 2020-11-17 16:48:55 -08:00
Beto Dealmeida
cce716a821 feat: API endpoints to upload dataset/db (#11728)
* feat: API endpoints to upload dataset/db

* Fix method call
2020-11-17 14:49:33 -08:00
Lily Kuang
b3ead231cc chore: remove SIP_34_ANNOTATIONS_UI feature flag (#11727) 2020-11-17 14:11:11 -08:00
Rob DiCiuccio
01d15f5368 feat(templating): Safer Jinja template processing (#11704)
* Enable safer Jinja template processing

* Allow JINJA_CONTEXT_ADDONS with SAFE_JINJA_PROCESSING

* Make template processor initialization less magical, refactor classes

* Consolidat Jinja logic, remove config flag in favor of sane defaults

* Restore previous ENABLE_TEMPLATE_PROCESSING default

* Add recursive type checking, update tests

* remove erroneous config file

* Remove TableColumn models from template context

* pylint refactoring

* Add entry to UPDATING.md

* Resolve botched merge conflict

* Update docs on running single python test

* Refactor template context checking to support engine-specific methods
2020-11-17 11:55:47 -08:00
Evan Rusackas
c241c6f00b fix: prior npm font source had a glitch (#11724) 2020-11-16 21:23:54 -08:00
Kamil Gabryjelski
8a39f2799a Fix "Select all" option in SelectControl (#11692) 2020-11-16 17:23:32 -08:00
Kamil Gabryjelski
274420bc5a Fix ModalTriggers styling in SqlLab (#11719) 2020-11-16 17:13:37 -08:00
Beto Dealmeida
7bc353f8a8 feat: new import commands for dataset and databases (#11670)
* feat: commands for importing databases and datasets

* Refactor code
2020-11-16 17:11:20 -08:00
Evan Rusackas
871a98abe2 refactor: Load fonts from packages rather than local binaries (#11718)
* removing binaries

* adding npm packages

* nixing unused specimen sheet

* deleting specimen sheets

* using imported css sheets from npm

* package lock

* fixing webpack issue with font loading

* raising specificity on ACE editor fonts

* linting 
2020-11-16 17:10:48 -08:00
Kamil Gabryjelski
3e6bcbb98d Remove "required" from SaveModal Add to dashboard field (#11693) 2020-11-16 15:07:24 -08:00
Evan Rusackas
86651cd451 fix: default dashboard/chart cards are vector with perfect corners (#11684)
* fix: default dashboard/chart cards are vector with perfect corners

* fix: adding licenses
2020-11-16 09:26:07 -08:00
Craig Rueda
5700f8d363 Switching Docker compose over to the official image (#11707) 2020-11-16 07:54:44 -08:00
Bogdan
a16a2b87c7 chore: statds metrics for cache invalidation (#11701)
* Add more logging to the cache invalidation

* Address linter & tests

* Fix linter

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-11-16 06:48:26 -08:00
adam-stasiak-polidea
2f036e9359 chore: V1 charts load cypress tests (#11685)
* Enabled assertion on v1 chart request

* added missing code after rebase

* extracted alias logic to function

* modified v1 requests to contain form data, added assertion on ui elements using slice id from request
2020-11-16 09:08:35 +02:00
Rob DiCiuccio
700c7c524e build(cypress): Fix issue with cypress code-coverage plugin when running locally (#11698)
* Update @cypress/code-coverage to latest

* Set nyc reporter to html/text

* Revert dashboard list test changes from #11613

* Update codecov reporting to summary format

* Add json reporter for codecov.io

* Silence inline coverage reports
2020-11-15 13:16:34 -08:00
Grace Guo
7d27996867 chore: remove a few obsolete logic (#11676) 2020-11-13 23:16:05 -08:00
Kamil Gabryjelski
2b107ed33d Fix overflow hidden issues in Dashboard Builder tabs (#11691) 2020-11-13 23:14:02 -08:00
Jesse Yang
4cfcaebb61 feat: rename TABLE_NAMES_CACHE_CONFIG to DATA_CACHE_CONFIG (#11509)
* feat: rename TABLE_NAMES_CACHE_CONFIG to DATA_CACHE_CONFIG

The corresponding cache will now also cache the query results.

* Slice use DATA_CACHE_CONFIG CACHE_DEFAULT_TIMEOUT

* Add test for default cache timeout

* rename FAR_FUTURE to ONE_YEAR_IN_SECS
2020-11-13 22:35:10 -08:00
Craig Rueda
68693c7c0a feat: Helm improvements (#11700)
* Adding docker build/push

* Adding build script

* Trying username

* Updating build script

* Fixing script path?

* Lising envvars

* Pulling HEAD

* Actually pushing

* Fixing build / SHA

* Logout before login

* updating docker login

* Fixing docker login

* Trying stdin pwd

* Adding check for forks

* Fixing tagging

* Fixing refspec

* Updating Dockerfile-dev

* Adding license to script

* Fixing Cypress tests

* Adding Helm hooks and force reload option

* Adding worker pod

* Removing head SHA checkout in docker.yml
2020-11-13 15:17:52 -08:00
ʈᵃᵢ
218f58edb7 fix(saved query): handle null sql field (#11679) 2020-11-13 13:15:24 -10:00
Craig Rueda
95246e8812 feat: Adding docker build/push (#11616)
* Adding docker build/push

* Adding build script

* Trying username

* Updating build script

* Fixing script path?

* Lising envvars

* Pulling HEAD

* Actually pushing

* Fixing build / SHA

* Logout before login

* updating docker login

* Fixing docker login

* Trying stdin pwd

* Adding check for forks

* Fixing tagging

* Fixing refspec

* Updating Dockerfile-dev

* Adding license to script

* Fixing Cypress tests
2020-11-13 11:32:18 -08:00
Jesse Yang
ec8ccd4cf1 feat: keep modal open when saving database failed (#11618) 2020-11-12 16:10:14 -08:00
Kamil Gabryjelski
3ad65bc163 fix: Dropdown menu not closing on Dashboard view (#11671) 2020-11-12 14:48:48 -08:00
Maxime Beauchemin
5cb6c25ca0 docs: add support for Google Analytics on superset.apache.org (#11613)
* docs: add support for Google Analytics

* fix failing cypress test in list_view.test.ts

* xit some tests
2020-11-12 13:57:05 -08:00
ʈᵃᵢ
432e5ab460 feat: Query History CRUD list view (#11574) 2020-11-12 11:55:13 -10:00
Daniel Vaz Gaspar
12cb27f5cb feat: new reports models api (#11606)
* feat: new report schedule models

* lint and unique constraint

* support sqlite

* fix sqlite

* add audit mixin and minor fixes

* feat(api): alerts and reports REST API

* feat: new report schedule models

* lint and unique constraint

* support sqlite

* fix sqlite

* add audit mixin and minor fixes

* feat(api): alerts and reports REST API

* draft working version

* add tests

* test

* black

* remove copy pasta

* solve dashboard object representation being used on cache

* tests and custom filter

* fix PUT has PATCH on active field

* create feature flag

* fix lint

* address comments
2020-11-12 13:21:01 -08:00
ʈᵃᵢ
1dc4c4746e fix(dashboard): ordering for add chart widget (#11672) 2020-11-12 11:10:45 -10:00
Grace Guo
0338b48fdd fix (dashboard): remove default filters parameters in dashboard url (#11661) 2020-11-12 13:00:27 -08:00
Kasia Kucharczyk
4af7264a2c fix: make higher chart box resizable (#11673)
* Added visible resizible icon to all types of blocks in tabs

* Adjusted position of hovered framwes and edited markdown
2020-11-12 11:53:48 -08:00
Elizabeth Thompson
b277f19808 keep placeholder on multiselect (#11289) 2020-11-12 11:36:24 -08:00
Jesse Yang
542d2e3b06 chore: clean up a debug line from #11653 (#11663) 2020-11-12 08:37:49 -08:00
Ville Brofeldt
2718909314 feat: add ECharts BoxPlot chart (#11199)
* feat: add ECharts BoxPlot chart

* lint

* fix cypress tests

* lint

* remove viz.py shim

* bump plugin package

* skip non-legacy plugin cypress dashboard tests

* fix cypress tests

* disable cypress tests for non-leagcy charts

* fix bad rebase

* use midpoint interpolation for quartile calculation

* bump packages and add support for no groupby

* whitespace

* whitespace

* linting

* fix tests

* xit mathjs load test

* bump mathjs to 8.0.1

* disable cypress filter test for v1 charts
2020-11-12 10:01:04 +02:00
Jesse Yang
302c9603c4 fix: database connection validation when creation (#11653) 2020-11-12 08:00:38 +00:00
Beto Dealmeida
45738ffc1d chore: consolidate datasource import logic (#11533)
* Consolidate dash import logic

* WIP

* Add license

* Fix lint

* Retrigger tests

* Fix lint
2020-11-11 22:04:16 -08:00
Kamil Gabryjelski
6ef4d2a991 Restructure chart header to wrap nicely (#11643) 2020-11-11 20:18:04 -08:00
Beto Dealmeida
4a070cfceb chore: consolidate dashboard import logic (#11529)
* Consolidate dash import logic

* Fix lint

* Remove Slice.import_obj

* Remove unused import

* Fix log
2020-11-11 14:50:18 -08:00
Elizabeth Thompson
f3b68cbbbe add import icon (#11652) 2020-11-11 13:48:53 -08:00
Jesse Yang
7cbf21c39f build: set actions/setup-python to v2 (#11644)
This upgrades the `setup-python` action and pins it to the latest v2,
which suppresses the warnings about set-env and add-path:

    Error: The `set-env` command is deprecated and will be disabled on November 16th. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
2020-11-11 13:15:05 -08:00
Jesse Yang
4f21dea55f feat(dev): dont override asset manifest in dev-server (#11648)
Override manifest.json only when `npm run dev`, not `npm run
dev-server`.  This allows developers to compare between the
current version of Superset with what they are working on
without switching back and forth between branches.

All they need to do is to first start the current version with
production build:

```
npm run build
superset run -p 8088
```

Then start the dev server in another window:

```
npm run dev-server
```
2020-11-11 13:14:45 -08:00
Grace Guo
a9f9c4bbd5 [fix] handle null value in date filter (#11655) 2020-11-11 09:32:26 -08:00
Ville Brofeldt
77dff0e4e0 fix(chart-data): ignore orderby on sample result type (#11656) 2020-11-11 16:27:56 +02:00
ʈᵃᵢ
329e72885c fix(saved-query): handle case where sql_tables in undefined (#11649) 2020-11-10 15:26:29 -10:00
Evan Rusackas
73cc938358 style: various little tweaks to home screen stylin' (#11650)
* adding bottom padding

* making light gray backgrounds match

* vertical centering of empty state content.

* linting 

* fixing card radii

* fixing corner radius... thumb was covering corner border.
2020-11-10 17:20:31 -08:00
Jesse Yang
75245177e9 chore: pin node and npm versions (#11646) 2020-11-10 15:58:54 -08:00
Jesse Yang
339d0d73bc feat(sankey-viz): allow sort by metric and bump superset-ui packages (#11626) 2020-11-10 15:58:00 -08:00
Rob DiCiuccio
14aa729e66 build(deps-dev): update cypress to 5.5.0, improvements for running locally (#11603)
* reduce numTestsKeptInMemory to 0 to prevent Chrome OOM crash

* Add cypress-run-chrome script, update docs and cypress_build.sh

* Upgrade Cypress to latest version

* tox: add missing 'cypress' env, cleanup flask server

* Fix failing dashboard edit test syntax

* Reduce retry count to 1

* Prettier test
2020-11-10 15:51:47 -08:00
adam-stasiak-polidea
4eff80c3f3 chore: enabled cypress test in filter file (#11458)
* enabled cypress test in filter file

* added delay to typing

* additional assertion and timeout

* Modified test logic - changed user's action to selection from list instead of typing (unstable with cypress)
2020-11-10 15:18:20 -08:00
Kamil Gabryjelski
98d1c6964c refactor: Remove reactable arc (#11535)
* Refactor DisplayQueryButton into functional component and use react-table

* Refactor EstimateQueryCostButton to functional component

* Use react-table instead of reactable-arc

* Remove reactable-arc dependency

* Add margin for copy button

* Make search case insensitive
2020-11-10 15:13:29 -08:00
adam-stasiak-polidea
777a84cdbf Enabled artifacts for failing tests (#11584) 2020-11-10 12:42:54 -08:00
Beto Dealmeida
cf868891be chore: rename IMPORT_EXPORT_VERSION (#11636) 2020-11-10 09:45:45 -08:00
Evan Rusackas
3b89d2307a fix: card thumbnails now always show border. (#11638)
Co-Authored-By: Evan Rusackas <evan@preset.io>
2020-11-10 08:58:39 -08:00
Yongjie Zhao
cd0198a878 Chore: simplify Apache Kylin datetime convert (#11521) 2020-11-10 18:46:18 +02:00
Beto Dealmeida
51712bf7ce fix: CommandInvalidError had invalid init (#11635) 2020-11-10 07:41:03 -08:00
adam-stasiak-polidea
4d41cf900d Disabled bubble test (#11630) 2020-11-09 18:58:28 -08:00
Grace Guo
966a826720 fix: js unit test when save dash (#11632) 2020-11-09 17:56:30 -08:00
Evan Rusackas
d315dd96f0 style: fixing tall filter indicators (#11631)
Co-Authored-By: Evan Rusackas <evan@preset.io>
2020-11-09 16:17:32 -08:00
David Aaron Suddjian
5be1dbe28b feat(dashboard): leaner filter indicator panel with wrapped text (#11592)
* feat(dashboard): leaner filter indicator panel with wrapped text

* remove summary from filter indicator panel
2020-11-09 14:23:43 -08:00
Kamil Gabryjelski
0c6aeef927 Fix datetime picker issues (#11621) 2020-11-09 14:13:27 -08:00
Grace Guo
b9284d3a3c fix(dashboard): use server-side lastModifiedTime for co-edit check (#11614)
* fix: [dashboard][co-edit] Round client-side lastModifiedTime

* another try: server-side returns last_updated_time in save_dash response
2020-11-09 13:30:40 -08:00
Lily Kuang
dda95ed250 feat: annotation delete modal, bulk delete and empty state (#11540) 2020-11-09 11:25:16 -10:00
Jesse Yang
92a9acd5c9 fix: minor style touch on dashboards (#11570) 2020-11-08 21:26:56 -08:00
Jesse Yang
6ab03feed8 chore: clean up mountedTab (#11569) 2020-11-08 21:09:27 -08:00
adam-stasiak-polidea
24ba5301d1 Fixed unstable test (#11583) 2020-11-08 17:53:43 -08:00
Kasia Kucharczyk
ea0abbffb4 fix: extended droppable area on the top of dashboards (#11525)
* Extended droppable area on the top

* Empty dashboard detects almost whole area to place first element
2020-11-08 17:35:39 -08:00
dependabot[bot]
849e7e9668 build(deps-dev): bump less from 3.9.0 to 3.12.2 in /superset-frontend (#11597)
Bumps [less](https://github.com/less/less.js) from 3.9.0 to 3.12.2.
- [Release notes](https://github.com/less/less.js/releases)
- [Changelog](https://github.com/less/less.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/less/less.js/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-08 10:02:54 -08:00
Evan Rusackas
d86117331d chore: cleaning out old deckgl controls (#11564) 2020-11-06 22:41:08 -08:00
Phillip Kelley-Dotson
d8373f2bb9 chore(home-screen): fixes for loading states, flicker issue, and reduction of api calls (#11557)
* fixes for loading states, flicker issue, api calls

* fix filter bug

* add high res images

* bug fixes for cards and face pile, change imgs to svgs, and address comments

* update from comments

* add stopprop

* fix tests

* add liscenses

* remove unused type

* fix types

* add license

* fix lint
2020-11-06 19:35:13 -08:00
Kamil Gabryjelski
a6bf95e30b fix: Filter and Metric popovers not closing after clicking Save (#11607)
* Fix filter popover not closing

* Fix metric popover not closing

* Add e2e tests
2020-11-06 14:23:12 -08:00
Evan Rusackas
32e52e94e0 style: Wrap chart titles again (#11602)
* style: letting chart titles wrap again

* deleting comment
2020-11-06 11:10:45 -08:00
ʈᵃᵢ
79a6e9b0d2 fix(dashboard): order charts by changed_on (#11594) 2020-11-06 11:02:03 -08:00
Daniel Vaz Gaspar
bd79bd2a54 feat: new report schedule models (#11550)
* feat: new report schedule models

* lint and unique constraint

* support sqlite

* fix sqlite

* add audit mixin and minor fixes

* fix FK's

* address comments

* lint
2020-11-06 09:33:32 +00:00
Kamil Gabryjelski
6d5d92a6fe fix: Issues with filters and metrics popovers (#11578)
* Fix bugs in AdhocFilterEditPopover

* Fix bugs in AdhocMetricEditPopover

* Remove handleMultiComparatorInputHeightChange function

* Fix tests
2020-11-05 20:00:43 -08:00
Kamil Gabryjelski
1490f3074d refactor: Replace react-bootstrap MenuItems with Antd Menu (#11554)
* Refactor SliceHeaderControls

* Refactor DisplayQueryButton

* Fix duplicate keys

* Refactor SliceAdder

* Move css from styles to Emotion

* Fix e2e test
2020-11-05 13:30:03 -08:00
Kasia Kucharczyk
091432ea8e Changed top overflow for charts. (#11579) 2020-11-05 11:35:41 -08:00
dependabot[bot]
094360392b build(deps): bump @emotion/core in /superset-frontend (#11518)
Bumps [@emotion/core](https://github.com/emotion-js/emotion) from 10.0.28 to 10.0.35.
- [Release notes](https://github.com/emotion-js/emotion/releases)
- [Changelog](https://github.com/emotion-js/emotion/blob/master/CHANGELOG.md)
- [Commits](https://github.com/emotion-js/emotion/compare/@emotion/core@10.0.28...@emotion/core@10.0.35)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-05 10:26:15 -08:00
dependabot[bot]
39a4a62940 build(deps-dev): bump @storybook/addon-essentials in /superset-frontend (#11573)
Bumps [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/addons/essentials) from 6.0.13 to 6.0.28.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.0.28/addons/essentials)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-05 10:25:10 -08:00
Ville Brofeldt
600a6fa92a chore(rls): move to feature flag and disable related view (#11575)
* chore(rls): move to feature flag and disable related view

* rename feature flag
2020-11-05 12:19:48 +02:00
dependabot[bot]
52145f8683 build(deps): bump core-js from 3.2.1 to 3.6.5 in /superset-frontend (#11522)
Bumps [core-js](https://github.com/zloirock/core-js) from 3.2.1 to 3.6.5.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/compare/v3.2.1...v3.6.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-04 22:37:53 -08:00
adam-stasiak-polidea
280ba95e46 chore: Cypress dashboard list selectors refactor (#11314)
* cypress selectors refactor in dasboard list tests

* fixed tests

* fixes after rebase
2020-11-04 14:34:21 -08:00
Kamil Gabryjelski
3e35ddd609 refactor: Replace react-bootstrap MenuItems with Antd Menu (#11555)
* Remove MenuItem from SubMenu

* Fix tests

* Refactor PopoverDropdown

* Refactor Button

* Remove redundant Menu import
2020-11-04 14:32:38 -08:00
David Aaron Suddjian
ef7087adb6 fix(dashboard): properly unset mountedTab in reducer (#11558) 2020-11-04 14:27:32 -08:00
Beto Dealmeida
d999802795 Front end for VERSIONED_EXPORT (#11559) 2020-11-04 14:22:12 -08:00
Kamil Gabryjelski
128ddfabb6 fix: Pasting text issues in MetricsControl and AdhocFilterControl inputs (#11445)
* Fix paste not working in Metrics and Filter inputs

* Use noOp instead of empty function

* Use default Select component instead of OnPasteSelect

* Revert onPaste override
2020-11-04 13:48:48 -08:00
Kamil Gabryjelski
ad98981d9d refactor: Replace react-bootstrap MenuItems with Antd Menu (#11487)
* Remove MenuItem from CopyToClipboard

* Refactor DateFilterControl

* fixup! Remove MenuItem from CopyToClipboard

* Remove console log

* Refactor LanguagePicker

* Refactor HeaderActionsDropdown

* Remove dir with Menu component

* Add imports to common/components/index

* Fix after rebase
2020-11-04 13:47:25 -08:00
Moriah Kreeger
69810170f7 style: database modal updates (#11311) 2020-11-04 11:03:39 -08:00
Moriah Kreeger
094359cc5b fix: add sort option to filters, sort chart list filter options (#11370) 2020-11-04 11:02:33 -08:00
Dharamkumar Gajera
ec054e1fac docs: add Avesta to users list (#11551) 2020-11-04 14:34:53 +02:00
Kamil Gabryjelski
937f9ca277 refactor: Replace react-bootstrap dialogs with Antd dialogs (#11527)
* Refactor Dialogs in dashboard properties modal

* Refactor Dialogs in explore properties modal

* Refactor dialogs in DatasourceModal

* Refactor dialogs in ExploreResultsButton

* Remove react-bootstrap-dialog from ExploreCtasResultsButton

* Remove react-bootstrap-dialog dependency

* Remove unnecessary functions from Modal

* Bump antd version to fix a bug

* Fix unit tests

* Fix e2e test

* Change antd version to 4.5.4 to fix tests

* Reenable all tests in control

* Another version bump to fix tests
2020-11-03 22:07:21 -08:00
Beto Dealmeida
1ebeffa104 chore: remove directory importexport (#11531) 2020-11-03 17:10:52 -08:00
Kamil Gabryjelski
15111db6c5 refactor: Use Antd Menu in Menu component (#11528)
* Menu dropdown refactored

* MenuObject refactored

* Fix unit tests

* Style menu

* Use theme variables
2020-11-03 16:19:15 -08:00
Moriah Kreeger
536346ff5e feat: annotation layers delete logic + linking w/ annotation view (#11530) 2020-11-03 13:01:20 -08:00
Lily Kuang
eef4809978 feat: annotation edit modal with antd datepicker (#11500) 2020-11-03 12:59:13 -08:00
Daniel Vaz Gaspar
6f2e36dd1b fix(tests): flaky test with dttm on Query API (#11526)
* fix(tests): flaky test wirh dttm on Query API
2020-11-03 09:01:17 +00:00
Albert Lie Adrian
5e32235041 docs: add Xendit to users list (#11361)
* docs: add Xendit to users list

* docs: add Github alias next to Xendit
2020-11-03 09:25:07 +02:00
ʈᵃᵢ
edb9619731 refactor: reduce number of api calls needed to fetch favorite status for charts and dashboards (#11502) 2020-11-02 21:26:14 -08:00
Beto Dealmeida
fd10c47bc6 chore: remove sanitize (#11532)
* chore: remove sanitize

* Fix lint
2020-11-02 15:13:44 -08:00
Jesse Yang
fac29f9dff refactor: rewrite and enhance chart control withVerification (#11435)
* refactor: rewrite and enhance chart control withVerification

* Add toasts for failed messages; fixes popover render
2020-11-02 15:06:20 -08:00
David Aaron Suddjian
d7aa3d792b fix(dashboard): multiple lines and indentation when editing json (#11501)
* multiple lines and indentation when editing json

* fix tests, address pr feedback

* remove json minification
2020-11-02 13:39:04 -08:00
Kamil Gabryjelski
a874b14a8a refactor: Replace react-bootstrap Tabs with Antd Tabs in DashboardBuilder (#11160)
* Replace tabs in DashboardBuilder

* Fix tests

* Fix styling of anchor

* Fix

* Fix cypress test

* Fix tests

* Fix e2e tests

* Use data-tests

* Move tabs styles from superset.less to Emotion

* Restyle tabs in DashboardBuilder

* Test fix

* Fix styling
2020-11-02 13:31:55 -08:00
Hugh A. Miles II
6c6ded139b fix: Update "View In SQL Lab" Flow to render source query from datasource object (#11476) 2020-11-02 11:44:20 -08:00
Jesse Yang
5d9448f3fe feat: globally disable underscore for links in menu items (#11491) 2020-11-02 00:03:18 -08:00
Kamil Gabryjelski
19f2deb27f refactor: Replace react-bootstrap Modals with Antd in Explore (#11389)
* VizTypeControl

* SaveModal

* explore/PropertiesModal

* Fix e2e tests

* Remove console logs

* Fix tests

* Fix test

* Fix e2e test

* Remove unnecessary fragment

* Fix e2e tests

* Fix e2e test
2020-11-01 23:04:53 -08:00
Maxime Beauchemin
854a4614a8 feat: make logo link point to welcome page (#11519) 2020-11-01 09:22:09 -08:00
Maxime Beauchemin
e3b6dbe62d chore: run 'npm audit fix', bump react-syntax-highlighter (#11512) 2020-10-31 15:21:46 -07:00
Maxime Beauchemin
2d61d684d1 chore: add dependabot.yml config file (#11510) 2020-10-31 15:21:13 -07:00
Maxime Beauchemin
9a1fcc70bc chore: bump pypi cryptography from 2.4.2 to 3.2.1 (#11511) 2020-10-31 13:28:19 -07:00
Daniel Vaz Gaspar
34ae29e59b feat: query REST API more fields and tests (#11482)
* feat: query REST API more fields and tests

* fix missing field
2020-10-31 10:18:34 +00:00
Kamil Gabryjelski
55a3404b71 refactor: Replace react-bootstrap tabs with Antd tabs (#11118)
* Replace tabs in BuilderComponentPane

* Replace tabs in ControlPanelsContainer

* Replace tabs in AdhocMetricEditPopover

* Replace Tabs in DatasourceEditor

* Replace tabs in AdhocFilterEditPopover

* Replace tabs in DateFilterControl

* Bug fix

* Change Tab styles

* Fix tests

* Fix cypress tests

* Lint fix

* Fix tests

* Change Tabs style in ControlPanelsContainer

* Change tabs content height

* Lint fix

* Add data test

* Fix e2e test

* Move Tabs file to separate dir

* Fix after rebase

* Fix e2e tests

* Fix after rebase
2020-10-30 22:05:31 -07:00
Moriah Kreeger
01ddbd0697 feat: annotation layers modal + filters (#11494) 2020-10-30 15:51:46 -07:00
dependabot[bot]
5d9560c408 build(deps-dev): bump node-fetch in /superset-frontend (#11485)
Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/bitinn/node-fetch/releases)
- [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-30 14:19:44 -07:00
dependabot[bot]
9c832440b9 build(deps): bump object-path from 0.11.4 to 0.11.5 in /docs (#11484)
Bumps [object-path](https://github.com/mariocasciaro/object-path) from 0.11.4 to 0.11.5.
- [Release notes](https://github.com/mariocasciaro/object-path/releases)
- [Commits](https://github.com/mariocasciaro/object-path/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-30 14:19:24 -07:00
dependabot[bot]
fe3fdd27e7 build(deps): bump lodash in /superset-frontend/cypress-base (#11483)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.20.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.20)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-30 14:19:09 -07:00
Phillip Kelley-Dotson
cd1d89b2b1 fix: import for moment in ActivityTable (#11506) 2020-10-30 13:20:10 -07:00
Jesse Yang
29554a9f02 fix: show recent visited dashboards and charts in recent_activity (#11481) 2020-10-30 11:59:08 -07:00
Beto Dealmeida
fbcfaacda3 feat: create base class for export commands (#11463)
* Add UUID to saved_query

* Reuse function from previous migration

* Point to new head

* feat: add backend to export saved queries using new format

* Rename ImportMixin to ImportExportMixin

* Create base class for exports

* Add saved queries as well

* Add constant, small fixes

* Fix wrong import

* Fix lint
2020-10-30 11:52:11 -07:00
Erik Ritter
ca40877640 feat: add certifications to tables (#11450) 2020-10-30 11:28:01 -07:00
Beto Dealmeida
f2b8d6aef8 chore: rename ImportMixin to ImportExportMixin (#11460)
* Add UUID to saved_query

* Reuse function from previous migration

* Point to new head

* feat: add backend to export saved queries using new format

* Rename ImportMixin to ImportExportMixin
2020-10-30 09:11:56 -07:00
Beto Dealmeida
21f722c9bc feat: add endpoint to export saved queries using new format (#11447)
* Add UUID to saved_query

* Reuse function from previous migration

* Point to new head

* feat: add backend to export saved queries using new format
2020-10-30 08:32:16 -07:00
Daniel Vaz Gaspar
5674309080 docs: fix db drivers PG and ES (#11504) 2020-10-30 12:53:13 +00:00
Daniel Vaz Gaspar
bf3e41d006 fix(api): don't log db conn failures on db create/update (#11503) 2020-10-30 12:52:52 +00:00
Daniel Vaz Gaspar
66fc267280 docs(release): script to generate a CHANGELOG.md (#11469)
* docs(release): script to generate a CHANGELOG.md

* remove preset cache

* black

* lint typing

* Update RELEASING/changelog.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Update RELEASING/changelog.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* address comments

* remove duplicated import and EOL print

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-10-30 07:50:54 +00:00
Phillip Kelley-Dotson
f7051eaade feat: home screen mvp (#11206)
* step 1: broken stuff!

* first steps

* more adding and slicing

* step 1: broken stuff!

* can now filter dashboards/charts for "Edited" tabs (filter by changed_by o_m)

* more updates

* update recent card

* add icon

* Adding Expand Icon to Collapse component

* more updates

* clean up code

* remove lock file

* remove consoles

* fixing subnav button height shift

* lil' ascii arrows

* update branch

* update test part 1

* remove consoles

* fix typescript

* add images and update emptystate

* add changes

* update chart card

* fix css issues from rebase

* add suggestions

* more changes

* update tests and clear typescript errors

* Update superset-frontend/src/views/CRUD/welcome/ActivityTable.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* update from comments

* more updates..

* fix rebase

* fix pesky type errors

* test fixes

* lint fix

* Update superset-frontend/spec/javascripts/views/CRUD/welcome/Welcome_spec.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/views/CRUD/welcome/EmptyState.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/components/Menu/SubMenu.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/components/ListViewCard/index.tsx

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* Update superset-frontend/src/components/ListViewCard/index.tsx

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* add suggestions

* fix lint

* remove unused code

* toast getrecentActivityobjs

* add some suggestions

* remove types for now

* cypress fix

* remove unused type

Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>
2020-10-29 21:59:31 -07:00
John Bodley
a8eb3fe8e7 chore: Cleaning up ENABLE_REACT_CRUD_VIEWS config (#11496)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-10-29 16:47:11 -07:00
Jesse Yang
93693690a3 feat: disable save button when saving datasource (#11493) 2020-10-29 16:13:47 -07:00
David Aaron Suddjian
074f8c2e8c other: Improvements to bug report template (#11307)
* Update bug_report.md

* more detail!

* Update bug_report.md
2020-10-29 15:44:03 -07:00
Grace Guo
b1263ad568 Revert "fix: change chart title by clicking (#11335)" (#11497)
This reverts commit 1f04db79f7.
2020-10-29 15:13:29 -07:00
Beto Dealmeida
1d9d905497 fix: prevent race condition when canceling query (#11449) 2020-10-29 14:34:58 -07:00
ʈᵃᵢ
f918ca14aa fix(datasets): add custom filter for virtual datasets based on sql attribute (#11452) 2020-10-29 13:11:33 -07:00
Kasia Kucharczyk
ed3dca420f Added z index to resizible char (#11456) 2020-10-29 10:39:35 -07:00
Jesse Yang
e0503408de feat(explore): change save button text when users cannot override (#11281) 2020-10-29 09:41:29 -07:00
Evan Rusackas
68d493ebf5 fix: dashboard tab only shows move cursor when editing (#11480) 2020-10-29 00:35:32 -07:00
Tony Klin
62629eceab Add IBM Cloud deployment guide (#11473) 2020-10-28 22:01:39 -07:00
Evan Rusackas
e024267447 fix: Unwinds icon fallout that came along with filters PR (#11474)
* Unwinds icon revamp that came along with filters PR.

* cleanup/linting

* removing unused import
2020-10-28 19:44:39 -07:00
David Aaron Suddjian
18658f45be feat(dashboards): Filter status indicators (#10936)
* Initial commit of new filters badge.

* refactor applied/rejected filters code

* finished filter indicators

* filter badge tested

* unnecessary imports

* formatting and types

* fixes

* license

* code quality tweaks

* state management for showing focused filter scope

* clean up filter key extraction code

* remove unnecessary styles

* temp css to demonstrate highlighting

* fix focused filter logic

* no more color badges

* new toys for highlighting dash components (#11144)

* tweak style for the filter chart when filter is focused

* style: Filters p0 css2 (#11151)

* nixing background tweak

* src paths

* another quick theme color

* src paths, adjusting pill icon color, changing icons, showing applied/busted counts

* linting stuff

* fixing and tweaking tests

* show filter indicator when filters are not active

* chart title bar cleanup

* open the right panel when popover opens

* unused import

* fix EditableTitle tests

* margin on dashboard header

* show the chart dropdown menu

* fix blur filter breaking dropdowns

* style tweak - no pointer events when irrelevant charts are blurred

* fix box shadow on filter highlight

* it's an array

* attempt fixing e2e

* style: filters p0 icon churn (#11215)

* new filters icon

* icon styling

* bigger icons in list views

* better sizing of table actions and favStars

* more icon sizing...

* fixing more button size jankiness

* linting

* Filters performance (#11255)

* fixing time filter "ok" button

* making unset filter menu collapsible

* sort alphabetically

* fix highlighting when removing items

* try a flex layout (for browser render perf)

* more specific transitioning

* temp: comment out some code as a test

* temp: comment out more code

* temp: remove possibly expensive computations from ChartHolder

* Revert "temp: comment out some code as a test"

This reverts commit 309b880e90.

* Revert "temp: comment out more code"

This reverts commit 64c88b2cba.

* Revert "temp: remove possibly expensive computations from ChartHolder"

This reverts commit 37ce0214f0.

* experiment: upgrade react-select to v3

* Revert "experiment: upgrade react-select to v3"

This reverts commit c3972ba486.

* fix the damn problem

* remove code used for testing purposes

* awful hack to avoid adding a class to a container

* approaching infinity... and not beyond!

* fix ref forwarding

* add theme to tests as necessary

* fix(extra-filters): add logic for identifying applied extra filters (#11325)

* fix: use dashboard id for stable cache key (#11293)

* fix: button translations missing (#11187)

* button translations missing

* blank space before text

* feat: update time_compare description and choices (#11294)

* feat: update time_compare description and choices

* Update sections.jsx

* fix(extra-filters): add logic for identifying applied extra filters

* lint

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
Co-authored-by: rubenSastre <ruben.sastre@decathlon.com>
Co-authored-by: Erik Ritter <erik.ritter@airbnb.com>

* address design feedback

* slight tweak to panel logic, keep panels open that user has opened

* rearrange code to be more graceful

* fix: bump superset-ui/core (#11385)

* use is_dttm instead of is_temporal

* types, names

* only show unset filter panel if there are unset filters

* fix highlighting the filter control

* fix filterbox layout

* translations

* fix cypress

* actually add the test attribute

* Update superset-frontend/src/dashboard/components/DashboardBuilder.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/DashboardBuilder.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* formatting

* add link comment to hack

* Update superset-frontend/src/dashboard/components/gridComponents/ChartHolder.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* stop importing lodash

* Update superset-frontend/src/dashboard/components/gridComponents/ChartHolder.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* skip broken test

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/dashboard/components/FiltersBadge/Styles.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* adjust colors of titles

* linting

* no indicators when chart is loading

* support all time fields

* fix lock file

Co-authored-by: Natalie Ruhe <natalie@preset.io>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
Co-authored-by: rubenSastre <ruben.sastre@decathlon.com>
Co-authored-by: Erik Ritter <erik.ritter@airbnb.com>
Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
2020-10-28 15:46:24 -07:00
Moriah Kreeger
e9dba18466 feat: annotation layers CRUD list view (#11432) 2020-10-28 15:45:07 -07:00
Kamil Gabryjelski
52294c836a refactor: Replace react-bootstrap Modals with Antd in Datasource (#11390)
* ChangeDatasourceModal

* DatasourceModal

* DeleteModal, AddDatasetModal

* Fix tests

* Remove unused file

* Fix e2e tests

* Fix test

* Remove it.only

* Fix after rebase

* Fix e2e tests

* Fix data-test in modal

* Lint fix
2020-10-28 14:42:13 -07:00
Ville Brofeldt
e230865216 chore(chart-data): add annotations and url params to chart data schema (#11393)
* chore(chart-data): add annotations to chart data schema

* bump superset-ui packages

* xit flaky cypress tests
2020-10-28 23:41:39 +02:00
Lily Kuang
e5e35634de feat: annotations list CRUD view (#11446)
* annotations list CRUD view

* comment out modal

* update test

* fix lint
2020-10-28 12:19:50 -07:00
Kasia Kucharczyk
d4d547c30a Disabled chaning caret (#11459) 2020-10-28 11:22:26 -07:00
Daniel Vaz Gaspar
81a0526072 docs: improve docs and update apache release scripts (#11457) 2020-10-28 18:17:33 +00:00
adam-stasiak-polidea
894b94a345 enabled skipped tests in AdhocMetrics Cypress (#11455) 2020-10-28 10:06:16 -07:00
Kamil Gabryjelski
b2636f01bb fix: Explore popovers issues (#11428)
* Fix spaces and comas not working in filter popover

* Fix popup not opening automatically

* Add e2e test

* Remove only from test

* Remove redundant test, add checking label content

* Add comments to e2e test

* Fix unit test

* Use destructuring

* Always open popup for functions and saved metrics, too

* Fix popover for adhoc metrics too

* Small refactor to consistency

* Refactor for consistency

* Remove redundant functions

* Test fix

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
2020-10-28 09:38:52 -07:00
Bogdan
88e5e9855d fix: add init.py to the annotations module (#11437)
* Add init.py to the annotations module

* Update superset/annotation_layers/annotations/api.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Pylint

* License

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-10-28 07:36:28 -07:00
Evan Rusackas
eecabf9b2e fix: a space adds the space. (#11401)
* fix: a space adds the space.

* linting. Ugh.
2020-10-27 23:47:42 -07:00
Evan Rusackas
68411677e9 fix: Fixing broken Cypress test (#11453)
* fixing bad data-test selector

* linting

* typo... because I got all excited.
2020-10-27 22:51:38 -07:00
Kamil Gabryjelski
155b5edec1 refactor: Use Antd Modals instead of react-bootstrap Modals (#11366)
* Make Modal responsive

* ErrorAlert

* OmniContainer

* dashboard/PropertiesModal

* Fix e2e tests

* Lint fix

* E2E test fix

* Fix test

* Use grid units

* Change padding to padding-left/right
2020-10-27 13:08:04 -07:00
adam-stasiak-polidea
a99d795eaf chore: cypress selectors refactor in explore module (#11309)
* cypress selectors refactor in explore module

* added delay to typing to make test more stable

* fixed missing click
2020-10-27 13:01:45 -07:00
adam-stasiak-polidea
4bebf51453 chore: Cypress chart selectors refactor (#11312)
* cypress selectors refactor in chart list tests

* fixed wrong selector
2020-10-27 11:38:05 -07:00
Grace Guo
014fe9fd8c fix: [email report] add multiple schedules per hour (#11414) 2020-10-27 09:37:42 -07:00
Beto Dealmeida
98daf0a435 feat: add UUID column to saved_query for export/import (#11397)
* Add UUID to saved_query

* Reuse function from previous migration

* Point to new head
2020-10-27 08:49:09 -07:00
David Aaron Suddjian
055781f4a9 fix filter highlighting (#11439) 2020-10-27 08:38:24 -07:00
Daniel Vaz Gaspar
427058b4dc fix: bump FAB to 3.1.1 (#11444) 2020-10-27 14:54:29 +00:00
Kasia Kucharczyk
b49fd65cf7 fix: added meaningful exception for loading births error (#11407)
* Added exception for loading data without previous loaded test users.

* Changed general exception to NoDataException

* Changed import to absolute path
2020-10-27 06:28:52 -07:00
John Bodley
8ee6493233 chore: Update testconn logic (#11315)
* chore: Update testconn logic

* [databases] Address @dpgaspar's comments

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-10-27 09:15:05 +00:00
Ville Brofeldt
ecdff724ea feat: enable metadata sync for virtual tables (#10645)
* feat: enable metadata sync for virtual tables

* add migration and check for empty schema name

* simplify request

* truncate trailing column attributes for MySQL

* add unit test

* use db_engine_spec func to truncate collation and charset

* Remove redundant migration

* add more tests

* address review comments and apply templating to query

* add todo for refactoring

* remove schema from tests

* check column datatype
2020-10-27 07:58:38 +02:00
Ville Brofeldt
8575439f48 fix: is_temporal should be overridden by is_dttm value (#11429) 2020-10-27 07:22:27 +02:00
Kasia Kucharczyk
94e0f0cc2a Moved css of inline inputs of DateFilterControl to css of FilterBox where it appears. (#11427) 2020-10-26 21:50:27 -07:00
Maxime Beauchemin
5b968e9651 fix: multiple issues with FilterPopover (#11412)
* fix: Custom SQL in FilterPopover

* Also fix #11394

* linting

* fix tests
2020-10-26 21:48:06 -07:00
adam-stasiak-polidea
df15a6fc51 Configured babel plugin for removing data-test from production code (#11327) 2020-10-26 21:16:02 -07:00
Hugh A. Miles II
fd8f4e9215 feat(explore): update the order of datasource dropdown menu (#11424) 2020-10-26 20:44:44 -07:00
Hugh A. Miles II
81f77fd28e feat: hide datasource legacy based on featureflag (#11371) 2020-10-26 17:31:29 -07:00
ʈᵃᵢ
2227b13b52 fix: better error messages for dashboard properties modal (#11382) 2020-10-26 16:36:37 -07:00
ʈᵃᵢ
59885c4dea fix: saved query list sort by database (#11430) 2020-10-26 16:36:03 -07:00
ʈᵃᵢ
8a2ca84775 build: disable pr reviews for pr-lint action (#11433) 2020-10-26 16:32:54 -07:00
ʈᵃᵢ
910791b00b fix: better error message for chart properties modal (#11381) 2020-10-26 13:33:19 -07:00
Evan Rusackas
af337b9e5a Let the header wrap! (#10724) 2020-10-26 13:15:16 -07:00
Kamil Gabryjelski
894ca3c09b refactor: Use Modals from Antd instead of react-bootstrap (#11330)
* Refactor ModalTrigger to use antd modal

* Refactor a few components

* dynamic width

* Fix unit tests

* Use i18n for button text
2020-10-26 11:20:10 -07:00
Daniel Vaz Gaspar
144b279aa2 feat: saved queries with execution info (#11391)
* feat: add rows and last_run info to saved queries

* feat: add rows to saved query

* refactor and tests

* lint

* fix tests
2020-10-26 11:20:07 -07:00
Kasia Kucharczyk
604a519d8b fix: keeping Markdown content while resizing window on Dashboard (#11392)
* Fix: keeping markup content while resizing it

* Added bind and fixed linter

* Added resize case in Markdown editor to cypress test
2020-10-26 11:12:49 -07:00
Kasia Kucharczyk
ba314c0f6f Moved frame from below to currently focused window (#11423)
Thanks for the fix!
2020-10-26 11:11:51 -07:00
Kamil Gabryjelski
6acae9ab6d refactor: Replace usages of reactable in TimeTable (#11239)
* Refactor TimeTable to use react-table

* Fix import

* Refactor TimeTable into functional component
2020-10-26 10:25:41 -07:00
Maxime Beauchemin
10a54b52ac fix(examples): specify 'time_range_endpoints' to prevent toast warning (#11417) 2020-10-26 08:42:57 -07:00
Naren
2e6afdf7e7 docs: Update Dremio doc with Arrow Flight connection details (#11422)
* update dremio doc w arrow flight connection

* Add connection string via Arrow Flight
* Modify the connector link

* Update dremio.mdx
2020-10-26 17:01:16 +02:00
Jesse Yang
ac498ddd23 chore: upgrade TypeScript (3.8.3 -> 4.0.3) (#11421)
* chore: upgrade TypeScript (3.8.3 -> 4.0.3)

* Refactor the button component
2020-10-25 22:01:41 -07:00
Maxime Beauchemin
0ab15373fa style: fix labels vertical align (#11415)
* style: fix labels vertical align

* addressed comments

* just adding the space for now

* fix timer
2020-10-25 17:55:22 -07:00
Jesse Yang
70ea7ae776 fix: error handling for webpack proxy (#11420) 2020-10-25 17:14:56 -07:00
Jesse Yang
8aecffd83b refactor: typing for explore Control and messageToasts (#11416) 2020-10-24 21:40:36 -07:00
ʈᵃᵢ
d02a61f21c feat(dashboard): fetch charts by owners instead of created_by (#11336) 2020-10-24 14:43:20 -07:00
adam-stasiak-polidea
f2c89af83f chore: Fixed skipped cypress test - refresh dashboard function (#11375)
* Fixed skipped cypress dashboard/controls.test.js and fixed MenuItem setting state to 'loading' while refreshing

* fixed wrong cypress command in test
2020-10-24 11:29:30 -07:00
Evan Rusackas
efdda8b69e chore: Button cruft cleanup (#11342)
* toggleSchedule

* cleaning up run query button

* removing unnecessary (subtle!) style overrides

* bulk action classname to button style prop

* nixing btn-primary

* nixing cancelQuery class

* togglesave

* nixing autocomplete class

* linting

* nixing button classes of 'ok' and 'reset'

* unoing diagnostic test

* begrudgingly adding an m-r-3 class... for now

* this is not a class to worry about

* test fixes for limit control

* updating TODO notes, calling it a day for now.

* gah... copy paste error.
2020-10-23 10:42:29 -07:00
Kamil Gabryjelski
ad88a06d61 refactor: Use Antd Dropdown instead of react-bootstrap in DatasourceControl (#11395)
* Create Tooltip component

* Refactor DatasourceControl

* Bug fix

* Lint fix

* E2E test fix

* Move menu item keys to constants

* Remove LESS file

* Test fix

* Test fix

* Lint fix
2020-10-23 09:08:35 -07:00
Daniel Vaz Gaspar
6f69212f28 feat: annotations REST API (#11344)
* feat(api): annotations and layers CRUD REST API

* lint

* annotations API and tests

* fix openapi spec

* fix openapi spec

* fix openapi spec

* annotations bulk delete

* fix openapi spec

* fix older tests

* fix older tests

* small lint fixes

* layer_id to pk to keep broad coherence on openapi spec

* fix openapi spec

* one more test and validation

* fix test name

* fix test

* fix bulk delete

* add name validation

* annotation uniqueness validation

* lint

* add sorting reqs and tests

* add statsd metrics

* Update superset/annotation_layers/annotations/dao.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Update tests/core_tests.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* address comments

* address my comment :)

* fix, address comments

* lint

Co-authored-by: riahk <moar.riah@gmail.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-10-23 09:41:17 +01:00
Lily Kuang
93d9bd9a04 fix dataset editor for saving schema (#11396) 2020-10-22 21:59:04 -07:00
Beto Dealmeida
c81204aeef feat: export dashboards as ZIP files (#11351)
* Export datasets as ZIP files

* Add logging when failing to parse extra

* Export datasets as ZIP files

* Export charts as Zip file

* Export dashboards as a Zip file

* Add logging
2020-10-22 20:02:40 -07:00
Evan Rusackas
d64260fc0e fix: long labels now truncate with ellipsis (#11400) 2020-10-22 18:35:37 -07:00
Rob DiCiuccio
2f0c1a8402 docs: Add semantic prefix info for PR titles (#11398) 2020-10-22 18:34:41 -07:00
Lily Kuang
1f04db79f7 fix: change chart title by clicking (#11335) 2020-10-22 18:33:13 -07:00
ʈᵃᵢ
3a2ae6454a build: bump pr-lint-action (#11403) 2020-10-22 18:00:11 -07:00
Pavel T
6f85d8d85c docs: fix typo (#11129) 2020-10-22 16:18:44 -07:00
Elizabeth Thompson
43b92b220f fix: dashboard edit/save errors (#10834)
* use conditional operator for lookup

* editing dashboard title should update after save

* uncomment test

* fix json metadata save

* json metadata color scheme should overwrite state

* test's functionality is no longer applicable

* add lastModifiedTime to DashboardInfo
2020-10-22 14:33:22 -07:00
Kamil Gabryjelski
30c71fd794 refactor: Replace react-bootstrap tabs with Antd tabs on Profile (#11211)
* Create styled Antd Tabs and Dropdown

* Replace Tabs in Profile view

* Change some hard coded variables to theme

* Lint fix
2020-10-22 14:19:37 -07:00
Kamil Gabryjelski
dc5e5a978b refactor: Replace usages of reactable in TableLoader (#11240)
* Refactor TableLoader to use react-bootstrap

* Remove unnecessary css classes

* Fix import

* Fix styling for no data

* Refactor TableLoader into functional component

* Convert TableLoader to typescript
2020-10-22 14:00:02 -07:00
Jesse Yang
04ee4a2d08 build: let webpack proxy server handle more content encoding (#11376) 2020-10-22 13:25:17 -07:00
Jesse Yang
b89a5d6660 fix: dashboard cache invalid join query (#11369)
* bugfix: dashboard cache invalid join query

* Use engine instead of session
2020-10-22 12:47:59 -07:00
Beto Dealmeida
633355ab00 feat: export charts as ZIP files (#11349)
* Export datasets as ZIP files

* Add logging when failing to parse extra

* Export charts as Zip file

* Fix lint
2020-10-22 12:06:58 -07:00
Beto Dealmeida
00e394451f feat: export datasets as ZIP files (#11332)
* Export datasets as ZIP files

* Add logging when failing to parse extra

* Fix logging
2020-10-22 10:32:08 -07:00
Maxime Beauchemin
64b5aae6bc style: improve the "Create New Chart" screen's usability (#11383)
* style: make disabled buttons more readable

* making more of a CTA for VizControl
2020-10-22 10:16:58 -07:00
Ibrahim Ercan
5a3d23dc01 docs: add VLMedia to users list (#11386)
* Update INTHEWILD.md

VLMedia added to user list

* Update INTHEWILD.md

github alias added
2020-10-22 07:26:04 -07:00
Daniel Vaz Gaspar
b86f779dc1 feat: add statsd metrics to FAB rest API post, put and delete (#11362) 2020-10-22 08:56:26 +01:00
Daniel Vaz Gaspar
85e28dd04c perf(api): improve API info performance (#11346) 2020-10-22 08:55:13 +01:00
Evan Rusackas
6c5da18926 removing outlines on a few key elements (#11372) 2020-10-21 22:02:54 -07:00
Philip Q Nguyen
a366a340df docs: Fix typo in installing from scratch (#11026)
Change insode to inside.
2020-10-21 21:49:45 -07:00
Ville Brofeldt
dcf12762b3 chore(prophet): ignore logged warning for missing plotly package (#11334)
* chore(prophet): ignore logged warning for missing plotly package

* reset log level after import
2020-10-22 07:27:02 +03:00
Moriah Kreeger
a2a614d760 feat: CSS Templates List Actions (#11271) 2020-10-21 20:32:59 -07:00
Kamil Gabryjelski
9dfe9aef39 Fix overflowing tabs (#11367) 2020-10-21 20:10:52 -07:00
Rob DiCiuccio
c4effe1261 Log warning for failure to get table/view names from DB (#11374) 2020-10-21 20:09:24 -07:00
Maxime Beauchemin
69046f08d4 style(sqllab): wrap text in monospace db-provided error messages (#11354) 2020-10-21 17:35:20 -07:00
Maxime Beauchemin
f6436b7652 fix: 'Save Chart' modal's dashboard dropdown isn't sticky (#11338)
It appears that the logic that makes the dashboard selection sticky
in the 'Save Chart' modal (explore) was broken at some time.

While working on a dashboard, it's nice if this modal can remember the
dashboard selection.
2020-10-21 17:30:19 -07:00
Maxime Beauchemin
6dd5d5cf26 style: make <Label/> not uppercase (#11355) 2020-10-21 17:29:28 -07:00
Evan Rusackas
6fe7b4a202 feat: adding feature flags to escape/hide html in markdown (#11340)
* utilizing feature flag for html escapement

* use src alias

* Feature flag to allow hiding of HTML tags

* strips js attr

* better feature flag naming

* simplifying

* Adding comments to new feature flags

* shorter comment, because pylint,

* pedantic change to get black to format a file
2020-10-21 15:07:27 -07:00
Daniel Vaz Gaspar
f14cf9d6dc fix: saved_query search on schema and database not working (#11286)
* fix: saved_query search on schema and database not working

* add tests
2020-10-21 21:17:25 +01:00
Hugh A. Miles II
dfbcbcce67 fix: Allow "EXPLAIN" queries when "Allow DML" setting is False (#11348)
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2020-10-21 12:58:57 -07:00
serenajiang
54c2ad4308 fix(sqla): allow 'unknown' type queries in explore view (#11365) 2020-10-21 10:24:52 -07:00
ʈᵃᵢ
225c905bd5 fix(listview): hide actions column if no actions are allowed (#11337) 2020-10-21 09:27:48 -07:00
Evan Rusackas
cae54ac00e style: using correct + icon on New Query button (#11353)
* style: using correct + icon on New Query button

* non-meaningful whitespace removed.
2020-10-20 22:44:11 -07:00
Maxime Beauchemin
43aca6a26c docs: add a roadmap page pointing to SIP-53 (#11169)
* docs: add a roadmap page pointing to SIP-53

* large file
2020-10-20 21:36:06 -07:00
Maxime Beauchemin
796a2a6924 fix: error around latest partition in BigQuery (#11274)
* fix: error around latest partition in BigQuery

* lint

* Going with a backend-first approach

* fix test

* add an extra test
2020-10-20 21:34:46 -07:00
Maxime Beauchemin
c360413fc2 style(menu): clean up right menu - leaving only "Settings" (#11227)
* style(menu): clean up right menu - leaving only settings

* bring pre-commit back

* fix frontend tests

* pre-commit

* re-introduce subtle '+'
2020-10-20 21:33:28 -07:00
Kamil Gabryjelski
3a0fcdacd3 Fix tabs switching in SouthPane (#11343) 2020-10-20 14:24:27 -07:00
Lily Kuang
6f3d4c131f feat: css template add/edit modal (#11296) 2020-10-20 12:15:39 -07:00
Lily Kuang
9f8d0e7a06 fix: update table_name and schema on dataset editor (#11218)
* fix dataset editor for updating table_name and schema

* update test

* remove table_name from restrict list

* fix pylint

* fix cypress test

* fix test
2020-10-20 09:38:57 -07:00
hnle
7369039713 tests: Parameterize some tests in alerts_tests.py (#11313)
* SO-1099 Parameterize some tests in alerts_tests.py

* Update alerts_tests.py

Remove commented out line

* Update alerts_tests.py

Reformatted using black
2020-10-19 23:05:04 -07:00
adam-stasiak-polidea
55ae259b13 chore: Dashboard cypress refactor (#11280)
* moved dashboard tests to use data-test attributes

* linter

* fix for unstable save test
2020-10-19 21:36:20 -07:00
Kamil Gabryjelski
9266f0a4a8 refactor: Replace usages of reactable in ChangeDatasourceModal (#11241)
* Refactor ChangeDatasourceModal to use react-table

* Fix import

* Moved columns declaration out of component scope
2020-10-19 20:44:21 -07:00
Kamil Gabryjelski
901a42b1df refactor: Replace usages of Popover from react-bootstrap with Antd (#11163)
* New popover component

* LimitControl

* Moar components migrated

* TimeSeriesColumnControl

* Hotkeys

* ColorPicker

* FilterBoxItemCOntrol

* AdhocFilterEditPopover

* AdhocMetric

* AnnotationLayerControl

* DateFilterControl

* Tests fix

* Fix linting issue

* Fix tests

* Bug fix

* Test fix

* Remove Antd global stylesheet

* Fix linting

* Fix test

* Fix test

* Fix test

* Fix test

* Fix test
2020-10-19 20:42:33 -07:00
ʈᵃᵢ
4208ca76e0 refactor: replace AvatarIcon instances with FacePile (#11279) 2020-10-19 20:23:16 -07:00
Kasia Kucharczyk
0e97c4f66c tests: added fixtures to created dashboards and updated test with proper value (#11290)
* Added fixtures for hidden and published dashboards. Added fixture to restore copied dashboard in dashboard tests. Changed number of dashboards in datasets/api_tests.py because copied dashboard is removed.

* Changed number of dashboards in database api tests after cleanup of dashboards in dashboards_tests
2020-10-19 15:07:26 -07:00
Kasia Kucharczyk
55c2892e9b Fix: bring back type ignore for config import (#11333) 2020-10-19 23:11:07 +03:00
Ville Brofeldt
917d02efbd fix(chart-api): cached-indicator always shows value is cached (#11326) 2020-10-19 16:46:42 +03:00
Kamil Gabryjelski
735123d1f5 refactor: Refactor QueryTable to use react-table (#11216)
* Refactor QueryTable to use react-table

* Fix lodash import

* Fix tests

* Fix imports and QuerySearch styles

* Update superset-frontend/src/SqlLab/components/QuerySearch.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/SqlLab/components/QuerySearch.jsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Lint fix

* Refactored QueryTable into functional component

* Remove calculating content height

* Lint fix

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-10-18 22:32:13 -07:00
Maxime Beauchemin
a1f8429b4e chore: make config ENABLE_REACT_CRUD_VIEWS = True by default (#11259)
React CRUD views have been maturing for a while and are ready for prime
time!
2020-10-18 21:37:41 -07:00
Kamil Gabryjelski
31e4a90440 Fix overflowing tab's styling in TabbedSqlEditors (#11303) 2020-10-16 14:23:21 -07:00
Beto Dealmeida
94e23bfc82 feat: export databases as a ZIP bundle (#11229)
* Export databases as Zip file

* Fix tests

* Address comments

* Implement mulexport for database

* Fix lint

* Fix lint
2020-10-16 11:10:39 -07:00
Grace Guo
8863c939ad fix: should update last_modified_time in client-side after save dash (#11305) 2020-10-16 10:54:35 -07:00
Yongjie Zhao
afee008a10 fix CTAS and CVAS buttons invisible (#11300) 2020-10-16 08:02:39 -07:00
Erik Ritter
9856f99620 feat: update time_compare description and choices (#11294)
* feat: update time_compare description and choices

* Update sections.jsx
2020-10-15 21:28:09 -07:00
rubenSastre
4f0a06dda5 fix: button translations missing (#11187)
* button translations missing

* blank space before text
2020-10-15 21:27:26 -07:00
Jesse Yang
dde69d82b3 fix: use dashboard id for stable cache key (#11293) 2020-10-15 17:09:03 -07:00
ʈᵃᵢ
233e67a854 fix: add schema name to datasource field in chart list (#11278) 2020-10-15 14:12:21 -07:00
Jesse Yang
a720bba40e chore: upgrade vis plugins npm packages (#11272)
https://github.com/apache-superset/superset-ui/compare/v0.15.4...v0.15.8
2020-10-15 10:41:10 -07:00
Kamil Gabryjelski
9aef9c5764 fix: Fix styling in SqlLab when tabs overflow (#11287)
* Fix styling in SqlLab when tabs overflow

* Use theme variables
2020-10-15 08:38:13 -07:00
adam-stasiak-polidea
fc03549299 chore: Added data-test attributes for testing (#11254)
* Added data-test attributes for testing

* fixed incorrect naming change

* review changes
2020-10-14 16:12:01 -07:00
Jesse Yang
0262daa228 fix: delete the correct dashboard cache key (#11273)
* bugfix: delete dashboard cache key correctly

* update version number
2020-10-14 15:37:59 -07:00
ʈᵃᵢ
a6224a2ed2 fix(query search): use new api to fetch users (#11260) 2020-10-14 13:52:48 -07:00
Erik Ritter
fc74b5d4a2 Revert "fix: keep placeholder in multivalue select when a value exists (#11181)" (#11270)
This reverts commit 31cc4155b7.
2020-10-14 12:58:58 -07:00
Kasia Kucharczyk
9caf875263 Refactored api_tests in charts. Split filter test into several unit tests cases. Added table id based on database id (#11249) 2020-10-14 12:41:37 -07:00
Kamil Gabryjelski
820fa473a7 refactor: Implement TableView component (#11217) 2020-10-14 11:15:34 -07:00
Jesse Yang
634676d467 refactor: use contextmanager for event_logger decorators (#11222) 2020-10-14 10:44:06 -07:00
Beto Dealmeida
bb2e6cfca9 docs: add note about migration in #11098 to Changelog (#11256)
* Add note about #11098

* Update UPDATING.md

Better description

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
2020-10-14 09:55:32 -07:00
Ville Brofeldt
2a4ca9fa98 fix(crud): set default extra value (#11262) 2020-10-14 19:05:20 +03:00
Yongjie Zhao
22d8171dd6 chore(engine): adapt postgres backend connection URI (#11233)
* chore(engine): adapt postgres backend connection URI

* fix tests

* Update superset/db_engine_specs/__init__.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-10-14 18:57:41 +03:00
Dmitriy
5cbef88217 docs: Add utair to list of companies using Apache Superset (#11261)
* Add utair to list of companies using Apache Superset

* add GitHub handle and correct order

Co-authored-by: dmkir <dk@utair.digital>
2020-10-14 07:57:17 -07:00
Beto Dealmeida
7594161856 fix: do not import superset_config on tests (#11193)
* Do not import superset_config on tests

* Use strtobool
2020-10-14 07:54:31 -07:00
Lily Kuang
cd7392e618 update dashboard edit modal (#11258) 2020-10-13 20:50:02 -07:00
Jesse Yang
2c649ac20f perf: cache dashboard bootstrap data (#11234) 2020-10-13 18:43:06 -07:00
Jesse Yang
eb389ba8d4 build: update webpack for npm linking plugins (#11253) 2020-10-13 16:54:06 -07:00
Erik Ritter
16f7b2b525 fix: improve time compare range error (#11252) 2020-10-13 16:00:39 -07:00
Maxime Beauchemin
8676c3ebd6 docs: don't link to database engine pages (#11242)
* docs: don't link to database engine pages

* making the linter happy

* updating database installation link

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-10-13 14:10:06 -07:00
Elizabeth Thompson
31cc4155b7 fix: keep placeholder in multivalue select when a value exists (#11181) 2020-10-13 13:45:31 -07:00
Jesse Yang
d7eb1d476f perf: speed up uuid column generation (#11209) 2020-10-13 13:29:49 -07:00
Jesse Yang
6d8541e3b6 test: add admin to the owners of birth_names slices (#11228) 2020-10-13 10:31:49 -07:00
John Bodley
51fec1ab16 fix: Ensure consistent naming for testconn (#11246)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-10-13 09:53:03 -07:00
Grace Guo
88af85ac53 fix: show TIME COLUMN options in dashboard (#11210)
* fix: show TIME COLUMN options in dashboard

* add unit test
2020-10-12 21:43:30 -07:00
Grace Guo
4f4367edf3 feat: prevent co-edit dashboard collision (#11220)
* feat: prevent co-edit dashboard collision

* fix comments
2020-10-12 17:58:32 -07:00
Erik Ritter
6cf698cc6a chore: deprecate REDUCE_DASHBOARD_BOOTSTRAP_PAYLOAD (#11244) 2020-10-12 17:31:56 -07:00
Maxime Beauchemin
ae87b0c767 fix: questioning a few lines that force an ORDER clause (#11153)
* draft: questioning a few lines that force an ORDER clause

* sorting by main metric DESC by default
2020-10-12 14:53:37 -07:00
Naren
dcdf15f4d7 docs: Added Dremio to superset home page (#11231)
* add dremio

* dremio logo
2020-10-12 13:02:50 -07:00
Lily Kuang
8e58730092 fix(dataset): update user list endpoint (#11221) 2020-10-12 17:11:00 +01:00
Daniel Vaz Gaspar
9e9dac68f7 feat(datasets): REST API bulk delete (#11237)
* feat(datasets): REST API bulk delete

* doc HTTP 400
2020-10-12 13:40:05 +01:00
Ville Brofeldt
9f3d089655 chore(sqla): assert query is single read-only statement (#11236) 2020-10-12 15:11:43 +03:00
Ville Brofeldt
e647286393 chore(sql-lab): catch PyArrow deserialization error (#11201) 2020-10-12 10:16:00 +03:00
John Bodley
513bf10a38 chore: Leverage SQLALchemy ping rather than explicit SELECT 1 for testconn (#11223) 2020-10-11 12:44:15 -07:00
Yongjie Zhao
16d36a776c fix(cypress): table viz failed to run in postgres12 (#11230) 2020-10-11 11:28:13 -07:00
Evan Rusackas
fa9963519e fix: adding nofollow (#11225) 2020-10-09 23:47:57 -07:00
Kamil Gabryjelski
b071344531 refactor: Replace react-bootstrap tabs with Antd tabs in SqlLab (#11212)
* Create styled Antd Tabs and Dropdown

* Replace Tabs in SqlLab
2020-10-09 23:11:25 -07:00
Bogdan
cb3f649a7f chore: simplify alerting data model to leverage a single class (#11179)
* Collapse alerting models into a single one

Fixing upgrade migration & tests

* Address feedback

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-10-09 19:20:12 -07:00
Moriah Kreeger
a6fc3d2384 feat: CSS Templates List (#11189) 2020-10-09 16:32:31 -07:00
ʈᵃᵢ
7b0dabd7aa style(listview): various changes to get closer to SIP-34 designs (#11101) 2020-10-09 13:06:26 -07:00
Kasia Kucharczyk
56d5e8a1cb Changed cache uid to be depending on table in test_csv_response_format (#11214) 2020-10-09 09:01:26 -07:00
Kasia Kucharczyk
d93b1afe79 test: test_cache_logging is not depending on other dashboard (#11213)
* Changed test_cache_logging to be idempotent and not depending on other data than tested one

* Changed cache uid to be depending on table, not datashource
2020-10-09 09:00:41 -07:00
Jesse Yang
761e6dbf52 chore: Add __pycache__ to gitignore (#11208) 2020-10-08 19:51:26 -07:00
jharding-blw
5561b429f3 Fix typo "insode" -> "inside" (#11204) 2020-10-08 13:58:58 -07:00
Grace Guo
a10e86ab31 fix: revert eTag cache feature for dashboard (#11203)
* revert #11137

* revert #10963
2020-10-08 12:15:08 -07:00
Beto Dealmeida
b6728d87a0 fix: skip unit test that is failing in master for test-postgres-hive (#11196)
* Get full diff

* Test

* Test

* Test

* Test

* Test

* Explicitly detect backend to skip test
2020-10-08 09:17:09 -07:00
Daniel Vaz Gaspar
7c60939429 chore: turn SQL templating off by default (#11172)
* feat: possible to turn off SQL templating

* turn SQL templating off by default

* Update UPDATING.md

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* fix missing PR number

* fix missing PR number

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-10-08 11:55:39 +01:00
John Bodley
2a447ff466 Revert "refactor: Replace react-bootstrap tabs with Antd tabs (#11090)" (#11194)
This reverts commit 4fd993c4e0.

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-10-07 16:21:24 -07:00
Beto Dealmeida
9785667a0d feat: add UUID column to ImportMixin (#11098)
* Add UUID column to ImportMixin

* Fix default value

* Fix lint

* Fix order of downgrade

* Add logging when downgrade fails

* Migrate position_json to contain UUIDs, and add schedule tables

* Save UUID when adding charts to dashboard

* Fix heads

* Rename migration file

* Fix dashboard serialization

* Fix migration script with Postgres

* Fix unique contraint name

* Handle UUID when exporting dashboard

* Fix Dataset PUT

* Add UUID JSON serialization

* Fix tests

* Simplify logic

* Try binary=True
2020-10-07 09:00:55 -07:00
John Bodley
6e0d1b8409 chore: cleanup FAB update perms (#11155)
* chore: Using cache factory method

* chore: Deprecate outdated FAB_UPDATE_PERMS information

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-10-07 08:33:41 -07:00
Kasia Kucharczyk
32e174d4b8 test: removed unicode_test example from unit tests (#11131)
* Removed depemdency to unicode example in tests config.

* Added common methods for creating dashboards for tests.

* Added fixtures to all tests which were using unicode example.

* Added cleanup for unicode_test table

* Removed unnecessary fixture parts of unicode dashboard tests

* Parametrized creating slice for tests

* Moved fixtures for unicode test to separate file and refactored to several methods. Added param types and return types.

* Cleandup after fix

* Changed variable names to more readable

* Added cleanup for dashboards and slices

* Applied unicode fixture to charts api tests

* Update schema variable to dtype in dashboard utils

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Changed variable schema to dtype in dashboards. Replaced accessing first element with one_or_none

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-10-07 18:29:37 +03:00
Ville Brofeldt
1fa8bf7d7b fix(viz): downgrade exception for missing viz/datasource (#11173)
* fix(viz): downgrade exception for missing datasource

* add translations
2020-10-07 15:16:51 +03:00
Lily Kuang
a0713938b3 fixed undefined names error (#11180) 2020-10-06 22:11:16 -07:00
Moriah Kreeger
21c8d672a8 fix: save query modal/button styling + convert to ant-d modal (#11164) 2020-10-06 16:55:17 -07:00
Maxime Beauchemin
fb8320f7fe fix: cosmetic issue template (#11176) 2020-10-06 16:26:48 -07:00
Lily Kuang
2eb400a2fc chore: remove SIP_34_SAVED_QUERIES_UI feature flag (#11175) 2020-10-06 15:13:41 -07:00
Maxime Beauchemin
ad250637eb chore: add issue template for 'Cosmetic Issue' (#11174)
* chore: add issue template for 'Cosmetic Issue'

* addressing comment
2020-10-06 14:17:34 -07:00
Maxime Beauchemin
071c81f82e fix: 📜 /docs/api won't render (#11168)
* fix: docs/api won't render

    fix: docs/api won't render

    It's unclear to me exactly why, but docz is flimsy with the way
    things are named and runs into odd collision and error messages.

    Somehow renaming the route seem to help. Jut rolling with it after many
    `gatsby clean`

* kill paths-ignore on github-actions

* trigger
2020-10-06 13:51:40 -07:00
Maxime Beauchemin
c8a5dec84d style(dashboard): minor improvements to chart context menu (#11170)
Bumping "Explore/edit chart" as the first option. Getting rid of the
old "edit chart properties" deprecated CRUD link
2020-10-06 12:55:13 -07:00
Maxime Beauchemin
f109f11ceb style: fix too light form labels in DatabaseModal + DRY css (#11056)
eventually should be moved away from bootstrap and onto a DRY
ControlLabel component in our design system.
2020-10-06 12:51:00 -07:00
Maxime Beauchemin
b2af0c0e22 style(sqllab): make database errors more clear and render as monospace (#11075)
* style(sqllab): make database errors more clear and render as monospace

In SQL Lab, when a database error message is returned, generally because
of a user error in the SQL, it's identified as an "Unexpected Error" and
some of the text formatting of the error message (\n, spaces, tabs, ...)
are lost as they are rendered in html.

This PR identifies the error as a "Database Error", and renders like
more like a <pre>, using a monospace font.

* fix the build

* addressing comments

* addressed comments

* lint + removing cruft

* addressing comments
2020-10-06 12:50:38 -07:00
Grace Guo
13963acefb fix: Fix Time Column dropdown for date filter (#11149) 2020-10-06 11:51:10 -07:00
Jesse Yang
38dccf9e12 fix: enable consistent etag across workers and force no-cache for dashboards (#11137)
* fix: enable consistent etag across workers

* Use CACHE_DEFAULT_TIMEOUT instead of 0

* Change timeout to 0 and set expires header even for no-cache

* Reduce number of if branches to appease Pylint

* Fix mypy error
2020-10-06 09:43:43 -07:00
Maxime Beauchemin
3d7b805755 chore: more 'datasource' -> 'dataset' renaming (#11055)
* chore: more 'datasource' -> 'dataset' renaming

* fix build

* explicitely setting disabled to false to avoid cypress confusion

* fix tests

* RAT
2020-10-05 20:04:17 -07:00
Rob DiCiuccio
6f619829d2 Remove erroneous package-lock.json (#11108) 2020-10-05 18:31:40 -07:00
Lily Kuang
152315d0f4 feat: saved query preview modal (#11135) 2020-10-05 16:21:59 -07:00
Amit Miran
63579b3049 allow passing bash args into the pytest (#11040)
this can be used in local environment when for example you want to pass specific *mark* to run against
2020-10-05 15:46:25 -07:00
Johannes Lange
3a0446f00d docs: typo (#11152)
* docs: typo

* docs: consistent two-line gap before sections in README

this is merely to touch something outside of docs/ to work around a CI
issue (comment in #11152), while not creating diff-noise only
2020-10-05 13:29:47 -07:00
Maxime Beauchemin
6358a7f1b5 docs: add API page to docs using Swagger UI (#11154)
* docs: add API page to docs using Swagger UI

* silence fossa
2020-10-04 22:01:36 -07:00
John Bodley
5e0603f957 chore: Remove obsolete creating missing metric permissions (#11143) 2020-10-04 09:16:29 -07:00
Erik Ritter
3d76f81bf7 Revert "refactor: Remove usages of reactable from TimeTable (#11046)" (#11150)
This reverts commit f01b8a30f7.
2020-10-02 22:21:10 -07:00
henryyeh
e9f4fcb4d9 fix: fixing CI workflow (#11145)
* dummy commit to trigger jenkins pipeline

* removing unused workflow

Co-authored-by: Henry Yeh <henry@preset.io>
2020-10-02 17:33:40 -07:00
Kamil Gabryjelski
07f87149e6 fix: Enable ESLint rule default-props-match-prop-types (#11058)
* Re-enable ESLint rule default-props-match-props-types

* Add cypress test for switching tabs

* fix

* Typo fix

* Test fix
2020-10-02 15:54:56 -07:00
Elizabeth Thompson
d95b7c2a73 fix: clean up prop type errors in jest tests (#11120) 2020-10-02 14:59:04 -07:00
Ville Brofeldt
662fb43350 fix(examples): missing expressions in birth_names (#11141)
* fix(examples): missing expressions in birth_names

* disable flaky tests
2020-10-02 23:47:38 +03:00
Kamil Gabryjelski
4fd993c4e0 refactor: Replace react-bootstrap tabs with Antd tabs (#11090)
* Replace tabs in profile

* Replace tabs in SouthPane

* Replace tabs in TabbedSqlEditors

* Add typing for dropdown

* Add license

* Remove isSelected

* Fixes

* Add data-test

* Fix test

* Remove unnecessary style

* Remove unnecessary style

* Tests fix

* Tests fix

* Update superset-frontend/src/common/components/Dropdown.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/common/components/Dropdown.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/common/components/Dropdown.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/common/components/Dropdown.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/common/components/Tabs.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/common/components/Dropdown.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Update superset-frontend/src/common/components/Dropdown.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* Remove inModal prop

* Remove inModal from storybook

* Move inline style to styled component

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-10-02 13:07:52 -07:00
Jesse Yang
53cd05d74a perf(explore): render datasource details only when needed (#10924) 2020-10-02 12:15:06 -07:00
ʈᵃᵢ
269644d18e style: override ace edit error icon (#11139) 2020-10-02 09:45:36 -07:00
John Bodley
e90c63fc7b fix: Alembic migration 18532d70ab98 (#11136) 2020-10-02 09:12:03 +01:00
Evan Rusackas
2cb2a0093d docs: docs site footer link tweak (#11140)
* rescinding htaccess rewrite

* Changing License link title to make Apache happy

* Revert "rescinding htaccess rewrite"

This reverts commit 0ee153ef08.

* changing url in asf.yaml
2020-10-01 23:31:52 -07:00
Maxime Beauchemin
d578d8133f docs: comply to ASF requirements (#11133)
* docs: comply to ASF requirements

* touch something out of docs/

* Just a few more things...

* messing with .htaccess

* SEO
2020-10-01 22:15:36 -07:00
Elizabeth Thompson
a4e1dc9c27 add info about case sensitive search (#11124) 2020-10-01 21:30:39 -07:00
ʈᵃᵢ
017e5acd14 style(listview): dynamic card size and grid spacing (#11111) 2020-10-01 15:44:42 -07:00
Maxime Beauchemin
5f55d94b9b style: rename label 'table name'->'dataset name' (#11126) 2020-10-01 15:13:01 -07:00
Daniel Vaz Gaspar
4c85d33109 feat: custom favorite filter for dashboards, charts and saved queries (#11083)
* feat: custom favorite filter for dashboards

* lint and sort

* add favored for charts

* fix tests and lint

* more tests and saved query filter

* fix tests

* fix tests

* lint

* lint and fix conflict

* remove unnecessary prop

* separate tests
2020-10-01 15:08:40 -07:00
Phillip Kelley-Dotson
07716ffd76 chore: refactor submenu's right nav to accept list of buttons (#11102)
* submenu right-nav button refactor

* undo changes

* fix lint

* fix test

* update pr with suggested changes and test

* fix lint

* use enum to define btn style props

* add suggestions

* update savedquery buttons
2020-10-01 15:05:49 -07:00
Maxime Beauchemin
2a906bc9d1 docs: use the Apache-Superset logo on README / pypi (#11132) 2020-10-01 14:23:56 -07:00
Elizabeth Thompson
33906c6895 fix: remove extra flash import (#11121)
* remove extra flash import

* remove yml from accepted file types
2020-10-01 14:09:30 -07:00
ʈᵃᵢ
7a72082d31 fix: Revert "Replace reactable with DataTable from superset-ui in QueryTable (#10981)" (#11125)
This reverts commit e93d92e8ac.
2020-10-01 10:06:22 -07:00
Daniel Vaz Gaspar
50d80405a9 fix: alembic migration error msg trying to delete constraint on tables (#11115)
* fix: alembic migration fails by deleting non existent constraint on tables

* Revert "fix: alembic migration fails by deleting non existent constraint on tables"

This reverts commit 3a359b0577.

* mantain migration but just for MySQL and add downgrade procedure

* skip the downgrade
2020-10-01 12:35:12 +01:00
Daniel Vaz Gaspar
fdb26f6131 feat: CRUD REST API for CSS Templates (#11114)
* feat: CSS Template CRUD API

* fix API docs

* fix copy pasta

* lint
2020-10-01 11:46:25 +01:00
Maxime Beauchemin
c4d96f64ff fix: SpatialControl popover won't open (#11127)
Recently a change related to emotion styling not properly working through
react-bootstrap's popover broke the SpatialControl.

This PR makes SpatialControl use antd's equivalent, and addresses the
issue as a result: emotion's styling context is preserved through
this superior popover.
2020-09-30 23:12:51 -07:00
Moriah Kreeger
e7a4265c30 feat: saved query list actions (#11109) 2020-09-30 18:18:34 -07:00
Lily Kuang
5b284e67eb feat: add created by chart CRUD view (#11067) 2020-09-30 13:53:04 -07:00
Kalyan
0bcc9d77a7 fix: Disabling timezone of dataframe before passing Prophet (#11107)
* fix: Disabling timezone of dataframe before passing Prophet 

While running forecasting with Druid. Prophet throws the following exception. This PR removes the timezone info. 
ValueError: Column ds has timezone specified, which is not supported. Remove timezone
https://github.com/apache/incubator-superset/issues/11106

@villebro

* Update pandas_postprocessing.py

* Update superset/utils/pandas_postprocessing.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-09-30 21:38:37 +03:00
Ville Brofeldt
ada66e30dd fix(chart-data-api): ignore missing filters (#11112) 2020-09-30 09:34:23 +01:00
Erik Ritter
fa5dab85c4 feat: more specific presto error messages (#11099) 2020-09-29 21:50:58 -07:00
Bogdan
94d4d55908 Fix alembic migration (#11110)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-09-29 16:35:00 -07:00
Bogdan
03eebd3019 fix: fix table existence validation function (#11066)
* Fix table existance validation function

* Drop left over table name index in mysql db

* Do not modify model

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-09-29 15:01:01 -07:00
Evan Rusackas
0409b12a55 style: fix secondary label border (#11100) 2020-09-29 14:15:18 -07:00
Moriah Kreeger
b8d616a9d2 feat: saved query list view + sort/filters (#11005) 2020-09-29 13:39:10 -07:00
John Bodley
4ccba3072d chore: Remove Obsolete WARNING_MSG from config (#10972) 2020-09-29 12:33:02 -07:00
Grace Guo
6633409a15 feat: enable ETag header for dashboard GET requests (#10963)
* feat: add etag for dashboard load requests

* fix review comments
2020-09-29 10:57:16 -07:00
Kasia Kucharczyk
89bf76553e Updated lint in schedules.py in tasks: unused_import, ungrouped_import and changed argument name to remove unused-argument (#11045) 2020-09-29 08:10:46 -07:00
Daniel Vaz Gaspar
5d08a426d3 fix(api): unable to delete virtual dataset, wrong permission name (#11019)
* fix(api): unable to delete virtual dataset because of wrong permission name

* Still delete the dataset even when no permission was found

* migration script to fix possible existing faulty permissions on the db

* black

* fix db migration and one more test

* add more comments to the migration script

* freeze a partial schema of the model on the migration step

* fix mig script

* Update superset/migrations/versions/3fbbc6e8d654_fix_data_access_permissions_for_virtual_.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-09-29 12:33:07 +01:00
Ville Brofeldt
80e395559d fix: echarts timeseries groupby (#11103)
* fix: echarts timeseries groupby

* address review comment
2020-09-29 14:25:38 +03:00
Lily Kuang
8b458ac172 fix: double scroll bars on dataset editor (#11095)
* fix double scroll bar on dataset editor

* add table name to virtual tab
2020-09-28 19:28:27 -07:00
Shaik Idris
79de8f7e37 docs: Add Zeta to list of companies using Apache Superset (#11059)
* Add zeta.tech to list of companies using Apache Superset

Zeta.tech has been extensively using Apache Superset to power some of the enterprise products

* Add Zeta to list of companies using Apache Superset

At Zeta we have been using Apache Superset for over an year to power our enterprise product suite.
2020-09-28 19:28:00 -07:00
Kasia Kucharczyk
3a08fd04f3 chore: pylint fixes in files in project's root (#11064)
* Pylint rule: not necesary unused-import in extensions.py. Autofomatted

* Pylint rule: not necesary unused-import in jinja_context.py. Autofomatted

* Pylint rule: not necesary no-value-for-parameter in stats_logger.py. Autofomatted

* Pylint rule: not necesary no-member in viz.py

* Pylint rule: not necesary no-member in viz_sip38.py
2020-09-28 14:32:45 -07:00
Kasia Kucharczyk
690e27e5fd chore: updated utils with pylint rules (#11062)
* Updated pylint in cache.py in utils: unecessary bad-whitespace. Autoformatting

* Updated pylint in core.py in utils: E0202.

* Updated pylint in logging_configurator.py in utils: disable=no-member. Formatting

* Updated pylint in machine_auth.py in utils: unused-import

* Updated pylint in screenshots.py in utils: unused-import and import-error

* Updated pylint in webdriver.py in utils: unused-import
2020-09-28 14:32:06 -07:00
Lily Kuang
e337355162 refactor: table selector on dataset editor (#10914)
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2020-09-28 11:16:03 -07:00
Brylie Christopher Oxley
e52a399e18 Reorganize steps (#11015)
Reorganize steps to
1. run db migrations
2. create default roles/permissions
3. create admin user
4. (optional) load examples
2020-09-28 10:51:50 -07:00
ʈᵃᵢ
1dc05d4c12 feat(charts): modify custom api filter to include more fields (#11054) 2020-09-28 10:18:34 -07:00
Kamil Gabryjelski
2fd8fca207 chore: Clean up some console warnings (#11061)
* Upgrade a few packages

* Update some prop types

* Update HTML

* Moar warning fixes

* Remove wrapper div
2020-09-28 09:43:21 -07:00
Kamil Gabryjelski
f01b8a30f7 refactor: Remove usages of reactable from TimeTable (#11046)
* Use ListView instead of reactable

* Refactor TimeTable

* Spark column width fix
2020-09-28 09:42:06 -07:00
Kamil Gabryjelski
a879622e07 refactor: Remove usages of reactable from AlteredSliceTag (#11012)
* Remove usages of reactable in AlteredSliceTag

* Fix tests

* Move mocked data to fixtures file

* Use optional chaining

* Remove default value, change a unit test logic

* Code review fixes
2020-09-28 09:41:08 -07:00
Erik Ritter
0f7e90f1f7 feat: improve presto query perf (#11069) 2020-09-28 08:52:00 -07:00
Maxime Beauchemin
046bd02d65 style: improve "Datasource & Chart Type" <Label>s (#10971)
* style: improve default <Label>

* fix name-shifting icon

* adding some styles to remove the inner drop shadow from the 'more' button

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-09-28 08:32:25 -07:00
Ville Brofeldt
39cce712af docs: add changelog entries for 0.37.2 (#11086) 2020-09-28 11:14:09 +03:00
Evan Rusackas
497d3f3910 fix: Adding timeout to flaky cypress test, to wait for animation to complete (#11074)
* adding timeout for animation

* 1s timeout
2020-09-27 20:08:21 -07:00
Evan Rusackas
cff034e2cf chore: cleaning out unused code from utils (#11076)
* removing unused stuff (and some jquery) from utils.js

* linting
2020-09-27 20:08:05 -07:00
Maxime Beauchemin
7f1e4e441d fix: surface connection error messages on the client (#11077)
* fix: surface connection error messages on the client

* typo

* lint
2020-09-26 16:09:40 -07:00
Yongjie Zhao
1493450a6f fix(jest): using UTC mock date (#11079) 2020-09-26 14:53:41 -07:00
Evan Rusackas
23d62f37a6 removing unused component (#11072) 2020-09-25 23:02:01 -07:00
Evan Rusackas
8cba1c823d changing to the correct hex color (#11073) 2020-09-25 21:09:59 -07:00
Maxime Beauchemin
8e6f7d6598 style: remove unecessary padding (#11071) 2020-09-25 17:22:46 -07:00
Moriah Kreeger
374b06b4dd fix: database list checkboxes (#11068) 2020-09-25 16:28:22 -07:00
Evan Rusackas
eeeb21077d feat: adding all icons from the design system to the codebase (#11033)
* error -> error-solid

* warning -> warning-solid

* all the new icons mixed in!

* card-view -> card_view

* circle-check-solid -> circle_check_solid

* corrected circle-check to new name and correct (stroke) icon

* sort-asc/desc -> sort_asc/desc

* databases -> database

* compass -> nav_explore

* pencil -> edit-alt

* more pencil migrations

* easy list view rename

* star -> favorite (changed in Figma)

* removing deprecated icon

* renaming icon to mach figma

* More -> More Horiz

* forgot to change this when ranming the file

* updating some icon names in use

* adding hella icons

* fixing errant viewboxes

* removing dropdown-arrow in favor of triangle-down

* adding key to storybook map.

* fixing icon component reference

* tweaks to fave star styling to support revised icon

* fixing a bad icon inclusion

* missed a license

* touchup to virtual dataset... will tweak later.

* e2e fix

* linting
2020-09-25 14:49:30 -07:00
Erik Ritter
052d7a0a3e fix: sql lab autocomplete width (#11063) 2020-09-25 10:13:21 -07:00
Evan Rusackas
d056e3dfd3 clickable labels have outlines, storybook shows them (#11034) 2020-09-24 20:50:44 -07:00
Srini Kadamati
66e49807ef fixed routes for customer in docs (#11052) 2020-09-24 20:43:03 -07:00
Grace Guo
3467d2d8d6 Revert "style: fix checkbox color (#10970)" (#11051)
This reverts commit e4e78b66fa.
2020-09-24 16:53:02 -07:00
Lily Kuang
ea105bc23b feat: add "created by" to dashboard CRUD view (#11030) 2020-09-24 14:33:55 -07:00
Kasia Kucharczyk
92dd257ef4 Changed tags.py and helpers.py in models module: removed disabled pylint rule unused_import, changed unused arguments to private and removed disabled rule unused-argument. Removed redundant rules. (#11037) 2020-09-24 13:50:09 -07:00
Kasia Kucharczyk
63d0e801ad chore: updated lint rules in models module (#11036)
* Removed disabled pylint rule `unused_import` from `dashboards.py` in `models` module. Added missing break in too long line. Formatting.

* Changed `datasource_access_request.py` in models` module: removed disabled pylint rule `unused_import`, removed `no-member` disabled rules which aren't needed. Formatting

* Changed `slice.py` in models` module: removed disabled pylint rule `unused_import`, changed unused arguments to private and removed disabled rule `unused-argument`
2020-09-24 13:49:00 -07:00
Kasia Kucharczyk
6b318c477e Removed disable global pytlint rule standarderror-builtin which isn't appearing for Python3 (#11038) 2020-09-24 13:48:02 -07:00
Kasia Kucharczyk
eba1aa8a53 Enabled argument-differ for bulk_delete (#11039) 2020-09-24 13:47:00 -07:00
Kasia Kucharczyk
7ca4192fe6 Enabled no-self-use pylint rule in security. Formatter (#11041) 2020-09-24 13:46:21 -07:00
Kasia Kucharczyk
8bc05bda6f Changed variable name from capitals to lowercase and changed lint rule (#11044) 2020-09-24 13:45:19 -07:00
Grace Guo
f99753a800 Revert "ESLint: Re-enable rule default-props-match-prop-types (#10868)" (#11050)
This reverts commit 9f01a7fdf8.
2020-09-24 12:33:38 -07:00
ʈᵃᵢ
eded51b2f8 feat(saved_queries): add custom api filter for all string & text fields (#11031) 2020-09-24 11:05:25 -07:00
Bogdan
b2fdf12f62 Support jinja templates (#11008)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-09-24 10:29:44 -07:00
Ville Brofeldt
6181994084 chore: bump pandas to latest stable version (#11018)
* chore: bump pandas to latest stable version

* fix nest_values
2020-09-24 13:11:10 +03:00
Grace Guo
8e9b0b3f11 fix: dashboard edit button (again) (#11029) 2020-09-23 15:42:06 -07:00
Maxime Beauchemin
dc76a2688e style(explore): use tertiary button against gray background (#11011)
"primary" style buttons seem to expect a white background and really
look muted against the gray background. Using "tertiary" style button makes
things much better.

Eventually we may reconsider the layout and gray background and go back
to secondary, but for now this makes these important pop much more
2020-09-23 11:44:39 -07:00
Rob DiCiuccio
8b683783cc docs: add security vulnerability GH issue template (#11023)
* Add security vulnerability issue template

* Louder title
2020-09-23 11:13:13 -07:00
Grace Guo
0409393a4e fix: [dashboard] should not show edit button when user has no edit permit (#11024) 2020-09-23 10:55:32 -07:00
Jesse Yang
7549dad12d fix: timer component, fixes #10849, closes #11002 (#11004) 2020-09-23 10:53:24 -07:00
Kasia Kucharczyk
af1e8e8839 fix: enable several pylint rules partially in db_engines_specs module (#11000)
* Enabled mssql

* Enabling pylint rules in `mysql.py` from `db_engine_specs`:
- added variable to shorten line and enable `line-too-long`
- `import-error` seems not prompting anymore
- specified exception instead broad-except

* Refactored too long line in `oracle.py` from `db_engine_specs`. Enabled too-long-line pylint rule.

* Changed fstring into string `pinot.py` to reenable `f-string-without-interpolation` rule.

* Enabled `unused-import` rule and changed line to adjust to correct number of characters in `db_engine_specs/postgres.py`.

* Enabled unused-import pylint check in `db_engine_specs/presto.py`

* Enabled unused-import pylint check in `db_engine_specs/snowflake.py`

* Enabled unused-import pylint check in `db_engine_specs/sqlite.py`
2020-09-23 10:47:56 -07:00
Kasia Kucharczyk
fb6f14c469 fix: pylint checks in connectors/sqla/models.py (#10974)
* Removed unused pylint rule `too-many-instance-attributes` from SqlaTable class.

* Removed unecessary rule: `bad-whitespace` from `get_sqla_query` method

* Disabling too-many-instance-attributes since it fails on CI
2020-09-23 10:47:12 -07:00
Kasia Kucharczyk
bade279883 fix: reenable pylint rule unused-import in charts and connectors modules (#11014)
* Removed disabled pylint rule `unused_import` from `dao.py` in `charts` module

* Removed disabled pylint rule `unused_import` from `connector_registry.py` in `connectors` module
2020-09-23 10:46:44 -07:00
Kasia Kucharczyk
26fcc08906 Enabled pylint rules in db_engines module: (#11016)
- `unused_import` and `import_error` - not promting anymore
- changed unused param to private and removed `unused_argument`
2020-09-23 10:45:26 -07:00
Kasia Kucharczyk
a26f29e7c8 fix: changes a pylint check in dashboard module (#10978)
* Removed not needed disabled pylint rules from `set_dash_metadata`:
- `disable=too-many-locals`,
- `too-many-branches`,
- `too-many-statements`

* Changed broad exception to KeyError.

* Reverted broad_exception in get_col_type in utils
2020-09-23 10:26:22 -07:00
ʈᵃᵢ
345fe07d64 fix: menu shows a 0 when there are not settings (#11009) 2020-09-23 09:22:45 -07:00
Daniel Vaz Gaspar
ba009b7c09 fix: query search low privileged user search access denied (#11017) 2020-09-23 14:16:24 +01:00
ʈᵃᵢ
50852dfbbf chore: downgrade expected exception from error to info (#10994)
* chore: reduce number of error logs

* info -> warning
2020-09-23 12:05:44 +01:00
Lily Kuang
02ab5cc644 fix: Add Item Overflow on Dataset Editor (#10983)
* move add item button to the top

* fix cypress

* fix cypress
2020-09-22 22:19:41 -07:00
Beto Dealmeida
d992c306c2 Bring back import menu (#11007) 2020-09-22 19:32:44 -07:00
ʈᵃᵢ
0d1f6119a6 feat(listview): feature flag config to set default viewing mode (#10986) 2020-09-22 18:01:19 -07:00
Jesse Yang
220c410df4 build: add react-hooks linting (#11006)
Fixed a couple of criticle errors and left the warnings as is (mostly
from react-hooks/exhaustive-deps).

Let's fix the warnings in future PRs as sometimes unexhaustive deps
are intentional.
2020-09-22 15:09:22 -07:00
Erik Ritter
a491b6db41 fix: unbreak ci (#11003) 2020-09-22 14:41:15 -07:00
Kasia Kucharczyk
a6f258747b fix: enable pylint rules in db_engine_specs module (#10998)
* Athena.py: cretaed variable for too long line, removed disabled pylint rule.

* Enabled `line-too-long` in `drill.py`. Added variable for too long string.

* Reformatted hana.py:
- changed return statement into two lines to keep line lenght limit

* Enabling pylint rule in hive.py:
- `no-name-in-module` for pyhive in several places
- `line-too-long` and adding new lines
- `unused-import` is not invalid anymore

* Enabled `line-too-long` in `kylin.py`. Added variable for too long string.

* Enabled `unused_import` in `base.py` from db_engine_specs module.

* Enabled `unused_import` in `bigquery.py` from db_engine_specs module.

* Enabled `unused_import` in `druid.py` from db_engine_specs module.

* fix: athena datetime string converting
2020-09-22 13:44:45 -07:00
Kamil Gabryjelski
e93d92e8ac Replace reactable with DataTable from superset-ui in QueryTable (#10981)
* Replace reactable with DataTable from superset-ui in QueryTable

* Fix tests

* Fix pagination

* Fix tests
2020-09-22 13:24:30 -07:00
Kamil Gabryjelski
9f01a7fdf8 ESLint: Re-enable rule default-props-match-prop-types (#10868)
* Re-enable rule default-props-match-prop-types

* Restore default props and remove isRequired

* Remove unused props
2020-09-22 13:17:41 -07:00
Ville Brofeldt
a9eab33d64 feat: add ECharts Pie chart (#10966)
* feat: introduce echarts pie chart

* lint

* remove viz.py shim

* remove tests

* fix cypress test

* fix test
2020-09-22 19:27:40 +03:00
Beto Dealmeida
0554c8918e Enable subqueries in gsheetsdb (#10991) 2020-09-22 08:51:29 -07:00
Karthikeyan Singaravelan
95ba8e1fb7 fix: deprecation warnings due to invalid escape sequences. (#10710)
* fix: Fix deprecation warnings due to invalid escape sequences.

* fix: Fix black related errors.
2020-09-22 16:03:58 +01:00
Ville Brofeldt
bd140e018a fix(presto): default unknown types to string type (#10753)
* fix(presto): default unknown types to string type

* lint
2020-09-22 13:16:54 +03:00
Ville Brofeldt
448a41a4e7 feat(row-level-security): add base filter type and filter grouping (#10946)
* feat(row-level-security): add filter type and group key

* simplify tests and add custom list widget

* address comments

* use enum value to ensure case sensitive value is used
2020-09-22 08:54:10 +03:00
Maxime Beauchemin
3be8bdad9a docs: add gallery screenshot & link in README (#10988)
* docs: add gallery screenshot & link in README

* deallowing large files
2020-09-21 22:48:55 -07:00
Maxime Beauchemin
8e4a1c8356 docs: add a "Gallery" page (#10968)
* docs: add a gallery page

* Adding image gallery

* linted

* add more screenshots

* a few more screenshots
2020-09-21 22:27:03 -07:00
ʈᵃᵢ
96a61e327e build: add PR lint action (#10990) 2020-09-21 21:21:04 -07:00
Evan Rusackas
193796ca16 adding filters back that caused issues (#10989) 2020-09-21 19:12:34 -07:00
adam-stasiak-polidea
dc893fe1b3 chore: selectors refactor in SQLLab test suite (Cypress) (#10944)
* changed selectors for not skipped tests in sqllab suite

* linter fixes

* linter fixes
2020-09-21 15:49:44 -07:00
Kamil Gabryjelski
a8f5029cb1 ESLint: Remove ts-ignore comments (#10933)
* Upgrade json-bigint, add @types/json-bigint to deps

* Upgrade react-bootstrap-dialog

* Fix ts-ignore

* Fix ts-ignore

* Fix ts-ignore

* Upgrade react-syntax-highlighter, fix ts-ignore

* Fix ts-ignore

* Fix ts-ignore in styles.tsx

* Wrap Input in div to pass onPaste

* Change esm to cjs imports for highlighter to fix tests

* Add null checks
2020-09-21 15:47:33 -07:00
Maxime Beauchemin
e4e78b66fa style: fix checkbox color (#10970)
* style: fix checkbox color

* lint

* wrap test into theme
2020-09-21 13:12:12 -07:00
Kasia Kucharczyk
41dfcd4834 fix: changed disabled rules in datasets module (#10979)
* Updated `put` method in `datasets/api.py`:
- changed return statements in put method
- removed disabled pylint rule too-many-return-statements
- removed disabled pylint rule arguments-differ since arguments match

* Removed disabled pylint rule arguments-differ in `delete()` method since arguments match
2020-09-21 12:26:17 -07:00
Moriah Kreeger
4aa53244c7 fix: update the time filter for 'Last Year' option in explore (#10829)
* Update explore time filter ranges

* rm console statements

* only update moment calculation for years

* tests

* add open/close test
2020-09-21 11:39:11 -07:00
Bogdan
56d001835e fix: use nullpool even for user lookup in the celery (#10938)
* Use nullpool even for user lookup in the celery

* Address feedback

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-09-21 10:34:03 -07:00
Bogdan
801fb4063c Allow empty observations in alerting (#10939)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-09-21 08:48:02 -07:00
Kasia Kucharczyk
74a2270d0a fix: re-enabling several globally disabled lint rules (#10957)
* Removed global pylintrc rule: bad-continuation. Black repaired it.

* Enable global pylintrc rule: duplicate-code. It might help with providing clean code and future refactors.

* Removed global rule `dict-iter-method` since Python3 doesn't support methods: dict.iterkeys(), itervalues() or iteritems()

* Removing global disabler rule `invalid-unary-operand-type`, because all unary operators are used on objects which supports those operations
2020-09-21 08:47:04 -07:00
Kasia Kucharczyk
f01c488664 fix: setting specific exceptions common/query_context.py (#10942)
* Specified an exceptions in reading cache in `get_df_payload()` method

* Reverted change after review:
- added broad exception in `get_df_payload` method
2020-09-21 08:46:08 -07:00
Kasia Kucharczyk
88a671153b Pylint disabled rule pointless-string-statement is not raising warining anymore - removing (#10975) 2020-09-21 08:45:21 -07:00
Kasia Kucharczyk
9d7b3536e1 fix: pylint disabled rules in dashboard/api.py (#10976)
* Refactored `put` method in dashboards/api.py:
- changed retun statements
- removed lint disabled rule

* `arguments-differ` disabled rule is not anymore valid - put argiments don't differ

* `delete()` method in dashboards/api has now same list of argiments:
- removing unecessary pylint check disabled

* `bulk_delete()` method in dashboards/api has now same list of argiments:
    - removing unecessary pylint check disabled
2020-09-21 16:02:41 +01:00
Kasia Kucharczyk
fd0f6e1541 fix: removed disabled lint rule too-many-locals in connectors/base/models.py (#10958) 2020-09-21 09:13:38 +01:00
Kamil Gabryjelski
4835d3b0a2 ESLint: Re-enable rule no-access-state-in-setstate (#10870)
* Re-enable rule no-access-state-in-setstate

* Move accessing event values out of async functions
2020-09-20 23:48:23 -07:00
Ville Brofeldt
3d8f757ac8 fix: simply is_adhoc_metric (#10964)
* fix: simply is_adhoc_metric

* address comment
2020-09-20 13:22:55 +03:00
Kamil Gabryjelski
557a303cc5 ESLint: Enable rule no-named-as-default (#10879)
* Enable rule no-named-as-default

* Fix wrong import
2020-09-18 13:41:01 -07:00
Kamil Gabryjelski
91fd06e093 ESLint: Remove ts-ignore (#10961)
* Fix prop types of styled

* Fix props in windowed
2020-09-18 13:33:32 -07:00
Srini Kadamati
4a4fdb1e02 docs: set up client-side redirects from previous era docs urls (#10921)
* one simple redirect, as a test

* adding license to header

* painstakingly added SEO redirects!

* addressed feedback and ran lint-fix!

* lets try newline again!

* Revert "lets try newline again!"

This reverts commit 20f89bd23c.

* Revert "Revert "lets try newline again!""

This reverts commit e441edc54a.

* wait... there were TWO newlines?

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-09-18 13:31:22 -07:00
Evan Rusackas
d4f33cc9de Ignore '/docs' on some GH actions, give docs its own action (#10949)
* ignore docs on several actions, give docs its own action

* Random doc change to see if the new action runs.

* umm... not paths-ignore, paths!

* eof fix

* enabling typescript checking on docs
2020-09-18 12:23:48 -07:00
Jesse Yang
4f607371e5 fix: typo in prefer typescript (#10959)
Prefer TypeScript has stopped working since #10170 because of a [typo](https://github.com/apache/incubator-superset/pull/10170/files#diff-0f1a9bbd1316e385c51f8aba1583bd99R24) in `jq` script.

Also fix the `trilom/file-changes-action` GH Action version so the process can be more predictable.
2020-09-18 12:02:09 -07:00
Kamil Gabryjelski
ccfd293227 ESLint: no-restricted-syntax (#10889)
* Enable no-restricted syntax rule

* Fix webpack.config.js

* Remove unused function from utils/common.js

* Refactor triple nested for loop

* Fix loops in src/explore components

* Fix loops in SqlLab components

* Fix loops in AlteredSliceTag

* Fix loops in FilterableTable

* Add fixtures and uinit tests for findControlItem

* Add license
2020-09-18 09:05:57 -07:00
Kasia Kucharczyk
2003442b32 fix: several disabled pylint rules in models/helpers.py (#10909)
* Removed conflicting lint and isort check in model helpers seems it's not appearing anymore

* Removed disabled linting for accessing private method. `parent_foreign_key_mappings` becomes public because it is accessed by other instance than `self`.

* Updated model's helper - removed unecessary exception and replaced with check while accessing global context to reset ownerships.

* Updated model's helper - renamed unused attribute to private in user link method.

* Updated model's helper - added specific exception for adding extra json column. Removed disabled pylint rule.

* Applied changes after review to `models/helpers.py`:
- removed unecesary function's param rename
- added extra JSON content in exception

* Removed self.extra_json content from exception message.
2020-09-18 16:32:02 +01:00
Daniel Vaz Gaspar
e375ed4678 fix(jinja): make context attrs private on SQL templates (#10934)
* fix(jinja): make SQLAlchemy models private on SQL templates

* add missing privates

* fix test
2020-09-18 12:56:07 +01:00
Kasia Kucharczyk
e21a354b3b fix: update pylint disabled checks in common/query_context.py (#10941)
* Updated common/query_context.py
- removed disabled pylint rule no-self-use from `df_metrics_to_num` since it has `@staticmethod`
- applied black on the file

* Removed disabled lint check `too-many-locals` in get_df_payload method. Applied black.

* Method `get_data()` has self param:
- removing # pylint: disable=no-self-use
- autoformatting
2020-09-17 21:30:02 -07:00
Kasia Kucharczyk
141ef4a188 Updated type: ignore in model's helper: (#10906)
- added sql alchemy mapper as a type
2020-09-17 13:49:14 -07:00
Elizabeth Thompson
ed9b50be2c chore: upgrade cypress to use retries (#10923) 2020-09-17 12:54:50 -07:00
ʈᵃᵢ
213b772368 chore: remove SIP_34_DATABASE_UI (#10926) 2020-09-17 12:53:00 -07:00
Kasia Kucharczyk
d6be977d1b fix: address all disabled pylint checks in charts/api.py (#10932)
* Refactored put in charts/api.py to have less return statement. Removed pylint rule too-many-return-statements

* Refactored data() in charts/api.py to have less return statement. Removed pylint rule too-many-return-statements

* Pylint disabled arguments-differ check is not necessary anymore in put method

* Pylint disabled arguments-differ check is not necessary anymore in delete method

* Pylint disabled arguments-differ check is not necessary anymore in bulk_delete method. Applied black
2020-09-17 17:31:44 +01:00
Kasia Kucharczyk
8735a14ea7 Removed global pylintrc rule: old-ne-operator. Which is not applicable in code anymore. (#10915) 2020-09-17 06:47:52 -07:00
Ville Brofeldt
69081009d3 fix(legacy-druid): undefined filter key (#10931) 2020-09-17 15:10:06 +03:00
Moriah Kreeger
5623cd64ca feat: update saved query backend routing + add savedquery list (#10922)
* Update saved query backend routing + add savedquery list

* add spec fileg

* add FE flag for SIP_34_SAVED_QUERIES_UI
2020-09-16 21:08:40 -07:00
Kasia Kucharczyk
cd77797802 Removed disabled linting redefined-outer-name. Url parameters are renamed where url was already defined in class attributes (#10911) 2020-09-16 20:22:46 -07:00
Yongjie Zhao
af75bee582 feat: adding dashboard toggle fullscreen button (#10840) 2020-09-16 14:20:52 -07:00
Elizabeth Thompson
a3519b42cb fix lint errors (#10918)
Co-authored-by: Elizabeth Thompson <elizabeth@preset.io>
2020-09-16 13:42:27 -07:00
Yongjie Zhao
5099dbef6b fix: babel script broken by format string (#10902) 2020-09-16 13:35:35 -07:00
Rob DiCiuccio
d74044c2e6 Update FOSSA configuration for new requirements layout (#10848)
* Update FOSSA configuration

* test FOSSA failure

* Update FOSSA files changed regex

* Revert "test FOSSA failure"

This reverts commit a97213db78.

* pre-commit linting

* remove docker.txt check
2020-09-16 13:28:04 -07:00
Kamil Gabryjelski
281305e0cf Enable anchor-has-content rule (#10908) 2020-09-16 13:27:52 -07:00
Evan Rusackas
2a5946d117 docs: Client side redirects (one POC) (#10898)
* one simple redirect, as a test

* adding license to header
2020-09-16 13:24:26 -07:00
Elizabeth Thompson
0d90bc9920 chore: update port that cypress runs on for local vs test (#10847) 2020-09-16 12:31:03 -07:00
Elizabeth Thompson
d3e9c565b7 feat: use svg for checkbox component (#10799)
* use svg for checkbox component

* add vertical align to svg

* use emotion styling

* update import to superset core

Co-authored-by: Elizabeth Thompson <elizabeth@preset.io>
2020-09-16 12:03:14 -07:00
Elizabeth Thompson
13cc1a3d2d fix: front end CI tests and test runner (#10897) 2020-09-16 11:35:18 -07:00
Bogdan
c3f1720456 fix: superset alerting misc fixes (#10891)
* Superset alerting misc fixes

* Test 0 threshold

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-09-16 11:09:11 -07:00
Evan Rusackas
d4ee073bfe simplifying/clarifying youtube video code/datastructures (#10882)
* simplifying/clarifying youtube video code/datastructures

* adding role to clickable div
2020-09-16 09:57:04 -07:00
Evan Rusackas
87fc425be9 Fixing docs site home screen mobile layout issues (#10886)
* fixing phone layout issues, "sqlab" -> "SQL Lab"

* fixing docs width/scrolling issues

* Revert "fixing docs width/scrolling issues"

This reverts commit 53c6482083.

* minor cherry on top-> remove nowrap and improve a link in README

Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2020-09-16 09:56:56 -07:00
Erik Ritter
f9cfb3ed0e fix: spelling in docs homepage (#10912) 2020-09-16 09:48:08 -07:00
Maxime Beauchemin
0870d3ae2b docs: add back issue code links (#10903)
* docs: add back issue code links

closes: https://github.com/apache/incubator-superset/issues/10852

* Addressing comments
2020-09-16 09:28:53 -07:00
Jesse Yang
d4291edffa build: optimize eslint import resolver configs (#10901)
Use `node` resolver and `node` env for `webpack.config.js`, use
`webpack` resolver only for `src`.
2020-09-16 09:26:14 -07:00
Maxime Beauchemin
3b035d2af3 docs: redirect http -> https (#10900)
* docs: redirect http -> https

* fix issues
2020-09-16 08:24:08 -07:00
Daniel Vaz Gaspar
9246c9bdaf refactor: ASF only dependencies on base.txt (#10875) 2020-09-16 14:57:41 +01:00
Ville Brofeldt
15fe04e3ef docs: add changelog entries for 0.37.1 (#10893) 2020-09-16 12:29:03 +03:00
Evan Rusackas
1f7301025a correcting 2 steps in docs deployment readme (#10899) 2020-09-15 22:09:32 -07:00
Jesse Yang
4eeee4c2eb chore: enable eslint-import-resolver-typescript (#10895)
Let eslint understand tsconfig.json when importing modules, so we
can use `compilerOption.paths` to override where to find ts modules.
2020-09-15 15:33:49 -07:00
Moriah Kreeger
c43992bec8 feat: data menu routing (#10880) 2020-09-15 14:53:31 -07:00
ʈᵃᵢ
fe9f6148d8 fix(cypress): prevent CI failure on codecov failure (#10892) 2020-09-15 14:31:43 -07:00
Jesse Yang
0129c4253d feat: move ace-editor and mathjs to async modules (#10837)
Follow up on #10831, move brace and mathjs to async modules so that the initial page load for dashboards most pages can be faster.
2020-09-15 14:12:06 -07:00
Evan Rusackas
5d529fd844 fixing broken links (#10885) 2020-09-15 13:18:42 -07:00
John Bodley
b48dd4b7d9 chore: Using cache factory method (#10887)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-09-15 12:48:19 -07:00
Bogdan
9c420d6efe feat: implement cache invalidation api (#10761)
* Add cache endpoints

* Implement cache endpoint

* Tests and address feedback

* Set cache config

* Address feedback

* Expose only invalidate endpoint

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-09-15 11:17:21 -07:00
Ville Brofeldt
838a70ea8d docs: fix ubuntu 20.04 installation instructions (#10888) 2020-09-15 21:16:57 +03:00
ʈᵃᵢ
045335a687 fix(cypress): wait for filterValues request (#10884) 2020-09-15 09:52:44 -07:00
Kasia Kucharczyk
2a6bcbb1eb Reviewed and repaired disabled pylint in dashboard file (#10877)
* Improved exceptions and unused method arguments which were disabled in linting

* Applied black to dashboard.py
2020-09-15 08:26:04 -07:00
Yongjie Zhao
38edb69d95 Feat: Adding table comment and columns comment for SQLLab (#10844)
* Adding table comment and columns comment for backend

* fix mypy

* Fix CI

* adding wider catch

* use logger

* fix lint
2020-09-14 21:11:48 -07:00
Jesse Yang
4502690ef9 chore: clean up aphrodite (#10883) 2020-09-14 17:47:39 -07:00
Kamil Gabryjelski
01f90107e1 ESLint: Re-enable rule no-unused-vars (#10865)
* Re-enable rule no-unused-vars

* fixup! Re-enable rule no-unused-vars
2020-09-14 15:42:06 -07:00
Kamil Gabryjelski
e28f3d6220 Re-enable rule line-between-class-members (#10862) 2020-09-14 15:41:32 -07:00
Kamil Gabryjelski
91b8c8afc9 Re-enable rule state-in-constructor (#10873) 2020-09-14 13:31:11 -07:00
Kamil Gabryjelski
767044bfe5 ESLint: Re-enable rule control-has-associated-label (#10866)
* Re-enable rule control-has-associated-label

* Change aria-label message in DatasourceControl

Co-authored-by: Evan Rusackas <evan@preset.io>

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-09-14 13:00:39 -07:00
Kamil Gabryjelski
2d8f4e3aaf Re-enable rule no-else-return (#10861) 2020-09-14 13:00:07 -07:00
Kamil Gabryjelski
76275ec410 Enable rule no-plusplus (#10876) 2020-09-14 11:59:32 -07:00
Maxime Beauchemin
08ec509dc9 docs(style): make more responsive for mobile (#10853)
* docs(style): make more responsive for mobile

* Make a responsive navbar

* more fixes and tweaks

* Add README instructions
2020-09-14 11:58:45 -07:00
Kamil Gabryjelski
d93b2b99b2 Re-enable rule sort-comp (#10872) 2020-09-14 10:45:05 -07:00
Kamil Gabryjelski
a75c36281d Re-enable rule jsx-curly-brace-presence (#10869) 2020-09-14 10:44:03 -07:00
Kamil Gabryjelski
c5193ca018 Re-enable rule no-non-null-assertion (#10864) 2020-09-14 10:40:20 -07:00
Kamil Gabryjelski
1908a94c7e ESLint: Re-enable rule no-restricted-globals (#10863)
* Re-enable rule no-restricted-globals

* Fix missing semicolons
2020-09-14 10:39:46 -07:00
Kamil Gabryjelski
7f1012360a Re-enable no-useless-path-segments rule (#10860) 2020-09-14 10:38:18 -07:00
Kamil Gabryjelski
906a629b33 Re-enable rule no-unused-state (#10871) 2020-09-14 10:31:16 -07:00
Kamil Gabryjelski
352e8a1afd Re-enable rule prefer-destructuring (only for objects) (#10867) 2020-09-14 10:11:20 -07:00
Kamil Gabryjelski
c51168a30a Re-enable no-confusing-arrow rule (#10874) 2020-09-14 10:03:37 -07:00
Yongjie Zhao
a324fbd2eb Adding editorconfig setting for IDE hints (#10855)
* Adding editorconfig setting for IDE hints

* adding license to new file
2020-09-14 08:19:23 -07:00
Yongjie Zhao
b4df053156 Improvement contributing.md (#10859)
* Improvement contributing.md

* update
2020-09-14 08:12:53 -07:00
Kamil Gabryjelski
8a774d59ed Eslint dependencies versions updates (#10839)
* Update eslint version to 7.8.1

* Give names to unnamed functions  to fix lint errors

* Update eslint-import-resolver-webpack

* Update eslint-plugin-cypress

* Add eslint-plugin-react-hooks

* Update necessary peer dependencies for eslint-config-airbnb

* Update eslint airbnb config and ts plugins

* Remove "this" from functional component

* Disable all rules that cause new errors

* Fix linting errors in tests

* Add licenses to .eslintrc files

* Add path and zlib to package.json

* Disable incompatible rule in eslint-plugin-cypress

* Remove redundant config for typescript linting

* Mark disabled rules with comments

* Remove path and zlib from deps, disable import rule for webpack files
2020-09-13 23:59:02 -07:00
Jesse Yang
1f31e0eb38 feat: server side dashboard css for less repaint (#10850) 2020-09-13 21:32:43 -07:00
Moriah Kreeger
686c19abcf Fix test_connection POST body (#10846) 2020-09-11 23:33:43 -07:00
Maxime Beauchemin
6cb67017a5 style: white toolbar for SQL Lab (#10851) 2020-09-11 23:27:25 -07:00
Phillip Kelley-Dotson
85a916036c docs(new docs site): removes old sphinx doc site with gatsby (#10784)
* Remove old apache sphinx doc site with refreshed gatsby

* remove rando

* add licenses

* excluing .mdx files from license checks

* fixes

* Clean up sphinx references

* Addressed comments

* colors and tweaks

* more fixes

* add dummy docs/requirements.txt to satisfy stupid fossa

* cp .prettierrc

* more licenses

* minor touchups

* reqs

* removing old videos

* add github buttons

* prettier

* tweaks

* Eugenia/Fix some of the images and modified some of database pages

* add subheadernav

* add side headers nav and more responsive design for docs

* update resources page and other styling updates

* linting

* tweaks

* removing windows and align:center

* update resources

* remove links and and card hearder

* lots of styling tweaks

* Tweaks and minor improvements

* lint

* fix CI

* trigger pre-comimt

* rererefix CI

Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
Co-authored-by: Eugenia Moreno <eugenia@Eugenias-MBP.fios-router.home>
Co-authored-by: Evan Rusackas <evan@preset.io>
2020-09-11 22:59:12 -07:00
Moriah Kreeger
7cd96edcdf feat: add/edit database modal form sections UI (#10745) 2020-09-11 09:53:18 -07:00
Daniel Vaz Gaspar
7b2200437e fix(test): missing auth on tests (#10842)
* fix(test): missing auth on tests

* fix mock

* make test login more inline with other tests
2020-09-11 14:28:41 +01:00
cyw233
7c11c9ce16 update all python version in the Dockerfile to 3.7 (#10841)
* update all python version in the Dockerfile to 3.7

* update ubuntu 18.04 to ubuntu 20.04
2020-09-11 14:33:15 +03:00
Daniel Vaz Gaspar
136f90f87c feat: SavedQuery REST API for bulk delete and new API fields (#10793)
* feat: SavedQuery REST API for bulk delete

* fix, singular msg and test

* remove 403 from OpenAPI spec

* filter by current user using created_by add sql_tables field

* fixes for new filter, add user field on pre_update, pre_add

* add lru cache to property

* Revert "add lru cache to property"

This reverts commit ad0d9428
2020-09-11 09:36:47 +01:00
John Bodley
a3e2e65121 fix: Making the database read-only (#10823)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-09-10 16:23:24 -07:00
Jesse Yang
d80f406239 build: optimize webpack code split (#10831) 2020-09-10 15:11:21 -07:00
Lily Kuang
f0545bfe50 fix(databases): test connection api endpoint (#10824)
* fix test connection with extra

* fix lint and allow_none server_cert

* update test connection tests
2020-09-10 21:49:14 +01:00
Bogdan
ac2937a6c5 fix: use nullpool in the celery workers (#10819)
* Use nullpool in the celery workers

* Address comments

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-09-10 13:29:57 -07:00
Jesse Yang
dd7f3d5402 build: split hive and presto tests to separate jobs (#10821)
* build: split hive and presto tests to separate jobs

* Must install doc dependencies, too
2020-09-10 13:12:00 -07:00
Ville Brofeldt
8a9ae811d0 fix(sql-lab): relax column name restrictions (#10816) 2020-09-10 07:54:37 +03:00
Daniel Vaz Gaspar
e6a4808cb7 fix(tests): export dataset tests fails with presto (#10818)
* fix(tests): export dataset tests fails with presto

* debug

* debug

* skip dataset export test on presto

* add TODO on failing test
2020-09-09 21:46:28 -07:00
Grace Guo
c2216e029d Revert "chore: add logging for "dashboard" action (#10744)" (#10822)
This reverts commit e0ad9935c1.
2020-09-09 14:44:07 -07:00
rubenSastre
e4ffaecc72 Spanish translations (#10798)
* regenerate pot and some spanish translations

* keep apache license text

* json format

* priettier applied to json

* end of file test

* Update superset/translations/es/LC_MESSAGES/messages.po

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* Update superset/translations/es/LC_MESSAGES/messages.po

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* Update superset/translations/es/LC_MESSAGES/messages.po

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* Update superset/translations/es/LC_MESSAGES/messages.po

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* Update superset/translations/es/LC_MESSAGES/messages.po

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* Update superset/translations/es/LC_MESSAGES/messages.po

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* Update superset/translations/es/LC_MESSAGES/messages.po

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* Update superset/translations/es/LC_MESSAGES/messages.po

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* Update superset/translations/es/LC_MESSAGES/messages.po

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* Update superset/translations/es/LC_MESSAGES/messages.po

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>

* consistency for Charts translation

* json file with standarize Chart

* solve CI errors

* fix trailing-whitespace

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>
2020-09-09 13:38:18 -07:00
Lily Kuang
8a3ac70c06 feat(databases): test connection api (#10723)
* test connection api on databases

* update test connection tests

* update database api test and open api description

* moved test connection to commands

* update error message

* fix isort

* fix mypy

* fix black

* fix mypy pre commit
2020-09-09 13:37:48 -07:00
Jesse Yang
9a59bdda48 refactor: merge/upgrade superset-ui packages (#10790)
* refactor: merge/upgrade superset-ui packages

* Fix flaky big number test

* Fix Flaky AdhocFilters test
2020-09-09 13:18:55 -07:00
Fabio Guarini
3b4a992861 fix: bump node version on Dockerfile to be on par with docker-compose (#10813) 2020-09-09 07:53:03 -07:00
Daniel Vaz Gaspar
782f678732 fix: Database API missing allow none on fields (#10795)
* fix: Database API missing allow none on fields

* one missing
2020-09-09 09:35:27 +01:00
Ville Brofeldt
9a6697141d chore: deprecate python 3.6 support (#10803) 2020-09-09 08:51:55 +03:00
ʈᵃᵢ
50672bb11b feat: database delete warning (#10800) 2020-09-08 18:54:02 -07:00
Jesse Yang
cda232bf15 fix: ColorSchemeControl should not use CreatableSelect (#10814)
* fix: ColorSchemeControl should not be CreatableSelect

   Currently if you type to search in ColorSchemeControl it crashes the
whole page.

* Make it possible to filter by label

* Fix ColorSchemeControl unit test
2020-09-08 18:38:50 -07:00
Ville Brofeldt
3ae80d3b98 test: add rls jinja extra cache key test (#10810) 2020-09-08 07:42:48 +03:00
David Aaron Suddjian
1d76c5906e docs: Add a note to contributing.md on reporting security vulnerabilities (#10796)
* a note on reporting security vulnerabilities

* mention apache security guidelines
2020-09-07 15:51:24 +01:00
gtg472b
702cfe938f Fix: Include RLS filters for cache keys (#10805)
* Fix: Include RLS filters for cache keys

This fix makes sure that RLS filters are searched for templatable jinja content, ensuring cached visualizations aren't shown to the wrong user.

* Fix: Include RLS filters for cache keys

This fix makes sure that RLS filters are searched for templatable jinja content, ensuring cached visualizations aren't shown to the wrong user.

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-09-07 17:49:13 +03:00
ʈᵃᵢ
92f2353f80 feat: filters for database list view (#10772) 2020-09-04 16:23:38 -07:00
Daniel Vaz Gaspar
c1ff1c5d70 fix: MVC show saved query (#10781)
* fix: MVC show saved query

* remove it completely

* fix lint
2020-09-04 15:52:03 -07:00
Jason Davis
bc4f98e5b8 added creator column and adjusted order columns (#10789)
Co-authored-by: Jason Davis <@dropbox.com>
2020-09-04 10:29:36 -07:00
Daniel Vaz Gaspar
f6858256f4 security: disallow uuid package on jinja2 (#10794)
* fix: disallow uuid package on jinja2

* update UPDATING.md

* Update UPDATING.md

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-09-04 16:37:14 +01:00
Daniel Vaz Gaspar
5199423ad1 feat: CRUD REST API for saved queries (#10777)
* feat: CRUD REST API for saved queries

* debug test

* fix test

* use pytest fixtures
2020-09-03 15:46:27 -07:00
Grace Guo
596200528d fix: disable domain sharding on explore view (#10787) 2020-09-03 15:42:39 -07:00
Shaoqing Hu
9bcb15091c fix: can not type 0.05 in TextControl (#10778) 2020-09-03 12:11:34 -07:00
Ville Brofeldt
70c6764780 fix: pivot table timestamp grouping (#10774)
* fix: pivot table timestamp grouping

* address comments
2020-09-03 19:49:54 +03:00
Jason Davis
54ae3b044f fix: add validator information to email/slack alerts (#10762)
* added validator info to alerts

* adjusted format of messages

* added nits

Co-authored-by: Jason Davis <@dropbox.com>
2020-09-03 08:15:05 -07:00
Evan Rusackas
824cea24ba More Label touchups (margins) (#10722)
* labels with onClick don't need .pointer. No labels need `m-r-5`

* making Timer a proper Label

* a little linting

* addresing (helpful, thanks) comment
2020-09-02 23:13:58 -07:00
John Bodley
1ee87cc4d1 fix: dashboard extra filters (#10692)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-09-02 16:03:25 -07:00
Craig Rueda
45f4c689a2 fix: re-installing local superset in cache image (#10766)
* fix: re-installing local superset in cache image

* Fixing webpack
2020-09-02 13:01:36 -07:00
ʈᵃᵢ
7bccb38a60 feat: SIP-34 table list view for databases (#10705) 2020-09-02 11:48:21 -07:00
ʈᵃᵢ
5a4370012b refactor: convert DatasetList schema filter to use new distinct api (#10746) 2020-09-02 11:07:37 -07:00
Evan Rusackas
e0deaad5e3 chore: removing fsevents dependency (#10751) 2020-09-02 10:37:23 -07:00
Will Barrett
ff60e5c62a Fix precommit hook for docs/installation.rst (#10759)
* Fix precommit hook for docs/installation.rst

* Fix underline too short
2020-09-02 10:06:51 -07:00
Daniel Vaz Gaspar
77a3167412 feat(database): POST, PUT, DELETE API endpoints (#10741)
* feat(database): POST, PUT, DELETE API endpoints

* post tests

* more tests

* lint

* lint

* debug ci

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* cleanup

* handle db connection failures

* lint

* skip hive and presto for connection fail test

* fix typo
2020-09-02 09:58:08 -07:00
Jagadish
b5aecaff5c docs: Update OAuth configuration in installation.rst (#10748)
Co-authored-by: jagadish <jagadish@nineleaps.com>
2020-09-02 16:10:49 +01:00
Ville Brofeldt
8c564fba38 feat(viz): add ECharts Timeseries chart (#10752)
* initial commit

* Change reference to new echarts plugin

* initial commit

* Change reference to new echarts plugin

* moving dependencies to plugin

* adding pie chart

* rename piechart key

* lint

* Bump packages and implement echarts colors

* remove pie for now

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-09-02 09:18:59 +03:00
Grace Guo
e0ad9935c1 chore: add logging for "dashboard" action (#10744) 2020-09-01 20:14:22 -07:00
Jason Davis
c1f2214d7c merge db migrations (#10758)
Co-authored-by: Jason Davis <@dropbox.com>
2020-09-01 17:59:02 -07:00
Vigneshkumar Chinnachamy
aeaee811cd fix: local docker deployment (#10738)
Fix issue where dependencies listed in ./docker/requirements-local.txt are not installed
2020-09-01 17:01:10 -07:00
Evan Rusackas
5a106eb8f5 moving all @types to dev dependencies (#10750) 2020-09-01 15:32:39 -07:00
kxu
68d5a2bb7f docs: Updated Docker local install instructions (#10511)
* Updated Docker local install instructions

Updated Docker local install instructions with more detail, structure, and additional info for Linus and Windows users.

* Updated with note on Windows environment
2020-09-01 13:52:22 -07:00
Jason Davis
b59f6b1833 feat: refractored SQL-based alerting framework (#10605)
* added new tables for alerting refractor

* reformatted inheritance structure

* added workflow for updated framework

* added suggested changes

* cleaned up changes

* added obervations to alert table to enable view

* added comments

* added requested changes

* fix tests

* added styling changes

* mypy

* added requested changes

* updated operator logic

* requested changes, 1 validator, styling changes

* refactored tests

* fix test alert workflow

* fixed create_alert in test

Co-authored-by: Jason Davis <@dropbox.com>
2020-09-01 13:36:02 -07:00
Bogdan
4572ebb600 chore: log cache keys to the logs (#10678)
* Log cache keys to the logs

* Add tests

* Use separate table for the cache keys

* Add migration for the cache lookup table

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-09-01 09:41:25 -07:00
Evan Rusackas
807bd656c6 Fix: Rejiggering some dependencies, trying to get CI to pass (#10747)
* removing two duplicate devdependencies - leaving dependencies

* bumping shuffled dependencies, making fsevents non-optional

* bumping @babel/cli

* Another bump
2020-08-31 20:50:46 -07:00
Evan Rusackas
cd144b68ac style: Tabs now support AntD compound components (+ basic stories) (#10728)
* Supporting compound coponents, adding stories

* Adding a coupe o' knobs just for fun.
2020-08-31 13:56:59 -07:00
Ville Brofeldt
4392c4608f chore: bump pyarrow (#10733)
* chore: bump pandas an pyarrow

* remove unsupported kwargs

* fix types

* move pandas back to 1.0 branch due to possible MultiIndex regression
2020-08-31 19:55:53 +03:00
chuancy
234b6bbba9 fix(db-engine-spec): execute oracle DML statement bug in sqllab (#10706)
* fix execute oracle DML statement bug in sqllab

when i execute oracle sql statements like update in SQLLAB, get "oracle error: not a query" error. 

Refer https://www.python.org/dev/peps/pep-0249/, superset old version use
`cursor.description` ,because this attribute will be None for operations that do not return rows or if the cursor has not had an operation invoked via the .execute*() method yet.

* Apply suggestions from code review

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Update oracle.py

* Update oracle.py

* Update oracle.py

* Apply suggestions from code review

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Update oracle.py

* Update superset/db_engine_specs/oracle.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-08-31 08:03:07 +03:00
Maxime Beauchemin
3d8857ecc8 style: rename 'Source' top nav item to 'Data' (#10715)
* style: rename 'Source' top nav item to 'Data'

* Fix tests

* tables -> datasets

* rename datasource -> dataset

* lint

* more renaming

* use npm ci
2020-08-29 18:09:47 -07:00
Evan Rusackas
9fe30ab71e style: Pass at propagating (and enhancing) Button component throughout Superset (#10649)
* getting rid of weird focus/active outline ring

* Buttons... buttons _everywhere_

* linting

* Nixing views/CRUD/dataset/Button component

* fixing 2 typing errors

* fixing more TS errors

* prefer src path for include

* one more real button, one less CSS class

* one more "button" to "Button"

* Published Status is now a proper clickable Label

* nixing the CRUD button again

* touching up stories, with SupersetButton story

* SIP-34 button colors

* adding polished package to mix colors

* updating button colors to match Superset theme

* abstracting away from bootstrap-specific props (might pivot libraries soon!)

* more abstraction from bsStyle/bsSize props

* exchanging styles for a prop

* linting

* restoring feature flag to stock

* using src alias

* last <button> replacement

* this classname would never be applied

* more linting action

* fixing unsupported bsSize 'medium', and cta typing error

* more cta action

* unnecessary styles

* errant bsSize prop

* cleanup

* tweaks to make new New button work

* Linting

* fixing a couple tests

* fixing theme based test failure

* margin tweak for NEW button

* another fixed test

* another fixed test

* fixing two more tests

* fixing last broken tests.

* always be linting

* Adding tertiary/dashed buttons

* cleaning up QueryAndSave buttons

* fixing "link" button styles

* fixing/updating link button styles

* cta buttons on Modal component

* linting.

* exporting button story knobs, making ALL knobs safe for export.

* capitalizing a file... no big whoop

* Basic button tests

* renaming button - temporarily

* renaming file to fix capitalization issue

* passing theme through to a difficult popover.

* fixin' a newly busted unit test

* lint fixin'

* oops, shouldn't have changed this prop!

* adding a dive() to themedShallow, and fixing a cypress/jest test

* addressing lint stuff

* touching up stories, with SupersetButton story

* SIP-34 button colors

* updating button colors to match Superset theme

* abstracting away from bootstrap-specific props (might pivot libraries soon!)

* linting

* restoring feature flag to stock

* cleanup

* Linting

* renaming button - temporarily

* renaming file to fix capitalization issue

* oops, shouldn't have changed this prop!

* adding a dive() to themedShallow, and fixing a cypress/jest test

* addressing lint stuff

* nixing new modal button

* Fixing another popover/button issue that should break cypress

* lint 

* passing classNames through to new button (should fix some tests)

* cleaning unused classes, making cypress tests use data attrs

* fixin' the test

* fixing another class-based test with data-test attr

* no longer passing theme as prop to buttons in popovers... themeprovider is better

* outline/border tweaks!
2020-08-28 17:34:28 -07:00
Bogdan
33fa9ebff1 Covert celery tests to the pytest (#10704)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-08-28 17:04:30 -07:00
Erik Ritter
4e01f39733 chore: update samesite config documentation (#10720) 2020-08-28 16:14:37 -07:00
ʈᵃᵢ
d3bdea3805 fix: move menu reorg logic from crud app into Menu component (#10717) 2020-08-28 13:56:01 -07:00
Ville Brofeldt
58b075bc17 fix(jinja): extract form_data from json body (#10684)
* fix(jinja): extract form_data from json body

* add test

* disable test for presto
2020-08-28 21:26:07 +03:00
Ville Brofeldt
dd0bc472e3 refactor(database): use SupersetResultSet on SqlaTable.get_df() (#10707)
* refactor(database): use SupersetResultSet on SqlaTable.get_df()

* lint

* change cypress test
2020-08-28 21:12:03 +03:00
Daniel Vaz Gaspar
3e374dab07 fix: change public role like gamma procedure (#10674)
* fix: change public role like gamma procedure

* lint and updating UPDATING with breaking change

* fix updating text

* add test and support PUBLIC_ROLE_LIKE_GAMMA

* fix, cleanup tests

* fix, new test

* fix, public default

* Update superset/config.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* add simple public welcome page

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-08-28 10:49:10 +01:00
Moriah Kreeger
c715cad48e feat: base tabbed modal for new database CRUD UI (#10668) 2020-08-27 14:28:06 -07:00
ʈᵃᵢ
937b868321 style: add border between menu and submenu (#10698) 2020-08-27 14:15:22 -07:00
Bogdan
6ed36552e6 Use test name for the custom macros testing: (#10695)
:

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-08-27 13:12:24 -07:00
Lily Kuang
7abdf53944 fix: card view failed cypress tests (#10699) 2020-08-27 11:33:12 -07:00
Moriah Kreeger
8d94534881 style: Move security/manage navigation tabs into a settings dropdown (#10439) 2020-08-27 10:21:51 -07:00
Grace Guo
7fc227c92d fix: shorten url with extra request parameters (#10693) 2020-08-27 09:53:20 -07:00
Bogdan
19a9bcc9c5 chore: ci Initial hive support (#10593)
* Initial hive support

* Clone hive setup

* Make hive tests work locally

* Debugging presto failure

* sleep in dataset test

* Address comments

* Address comments

* Pin ipython, exclude new pylint rules

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-08-27 09:49:18 -07:00
ʈᵃᵢ
81525c3e9d feat(listview): set default view mode based on THUMBNAIL feature flag (#10691)
* feat(listview): set default view mode based on THUMBNAIL feature flag

* add spec

* better generic typing for ListView

* lint

* fix specs
2020-08-27 09:40:32 -07:00
Lily Kuang
bb92c1f84d feat: chart and dashboard card list view e2e cypress test (#10669)
* card view cypress tests

* update test config

* chart filter cypress test

* move setting to superset test config

* update test description card view
2020-08-27 09:38:12 -07:00
Ville Brofeldt
aaf04cc344 fix(filter-box): don't add empty filter to filtersChoices (#10687)
* fix(filter-box): don't add empty filter to filtersChoices

* add test
2020-08-27 12:36:02 +03:00
John Bodley
8581bda2f1 chore: Fix indentation issue (#10690) 2020-08-26 20:09:09 -07:00
ʈᵃᵢ
6ff96cfc72 refactor: useListViewResource hook for charts, dashboards, datasets (#10680) 2020-08-26 15:39:18 -07:00
ʈᵃᵢ
bc0fc4ea25 fix: SubMenu css (#10682) 2020-08-26 14:00:20 -07:00
Evan Rusackas
a95e5c9327 fix: layout flexiness (#10681) 2020-08-26 09:49:58 -07:00
Ville Brofeldt
4251b4e294 feat(row-level-security): add hook for customizing form dropdowns (#10683) 2020-08-26 11:55:35 +03:00
henryyeh
a6101f72c9 fix: only call signal if executing on the main thread (#10677) 2020-08-25 16:57:58 -07:00
John Bodley
502f4db6f9 feature: Adding extra_filters to warm_up_cache (#10675)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-08-25 15:19:34 -07:00
ʈᵃᵢ
fe574fdaa7 fix(sqllab): log exceptions caused by the user as debug and not error (#10676) 2020-08-25 14:35:50 -07:00
Evan Rusackas
4b40d44b5c style: Fancier menus, more SIP-34-ish (#10423)
* style: shinier menus

* fixing mouseover glitch

* unused import

* rm emotion-reset

* restoring default config values

* lint fixes 

* a bit more pizzaz to the underlines (max's idea), fading active background

* simplifying navtitle -> label

* RBNavDropdown  -> ReactBootstrapNavDropdown

* nixing whitespace

* replacing !importants with better selector specificity

* moving Menu LESS into Emotion

* no more border!

* fixing border issue

* language picker, account dropdown now use new dropdown component

* nixing whitespace in comment

* nixing duplicate styling

* removing borders on FAB navbar

* explicit font coloring

* linting
2020-08-24 23:16:44 -07:00
Evan Rusackas
fdfb7cdfd2 Eslint error cleanup (#10657)
* moving two console errors to logger errors

* nixing unused map index

* nixing unused param

* linting

* changing an alert to a toast

* fixing tests

* lint fix

* one letter change, just to see if iti gets CI to pass this test.
2020-08-24 14:04:27 -07:00
Ville Brofeldt
9461f9c1e0 fix(db_engine_specs): improve Presto column type matching (#10658)
* fix: improve Presto column type matching

* add optional callback to type map and add tests

* lint

* change private to public
2020-08-24 22:42:07 +03:00
Ville Brofeldt
0177c2f591 fix(db_engine_specs): mysql longtext type should not be numeric (#10661) 2020-08-24 21:24:43 +03:00
Will Barrett
52d7671204 Remove incorrect comment (#10652) 2020-08-24 10:40:36 -07:00
auxten
0f44d3edf2 Fix add chart page frontend i18n issue (#9321) 2020-08-22 21:04:18 +03:00
ʈᵃᵢ
45fee60b62 fix: remove FAB rendered menu in favor of react based one (#10401) 2020-08-21 17:19:00 -07:00
Grace Guo
aa8ff8759c feat: use shorten url in standalone iframe (#10651) 2020-08-21 15:27:15 -07:00
ʈᵃᵢ
b86c0e5727 feat(listview): skeleton loading states for table and card collections (#10606) 2020-08-21 10:32:37 -07:00
Evan Rusackas
878f06d133 feat: Getting fancier with Storybook (#10647)
* Niftier paddings

* upgrading storybook, fixing glob pattern

* moving a couple storybook dependencies to dev dependencies

* fixing annoying lint issue about dev dependencies needing to be dependencies

* adds essential addons, fixes backgrounds

* newline tweaks

* comment about no-extraneous-dependencies, higher specificity on that rule, other linting stuff

* a *python* linter doesn't like this whitespace?!

* putting the linespace back

* ugh, found the space causing CI issues... I think
2020-08-20 22:41:25 -07:00
Maxime Beauchemin
82dda473b1 fix: dedup groupby in viz.py while preserving order (#10633) 2020-08-21 08:02:02 +03:00
Erik Ritter
cb1989a4fd feat: bump superset-ui for certified tag (#10650) 2020-08-20 16:56:18 -07:00
ʈᵃᵢ
7301a363c1 feat: setup react page with submenu for datasources listview (#10642) 2020-08-20 11:42:17 -07:00
Erik Ritter
38da552a57 feat: add certification to metrics (#10630) 2020-08-19 20:45:33 -07:00
Ville Brofeldt
5136c5c16e feat(viz-plugins): add date formatting to pivot-table (#10637)
* feat: make pivot table dates formattable

* Bump npm packages
2020-08-19 23:55:59 +03:00
Evan Rusackas
84d08cb8da fix: controls scroll issue (#10644) 2020-08-19 13:19:40 -07:00
Evan Rusackas
b0380befa1 feat: Allow tests files in /src (plus Label component tests) (#10634)
* allow tests in jest confg

* sample stories for Label component

* passing tests

* stories to tsx!

* excluding knobs exports from published stories

* ts fix

* ts fix

* Label test to TS

* explicitly ignoring test files in webpack bundling

* linting stuff

* adding comment about test file exclusions
2020-08-19 12:54:26 -07:00
Lily Kuang
3f5d5cc0aa fix: remove duplicated params and cache_timeout from list_columns; add viz_type to list_columns (#10643) 2020-08-19 11:59:16 -07:00
Evan Rusackas
d0953874f2 chore: splitting button stories into separate stories (#10631)
* splitting button stories into separate stories

* lint
2020-08-18 22:47:27 -07:00
Grace Guo
3bc79191c4 refactor: remove slice level label_colors from dashboard init load (#10603) 2020-08-18 18:10:06 -07:00
Lily Kuang
a3ac5061fe feat: card view bulk select (#10607) 2020-08-18 18:04:36 -07:00
Evan Rusackas
ec7874ff98 style: Label styling/storybook touchups (#10627)
* colors corrected, hover/cursory only change if there's an onClick

* adding info label, breaking gallery out to its own story

* linting

* fixing bad class name

* now with fading!

* now supporting additional (non-bootstrap) label styles

* adding new secondary/primary labels to gallery

* fixing map key react warning

* using the new secondary label in the ChartList view

* linting

* fixing TS issue
2020-08-18 15:42:00 -07:00
Evan Rusackas
844b471509 fix: removing unsupported modal sizes (#10625)
* fix: removing unsupported modal sizes

* linting!

* NOT specifying bsSize seems to have the same effect as (unsupported) "medium"

* supporting 'large' and 'small' over 'lg' and 'sm'
2020-08-18 14:33:39 -07:00
Ville Brofeldt
ca5dc4256f feat(datasource): remove deleted columns and update column type on metadata refresh (#10619)
* fix: remove missing columns on metadata refresh

* add tests

* lint and simplify

* lint

* reduce locals

* fix label style
2020-08-18 21:47:13 +03:00
Cory Zue
4ee524736d improve documentation for country maps (#10621) 2020-08-18 09:36:35 -07:00
Maxime Beauchemin
0d3caf08e5 chore: npm audit fix as of 2020-08-15 (#10613)
* chore: npm audit fix as of 2020-08-15

* --force

* fixing copy-webpack-plugin

* lint

* resolve conflicts
2020-08-17 15:27:01 -07:00
Daniel Vaz Gaspar
692266f4f5 feat: dataset REST API for distinct values (#10595)
* feat: dataset REST API for distinct values

* add tests and fix lint

* fix mypy, and tests

* fix docs

* fix test

* lint

* fix test
2020-08-17 15:46:59 +01:00
Evan Rusackas
f868580f64 chore: bump react-redux to 5.1.2, whittling console noise (#10602)
* chore: bump react-redux to 5.1.2

* fixing spy, and thus the breaking test.

* relabeling tests to UNSAFE_componentWillReceiveProps because why not.
2020-08-16 21:29:08 -07:00
Evan Rusackas
ed9b6dbf2b fixing console error about bad html attribute (#10604) 2020-08-16 20:21:21 -07:00
Evan Rusackas
08211953b2 chore: migrate console logs to logging service (#10608) 2020-08-16 20:20:47 -07:00
Grace Guo
ca9ca99510 refactor: [migration] convert iframe chart into dashboard markdown component (#10590)
* refactor: [migration] convert iframe chart into dashboard markdown component

* remove 3 viz_types

* fix comments
2020-08-16 14:43:30 -07:00
Lily Kuang
03a62f15d8 feat: sort card view by Alphabetical, Recently Modified, and Least Recently Modified (#10601) 2020-08-14 15:07:37 -07:00
Ville Brofeldt
acb00f509c fix(chart-data-api): assert referenced columns are present in datasource (#10451)
* fix(chart-data-api): assert requested columns are present in datasource

* add filter tests

* add column_names to AnnotationDatasource

* add assertion for simple metrics

* lint
2020-08-14 20:58:24 +03:00
Ville Brofeldt
6c09b938fe docs: update CHANGELOG.md and UPDATING.md for 0.37.0 (#10600) 2020-08-14 18:56:50 +03:00
Daniel Vaz Gaspar
4dd1d1df5e fix(thumbnails): missing field, logging and new config var (#10562)
* fix(thumbnails): missing field, logging and new config var

* deprecate EMAIL_REPORTS_WEBDRIVER

* fix after merge and conflicts

* fix tests

* black
2020-08-14 14:12:44 +01:00
ʈᵃᵢ
db88cec431 feat: SIP-34 card/grid views for dashboards and charts (#10526) 2020-08-13 14:46:56 -07:00
Evan Rusackas
a3fd2b420e fix: More tweaks needed after adding Doctype tag (#10504)
* fixing last-of-type specificity

* Simplifying/consolidating styles

* fixing filterbox in explore

* linting

* adding some px to font sizes

* fixing in-dash overflow

* removing px for one special fontsize case

* simplifying, addressing comments
2020-08-13 11:50:14 -07:00
Ville Brofeldt
c0ebd7f434 fix: show error if rolling window returns empty df (#10572)
* fix: show error if rolling window returns empty df

* add test
2020-08-13 20:51:03 +03:00
Daniel Vaz Gaspar
11da6ee812 fix: dataset delete and perm delete (#10578) 2020-08-13 10:18:13 +01:00
Erik Ritter
bd88e12b8b feat: add extra column to tables and sql_metrics (#10592) 2020-08-12 15:27:29 -07:00
Craig Rueda
2aaa4d92d9 chore: Migrating reports to AuthWebdriverProxy (#10567)
* Migrating reports to AuthWebdriverProxy

* Extracting out webdriver proxy / Adding thumbnail tests to CI

* Adding license

* Adding license again

* Empty commit

* Adding thumbnail tests to CI

* Switching thumbnail test to Postgres

* Linting

* Adding mypy:ignore / removing thumbnail tests from CI

* Putting ignore statement back

* Updating docs

* First cut at authprovider

* First cut at authprovider mostly working - still needs more tests

* Auth provider tests added

* Linting

* Linting again...

* Linting again...

* Busting CI cache

* Reverting workflow change

* Fixing dataclasses

* Reverting back to master

* linting?

* Reverting installation.rst

* Reverting package-lock.json

* Addressing feedback

* Blacking

* Lazy logging strings

* UPDATING.md note
2020-08-12 13:28:41 -07:00
John Bodley
8fb304d665 docs: Update engine installation (#10509)
* Update installation.rst

* Update installation.rst

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-08-12 09:58:42 -07:00
Ville Brofeldt
85c0cad816 fix: add None checking to cast_to_num (#10584)
* fix: add None checking to cast_to_num

* fix doctest
2020-08-12 19:58:14 +03:00
Erik Ritter
a8197976fe fix: error message modal overflow (#10580) 2020-08-11 17:20:39 -07:00
Erik Ritter
a45f28ed2c Update .asf.yaml (#10581) 2020-08-11 13:17:25 -07:00
Jesse Yang
1b111b677e feat(table-viz): translation and metric column header align right (#10549) 2020-08-11 12:56:32 -07:00
Stuart Hu
890b3ca489 fix: add translate for dropdown menu (#10573)
* fix: translate dropdown menu

Signed-off-by: Stuart Hu <shijiehu@improbable.io>

* Apply suggestions from code review

Co-authored-by: iriswonderland13 <69527796+iriswonderland13@users.noreply.github.com>

Co-authored-by: Erik Ritter <erik.ritter@airbnb.com>
Co-authored-by: iriswonderland13 <69527796+iriswonderland13@users.noreply.github.com>
2020-08-11 12:26:49 -07:00
Jason Davis
c0bb86d0d6 feat: slack integration for SQL-based alerts (#10566)
* add slack functionality

* deleted unused variable

* updated test

* black

* fix rebase

* added nits

* added slack no screenshot integration

* isort

* added namedtuple for screenshot

* added test

* fix precommit

Co-authored-by: Jason Davis <@dropbox.com>
2020-08-11 11:15:31 -07:00
Daniel Vaz Gaspar
b7650b9f57 fix: disable false positive error (#10576) 2020-08-11 18:20:57 +01:00
David Aaron Suddjian
83af9d12f8 fix(sqllab): Handle long table names in SQL Lab (#10518)
* widen the autocomplete menu for table names

* display the full table name in a tooltip

* license

* Update superset-frontend/src/SqlLab/components/AceEditorWrapper/index.tsx

Co-authored-by: Evan Rusackas <evan@preset.io>

* src importing

* move autocomplete width css to main.less

* use html title attribute instead of tooltip

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-08-11 09:50:46 -07:00
Jesse Yang
a37b635674 fix(dashboard): add animation state to fix tab switch re-renders (#10475) 2020-08-11 00:57:50 -07:00
Maxime Beauchemin
613dd12fbf fix: misaligned LimitControl buttons and port jsx->tsx (#10529)
* fix: misaligned LimitControl buttons and port jsx->tsx

* addressed comments
2020-08-10 15:35:39 -07:00
Bogdan
0071d374da chore: move load examples to the fixture (#10545)
* Move load examples to the fixture

* Update tests/celery_tests.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Address feedback

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-08-10 13:20:19 -07:00
Hossein Torabi
8190dcb61f fix drill installation (#10558) 2020-08-10 11:39:46 -07:00
Bogdan
101e5b670b chore: clean up csv tests (#10556)
* Clean up csv tests

* Update tests/base_tests.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Update tests/base_tests.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* import optional

* Fix mypy error

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-08-10 11:22:38 -07:00
Jason Davis
8b9292ed05 fix: add retry to SQL-based alerting celery task (#10542)
* added retry and minimized sqlalchemy object lives

* pylint

* added try catch

* adjusted naming

* added scoped session

* update tests for dbsession

* added requested changes

* nit todo

Co-authored-by: Jason Davis <@dropbox.com>
2020-08-10 10:20:43 -07:00
John Bodley
5e944e5730 fix: Resolves #10535 (#10536)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-08-10 09:59:34 -07:00
Craig Rueda
5a908d4513 fix: Updating Dockerfile to work with updated python requirements. (#10550)
* Updating Dockerfile to work with updated python requirements.

* Adding a Docker build step to CI workflow

* Trying docker build-push

* Linting Dockerfile-dev

* Switching to dev dockerfile
2020-08-08 18:56:20 -07:00
Bogdan
fb051e9a51 Removing trailing space and fix CI (#10557)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-08-08 12:33:03 -07:00
David Aaron Suddjian
7f84927504 fix(dashboard): changing the chart title, except not (#10527)
* changing slice names in dashboard should not change chart title

* comprehensions > loops
2020-08-07 18:06:58 -07:00
kxu
3b0676f991 docs: add additional project tags (#10553)
Add additional project tags to improve project discoverability in GitHub
2020-08-07 15:55:53 -07:00
Jesse Yang
b6c6b6800a fix: table viz query mode switch not working (#10552) 2020-08-07 14:15:03 -07:00
Erik Ritter
4765f8b10d fix: embedded chart height (#10551) 2020-08-07 13:53:18 -07:00
Tanmay Laud
a6fa02aaec chore: Migrate Timer component from jsx to tsx (#10455)
* migrated LanguagePicker.jsx to tsx

* Migrated Menu.jsx to tsx

* migrated MenuObject.jsx to tsx

* migrated NewMenu.jsx to tsx

* Migrated UserMenu.jsx to tsx

* removed unnecessary export from UserMenu

* added language definition in LanguagePicker

* removed unnecessary exports from Menu.tsx

* used typeof guard for childs

* changed LanguageProps to Languages

* removed unnecessary type casting

* fixed linting errors

* migrated Checkbox to tsx

* Migrated Timer component to tsx

* fixed linting errors

* fixed test cases

* removed unused import in timer spec

* reverting changes

* renamed and then modified Timer

* changes for review comments

* fixed incorrect clear

* using stopTimer in stopwatch

* fixed lint issues

* added explicit timer cleanup

* fixed lint issue

* fixed memory leak

* renamed Timer

* added changes after git mv
2020-08-07 09:30:17 -07:00
kxu
90c9417b16 docs: Update and refresh homepage of superset.apache.org (#10477)
* Update and refresh Index

Update and refresh index with additional links to community resources, new links to `Databases' section directly to parts of the tutorial that talk about that database,  connect, align Superset topline features with same language as in GitHub

* Added link to Superset users

* Update with relative links

* Add link to docs repo

Add link to docs repo on the homepage to encourage easy access for community contribution.

* Update index.rst
2020-08-07 09:28:14 -07:00
Ville Brofeldt
08358d623b fix: handle query exceptions gracefully (#10548)
* fix: handle query exceptions gracefully

* add more recasts

* add test

* disable test for presto

* switch to SQLA error
2020-08-07 17:37:40 +03:00
Jesse Yang
ea0db0d195 bugfix: table chart query mode initial value (#10544) 2020-08-07 02:25:48 -07:00
Ville Brofeldt
363abfa1a5 fix: remove unnecessary exception when exploring non-legacy viz plugins (#10538)
* fix: remove unnecessary exception when exploring non-legacy viz plugins

* lint
2020-08-07 08:41:39 +03:00
Maxime Beauchemin
0bad77f0fe chore: TypeScript <Label /> (#10494)
* chore: TypeScript <Label />

* rebase

* chore: TypeScript <Label />

* rebase

* A bunch o' test fixes. One more to go!

* helper for mountying Emotional components with Enzyme

* asf license

* fixed last test, some linting

* improve the storybook

* Adressing comments

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-08-06 22:33:07 -07:00
Ville Brofeldt
96b9ba3364 ci: bump pre-commit py36 to py37 (#10541)
* ci: bump pre-commit py36 to py37

* add 3rd party for py37

* lint

* yet more lint
2020-08-07 06:54:22 +03:00
Erik Ritter
fd2d1c58c5 Revert "chore: Cleanup database sessions (#10427)" (#10537)
This reverts commit 7645fc85c3.
2020-08-06 15:33:48 -07:00
Erik Ritter
2055ecc1ba feat: refactor error components and add database issue code (#10473)
* feat: refactor error components and add database issue code

* Apply suggestions from code review

Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>

Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2020-08-06 13:22:24 -07:00
Bogdan
62b873e3da feat: welcome presto to the suite of tested databases (#10498)
* Add presto to the CI

Sample test data

Datetime conversion

Sample test data

Fix tests

* TODO to switch to timestamps

* Address feedback

* Update requirements

* Add TODOs

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-08-06 12:07:22 -07:00
Daniel Vaz Gaspar
749581d534 fix(log): don't log exceptions on test connection (#10522)
* fix(log): don't log exceptions on test connection

* fix lint
2020-08-06 07:58:22 +01:00
Maxime Beauchemin
ece91928a9 style: use tabs in dashboard edit pane (#10394)
* style: use tabs in dashboard edit pane

* fix tests

* more hackin'

* getting ready to rip cell measurer

* working

* pogress

* Fix cards

* done

* fix jest

* fix cy
2020-08-05 18:53:53 -07:00
Natalie Ruhe
51a88cb19b feat: Add antd to the codebase (#10508) 2020-08-05 13:50:30 -07:00
Ville Brofeldt
3983fff084 ci: bump tests to 3.7 and add support for 3.8 (#10110) 2020-08-05 13:29:07 +03:00
simchaNielsen
57dc7622b4 fix: show label for filters in filter box in explore (#10412)
* fix: show label for filters in filter box in explore

* test: add test for label in filter box

* test: add test / fix lint

* fix: fix CR notes

* refactor: add label propType to FilterBoxItemControl.jsx
2020-08-05 09:23:11 +03:00
Evan Rusackas
3d74c3ce56 feat: storybook for Icon component (#10515)
* storybook for Icon component

* fixing webpack aliases

* linting 

* Icons are now in a nice little grid.

* lint

* EOF fix for alert.txt. Ugh.
2020-08-04 22:39:14 -07:00
Hossein Torabi
514b29f6df fix db installaion (#10425) 2020-08-04 21:51:32 -07:00
John Bodley
cda764fd4b chore: Adding pip-compile-multi et al. (#10499)
* chore: Adding pip-compile-multi et al

* Specify requirements.txt path for fossa

* [ci] Fixing CI

Co-authored-by: John Bodley <john.bodley@airbnb.com>
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
2020-08-04 19:31:52 -07:00
Jason Davis
72ced53d2a feat: make screenshot timeout configurable (#10517)
* made screenshot timeout configurable

* added default value to config and refractored use

* black

* updated config comment

* moves config variables to thumbnail section

Co-authored-by: Jason Davis <@dropbox.com>
2020-08-04 17:16:31 -07:00
Moriah Kreeger
e040bf7acf feat: add favorite star to dashboard and chart lists (#10510) 2020-08-04 16:34:50 -07:00
Moriah Kreeger
523c6b77bf fix: update time range select tooltip (#10458) 2020-08-04 16:34:20 -07:00
Jason Davis
0d91b3ee6e fix: make SQL-based alert email links user friendly (#10519)
* make urls user friendly

* formatting

Co-authored-by: Jason Davis <@dropbox.com>
2020-08-04 15:45:38 -07:00
Jesse Yang
246add45a0 fix: explore panel missing padding (#10505) 2020-08-04 15:08:28 -07:00
kxu
bdfabc23e7 Add link to July community meetup (#10513)
Add link to July community meetup
2020-08-04 13:29:58 -07:00
Jason Davis
aa479fb002 feat: updated email format for SQL-based email alerts (#10512)
* added sql statement and link to chart in alert email

* pylint

* updated email to include link to alert

* style changes

* pylint

* added todo and fixed formatting of email

Co-authored-by: Jason Davis <@dropbox.com>
2020-08-04 13:20:02 -07:00
Lily Kuang
fa07506d0d feat: dataset editor improvements (#10444) 2020-08-04 11:52:35 -07:00
Jason Davis
9c5b0e1c86 fix: refactored SQL-based alerts to not pass sqlalchemy objects as args (#10506)
* refractored alerting to not pass sqlalchemy obj as args

* updated to pass only alert id as arg

* used object id instead of argument

* updated alerts_tests.py to reflect change

Co-authored-by: Jason Davis <@dropbox.com>
2020-08-04 09:52:32 -07:00
Evan Rusackas
5bb8b9790f docs: new contributing language around adding new plugins (#10507)
* Update CONTRIBUTING.md

* nixing bugfix line (unnecessary)

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>

* proper caps on TypeScript

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-08-03 20:14:25 -07:00
Maxime Beauchemin
c58bb852db docs: add a '.asf.yaml' file to configure our GitHub (#10502)
* docs: add a '.asf.yaml' file to configure our GitHub

More info here:
https://cwiki.apache.org/confluence/display/INFRA/git+-+.asf.yaml+features#git.asf.yamlfeatures-GitHubsettings

Where I found out:
https://issues.apache.org/jira/browse/INFRA-20621

* Addressing comments
2020-08-03 17:45:05 -07:00
kxu
d6b7cae5de docs: Add supported database logos (#10368) 2020-08-03 13:50:52 -07:00
Hossein Torabi
825f993dcb authentication type methods docs (#10378) 2020-08-03 12:42:03 -07:00
Bogdan
ab404ea2cf Sample test data (#10487)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-08-03 09:08:49 -07:00
John Bodley
821916a681 chore: pre-commit run --all-files (#10500)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-08-02 14:32:17 -07:00
Jesse Yang
ce10e13ec3 test: schedules test refactor (#10492) 2020-07-31 12:05:39 -07:00
Stuart Hu
704f89c1db add translate string to zh locale (#10481)
Signed-off-by: Stuart Hu <shijiehu@improbable.io>
2020-07-31 11:23:29 -07:00
Ville Brofeldt
a43ee22f11 style: replace inclusive/exclusive on DateFilterControl with </≤ (#10420)
* feat: improve filter control tooltips

* add styles

* break out utils into own file

* lint

* add tests

* styled component now working

* lint

* add license headers

* replace shallow with mount due to withTheme

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-07-31 20:06:04 +03:00
Ville Brofeldt
9eab29aeaa fix: enforce mandatory chart name on save and edit (#10482)
* fix: show empty charts as empty in chart list view

* migrate ControlLabel to FormLabel and enforce requred fields

* lint

* reorder buttons
2020-07-31 19:30:02 +03:00
Ville Brofeldt
6243a46ca6 feat: add linear color scale to sunburst chart (#10474) 2020-07-31 19:29:27 +03:00
Ville Brofeldt
9d9c34835a fix: support non-string groupbys for pie chart (#10493)
* chore: add unit tests to pie chart

* refine logic for floats and nans and add more tests
2020-07-31 11:19:21 +03:00
John Bodley
7645fc85c3 chore: Cleanup database sessions (#10427)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-07-30 23:07:56 -07:00
Jesse Yang
7ff1757448 build: optimize GitHub Actions for building speed and stability (#10485) 2020-07-30 22:28:56 -07:00
Jason Davis
7a329c25e9 feat: add test email functionality to SQL-based email alerts (#10476)
* added test email functionality

* formatting changes

* more formatting

* applied requested changes

* mypy

Co-authored-by: Jason Davis <@dropbox.com>
2020-07-30 13:27:22 -07:00
Jason Davis
c9cb723cab made screenshot drivertype configurable (#10472)
Co-authored-by: Jason Davis <@dropbox.com>
2020-07-30 11:19:29 -07:00
Evan Rusackas
16459ad401 style: DOCTYPE tag, and related CSS cleanup/refactoring (#10302) 2020-07-29 18:49:32 -07:00
Maxime Beauchemin
e6e6b49372 style: FilterSelect style tweaks (#10446)
* style: FilterSelect style tweaks

* using withTheme to avoid raw supersetTheme

* lint

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-07-29 16:55:02 -07:00
Maxime Beauchemin
edaf785815 fix(sqllab): button width isn't wide enough for 'Run Selection' (#10461) 2020-07-29 16:21:21 -07:00
Maxime Beauchemin
796f8e7d26 style: make database list less bloated (#10462) 2020-07-29 16:14:39 -07:00
Erik Ritter
1fbd920902 fix: timeout error message (#10478) 2020-07-29 15:58:46 -07:00
Hossein Torabi
259a344fd1 test: upload excel (#10467) 2020-07-29 12:50:39 -07:00
ʈᵃᵢ
78cad9a4a8 refactor(listviews): use correct filter endpoints for charts and datasets (#10442) 2020-07-29 11:00:19 -07:00
David Aaron Suddjian
7f70a241f9 test: Add jest-enzyme assertion library for better frontend tests (#10459)
* adding jest-enzyme

* enzymeify lots of assertions

* types for jest-enzyme
2020-07-29 10:53:06 -07:00
Daniel Vaz Gaspar
671461d0d0 feat(api): database schemas migration to new API (#10436)
* fix(log): log crashes if expired or not authenticated

* fix lint and rison

* add tests

* more tests

* perm fix

* fix test not found

* JS lint

* fix Jest test
2020-07-29 09:33:15 +01:00
Daniel Vaz Gaspar
0aad9c6f48 fix(log): log endpoint authentication (#10435)
* fix(log): log crashes if expired or not authenticated

* add auth to log endpoint
2020-07-29 09:32:10 +01:00
pphszx
473fe1003a fix: excel sheet upload is not working (#10450)
* remove conflicts with csv upload

* revert StringField

* change description

* remove redundant space

* apply string approach
2020-07-29 10:20:44 +03:00
Moriah Kreeger
c716f7afe8 fix: change "add new slice" copy to "add new chart" (#10457) 2020-07-28 18:28:22 -07:00
Jason Davis
d065633c81 fix: Implement updates to SQL-based email alerts (#10454)
* implemented updates to alerting

* fixed imports and teardown

* changed unittest to pytest conventions

* add app_context to tests

Co-authored-by: Jason Davis <@dropbox.com>
2020-07-28 16:48:42 -07:00
Beto Dealmeida
4f678272d6 fix(presto): Handle ROW data stored as string (#10456)
* Handle ROW data stored as string

* Use destringify

* Fix mypy

* Fix mypy with cast

* Bypass pylint
2020-07-28 16:05:58 -07:00
Lily Kuang
39fad8575c feat: update dataset editor modal (#10347) 2020-07-28 15:53:20 -07:00
Moriah Kreeger
e89e60df76 style: update +NEW button to use Button component, add dropdownItems prop to Button (#10422) 2020-07-28 14:29:52 -07:00
Tanmay Laud
9914ae1b52 chore: migrate Checkbox to tsx (#10453) 2020-07-28 11:46:36 -07:00
Ville Brofeldt
fc28c92f57 feat: support non-numeric columns in pivot table (#10389)
* fix: support non-numeric columns in pivot table

* bump package and add unit tests

* mypy
2020-07-28 10:40:53 +03:00
Maxime Beauchemin
5e93f00a53 docs: pointers to plugins blog post (#10251)
* docs: pointers to plugins blog post

* fix build
2020-07-27 22:46:37 -07:00
Evan Rusackas
98437fb3c9 chore: removing VictoryTheme.js (#10445) 2020-07-27 21:12:45 -07:00
ʈᵃᵢ
6f56cd5e9d feat(listviews): SIP-34 filters for charts, dashboards, datasets (#10335) 2020-07-27 10:14:11 -07:00
Tanmay Laud
4b3d6d1fbd chore: migrated Menu component to tsx (#10426)
* migrated LanguagePicker.jsx to tsx

* Migrated Menu.jsx to tsx

* migrated MenuObject.jsx to tsx

* migrated NewMenu.jsx to tsx

* Migrated UserMenu.jsx to tsx

* removed unnecessary export from UserMenu

* added language definition in LanguagePicker

* removed unnecessary exports from Menu.tsx

* used typeof guard for childs

* changed LanguageProps to Languages

* removed unnecessary type casting

* fixed linting errors
2020-07-27 09:03:24 -07:00
Stuart Hu
f7465902e4 update code (#10430)
Signed-off-by: Stuart Hu <shijiehu@improbable.io>
2020-07-27 12:48:11 +03:00
Daniel Vaz Gaspar
562012c586 fix(permissions): alpha role has all full features (#10241)
* fix(permissions): alpha role is inconsistent

* reverse and allow Alpha to access manager menu

* Bump FAB to 3.0.1rc1 to include del permission fix

* add docs, tests and UPDATING

* EOL

* Fix query view for Alpha
2020-07-27 10:32:30 +01:00
Jesse Yang
d45ef1c513 fix(dashboard): chart rerender when switching tabs (#10432) 2020-07-27 11:50:08 +03:00
Ville Brofeldt
5b6ff4944c fix: incorrect filter operator emitted by Filter Box (#10421)
* fix: equals operator in filter box

* fix time range endpoint schema

* fix test

* bump packages

* fix tests

* lint
2020-07-26 12:40:03 +03:00
Maxime Beauchemin
ea3c3bbae4 style: SIP-34 labels (#10403)
* style: SIP-34 labels

Aligning with SIP-34 designs for labels/pills. Going uppercase fixes the
padding issues we had before, and the rounder pills look better.

Cleaning up some CSS in the process

* lint
2020-07-24 18:03:38 -07:00
ʈᵃᵢ
09dfbab7ed fix: allow creating table option and remove schema requirement in dataset add modal (#10369) 2020-07-24 13:17:44 -07:00
Maxime Beauchemin
0483c26254 style(sqllab): fixed button width as label changes (#10404)
As the label change from RUN to STOP, the row of button shifts
left/right. This fixes the width so that it doesn't jitter.
2020-07-24 10:05:07 -07:00
Maxime Beauchemin
a10b185248 chore: deactive flaky filter test (#10406)
Flaky tests hurt everyone's cognitive load. Let's deactivate for now and
revisit.
2020-07-23 23:33:26 -07:00
Moriah Kreeger
6fde7f8984 style: add fade transition to bottom border on navbar menu items (#10402)
* Add fade transition to bottom border on navbar menu items

* lint fix

* use theme variables

* fix spec
2020-07-23 12:49:28 -07:00
Daniel Vaz Gaspar
2fd37b18e3 fix(api): fixes perf on charts and introduces sorting by database on datasets (#10392) 2020-07-23 11:19:05 -07:00
Daniel Vaz Gaspar
e0264060c3 fix(charts): disable CSRF for chart data endpoint (#10397) 2020-07-23 10:44:25 +01:00
Daniel Vaz Gaspar
98a11e7cf2 fix(api): fixes openapi spec errors and adds a test to validate all spec (#10393) 2020-07-23 10:43:41 +01:00
Maxime Beauchemin
b438ba9ed5 chore: wiring ControlLabel to a new FormLabel (#10388)
* chore: wiring ControlLabel to a new FormLabel

Creating new simple <FormLabel /> component and wiring all <label>
and react-bootstrap.ControlLabel towards it.

FormLabel becomes a pivotal point that can be altered to point to AntD
when we're ready.

* lint

* ViewportControl

* addressing comments
2020-07-23 00:27:22 -07:00
Maxime Beauchemin
ea53916730 feat: SIP-34 explore save modal (#10355)
* feat: SIP-34 explore save modal

* using a const for the session storage key

* backend changes

* minor tweaks

* more tweaks

* radio cosmetics

* styles

* fix tests

* CreatableSelect\!

* Fix cypress & lint

* fix unit

* lint
2020-07-23 00:26:29 -07:00
Ville Brofeldt
9a5d812ee6 fix: pie chart multiple groupbys (#10391) 2020-07-23 09:22:48 +03:00
Lily Kuang
37f9b513fe fix: dataset list filters bug (#10398)
* fix dataset list filters

* update database endpoint query params using rison encode
2020-07-22 22:23:44 -07:00
Ville Brofeldt
3fdc141b82 fix: bump pivot-table and rose (#10400) 2020-07-23 01:02:08 +03:00
Evan Rusackas
ca71d4d6ee feat: adding Storybook to Superset (#10383)
* Storybook added!

* starting to configure junk....

* Storybook works!!!

* Now with theme!

* apache boilerplate

* more apache comments

* lots o' knobs for the Button.... taking stock of the codebase

* more classes, but killing the knob for now.

* nixing unused module

* linting

* fresh package-lock

* now with tooltip!

* adding path and zlip because the linter told me to

* upgrading storybook packages from devdeps

* linting

* removing cruft

* killing an annoying (and old?) lint issue

* lint fix, take 2.

* removing zlib/path

* package lock reset from master

* re-adding new packages for this here PR

* nixing console log, simplifying

* nixing comment TODOs (done enough!)

* basic docs.
2020-07-22 10:21:25 -07:00
Daniel Vaz Gaspar
961108625e fix(datasets): sort and humanized modified by (#10380)
* fix(datasets): sort and humanized modified by

* size xl on changed_on_delta_humanized

* Fix, tests

* Fix, tests

* Fix, frontend tests

* remove debug flag
2020-07-22 11:34:47 +01:00
Ville Brofeldt
5f7bb8e7bd fix: treemap template literal (#10382) 2020-07-22 07:49:35 +03:00
ʈᵃᵢ
4cb44561d7 style: make listviews overflow scroll; convert less to emotion (#10384) 2020-07-21 21:41:09 -07:00
Maxime Beauchemin
485cd11ebb style: SIP-34 control-label (#10381) 2020-07-21 20:30:36 -07:00
Maxime Beauchemin
dc4b1b1271 style: add warning msg to "Change Datasource" modal (#10379) 2020-07-21 10:07:58 -07:00
Maxime Beauchemin
85169f2f1c chore: remove QueryView (ModelView) (#10162)
* chore: deprecate QueryView (ModelView)

* lint

* fix unit tests
2020-07-21 09:14:15 -07:00
Ville Brofeldt
9b8da40295 feat: add TXT as default CSV extension (#10371) 2020-07-21 17:04:29 +03:00
Ville Brofeldt
3c39b26c99 fix: extra filters for chart data endpoint (#10359)
* fix: extra filters

* fix old test and add new test

* add test for null filter value

* leave lowercase until all operators are fully uppercased

* bump packages

* rename test
2020-07-21 08:24:50 +03:00
Maxime Beauchemin
61544de6c3 chore: uniform icons across list views (#10363)
* chore: uniform icons across list views

* smaller modals

* integrating comments
2020-07-20 19:56:51 -07:00
Erik Ritter
5fa4680447 feat: update timeout error UX (#10274) 2020-07-20 15:32:17 -07:00
kxu
d92cb66f60 docs: add and update README badges (#10366) 2020-07-20 14:14:09 -07:00
Phillip Kelley-Dotson
7d10669ca8 move control panel to filterbox folder (#10346) 2020-07-20 13:40:00 -07:00
Bogdan
7075c2ff69 Pin slack client, breaking change (#10345)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-07-20 09:20:05 -07:00
Ville Brofeldt
7af8b2b3f8 feat: add optional prophet forecasting functionality to chart data api (#10324)
* feat: add prophet post processing operation

* add tests

* lint

* whitespace

* remove whitespace

* address comments

* add note to UPDATING.md
2020-07-20 18:46:51 +03:00
bryanck
73797b8b64 check for empty dataframes before processing results (#10361)
Co-authored-by: Bryan Keller <bkeller@netflix.com>
2020-07-19 17:19:30 +03:00
kxu
1a41ea4988 fix: update community Slack link (#10360) 2020-07-17 14:10:50 -07:00
John Bodley
a7a96430cf chore: Silencing unused thumbnail cache config (#10291) 2020-07-17 10:09:12 -07:00
Erik Ritter
5984df3522 chore: enable no-static-element-interactions eslint rule (#10351) 2020-07-17 09:19:16 -07:00
Daniel Vaz Gaspar
aaad4522f0 fix: group by with timestamp granularity (#10344)
* fix, group by with timestamp granularity

* fix, bug found by mypy

* lint

* comment

* Following ville's solution

* lint and comments
2020-07-17 16:03:39 +01:00
Erik Ritter
09de805017 chore: enable no-unused-vars and prefer-template eslint rules (#10350) 2020-07-16 19:13:59 -07:00
ʈᵃᵢ
0eee6785a8 feat(listviews): SIP-34 Bulk Select (#10298) 2020-07-16 16:07:49 -07:00
Daniel Vaz Gaspar
2b061fc64b fix: modified by column on charts and dashboards (#10340) 2020-07-16 23:15:47 +01:00
Daniel Vaz Gaspar
e4c9c7364b tests: update test run doc and add some improvements (#10339)
* fix: update tests/run.sh README to pytest and some improvements

* update docs

* nit

* fix doc
2020-07-16 13:03:49 +01:00
Daniel Vaz Gaspar
4529812a10 refactor: database API OpenAPI spec and location (#10303)
* refactor: database API OpenAPI spec and location

* fix isort and license

* fix description
2020-07-16 09:01:56 +01:00
Ville Brofeldt
611dd7a8f6 fix: make __time an ok column name in SQL Lab (#10336) 2020-07-16 10:34:50 +03:00
Maxime Beauchemin
2341e8d585 docs(readme): move Slack guidelines to CODE_OF_CONDUCT (#10315)
The Slack community guidelines are kind of wordy and best belong as part
of our code of conduct.

Let's make `README.md` super streamlined, and link out to resources like
this one.
2020-07-15 15:21:20 -07:00
Grace Guo
2f147cfedc fix: add additional ui tweaks (#10275)
* fix: add additional ui tweaks

* use fa fa-close class for x icon

* use new svg icons
2020-07-15 14:05:30 -07:00
Jesse Yang
a94744b984 fix(table-viz): value "undefined" for column.name (#10325)
Bump table viz plugin to fix a bug: apache-superset/superset-ui#686
2020-07-15 13:24:56 -07:00
Daniel Vaz Gaspar
74cb82e1ad fix: humanised changed on UTC on dashboards and charts (#10321)
* fix: API marshmallow3 drop utc for naive datetime fields

* fix: API marshmallow3 drop utc for naive datetime fields

* fix, tests

* isort and test

* black

* add and fix test

* fix comment
2020-07-15 19:09:32 +01:00
Ville Brofeldt
ac85aebe4a chore: prefer allow/deny terminology (#10320)
* chore: prefer allow/deny terminology

* fix tests

* add PR reference
2020-07-15 19:22:46 +03:00
Erik Ritter
66b0239eca chore: type welcome (#10317) 2020-07-15 08:38:43 -07:00
Maxime Beauchemin
b4cd57b7bd chore: remove unused files from root (#10318)
Also moving 2 bash scripts to the scripts/ folder.

This is part of a series of commit cleanup up the main page on GitHub,
mostly focused on the content of the README, but might as well groom the
root folder a bit
2020-07-14 22:40:34 -07:00
Erik Ritter
6ae9f3af8e feat: add download as image button to explore (#10297) 2020-07-14 16:40:12 -07:00
Erik Ritter
518dbd05b6 chore: add typing to more sqllab components (#10278) 2020-07-14 16:39:56 -07:00
Erik Ritter
80902bca50 chore: add typing to profile (#10282) 2020-07-14 16:39:37 -07:00
Maxime Beauchemin
11ae48062f fix: broken glyphicons used in react-json-schema (#10267)
I'm working on a talk for the Airflow Summit
"Advanced Apache Superset for Data Engineers" and showing the "Schedule
Query" feature that Beto contributed a while back (behind a feature flag).

I found that the glyphicons used in `react-json-schema` are broken and
came up with an easy fix.

Also other minor tweaks on the feature.
2020-07-14 15:40:39 -07:00
Maxime Beauchemin
0244e2c333 docs(readme): license info in README is redundant (#10314)
Info in in the standard `LICENSE.txt` that GitHub picks up properly and
surfaces in the east panel in the main page.
2020-07-14 13:27:02 -07:00
Ville Brofeldt
7eb00481de fix: leave null timestamp unformatted in view results table (#10313) 2020-07-14 19:12:06 +03:00
Daniel Vaz Gaspar
266238caab fix: Bump FAB to 3.0.1 fix superset init (#10310) 2020-07-14 15:16:45 +01:00
Ville Brofeldt
42b6347fca fix: fix csv and query result type and QueryObject schema (#10312) 2020-07-14 16:37:19 +03:00
Ville Brofeldt
c44ee06b5d fix(chart-data-api): improve chart data endpoint errors (#10300)
* fix: improve chart data error response

* Populate error_message in QueryResult

* add tests

* Lint + fix incorrect raise

* add more tests
2020-07-14 12:40:00 +03:00
Daniel Vaz Gaspar
3922348351 refactor: dashboards OpenAPI spec (#10301)
* refactor: dashboards OpenAPI spec

* small fix
2020-07-14 08:56:23 +01:00
Jesse Yang
96e0da9fea fix(table-viz): table chart time column should use default (#10293) 2020-07-13 23:44:57 -07:00
Erik Ritter
f9c2600efc chore: clarify logging source field (#10306) 2020-07-13 21:16:51 -07:00
Bogdan
7abe3e5182 Add more fields to the log API (#10271)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-07-13 18:06:33 -07:00
Ville Brofeldt
b316f723a1 fix(chart-data-api): case insensitive evaluation of filter op (#10299)
* fix(chart-data-api): case insensitive evaluation of filter op

* fix(chart-data-api): case insensitive evaluation of filter op

* mypy

* remove print statement

* add test
2020-07-13 17:21:02 +03:00
Daniel Vaz Gaspar
f801d4f815 refactor: charts OpenAPI spec (#10287) 2020-07-13 09:47:56 +01:00
Evan Rusackas
93753cf2f8 fix: saving custom CSS correctly (#10289) 2020-07-12 21:14:10 -07:00
kxu
ba4777cf36 docs: create INTHEWILD.md (#10212)
* Create INTHEWILD.md

Create INTHEWILD.md to: 1. collect all Superset users into a single document and shorten README to make it more usable; 2. Categorize users into broad industry categories, which makes the document more useful as a reference for new users looking for industry peers and best practices (e.g. healthcare industry has unique needs and use cases); 3. removed some companies, whose website is inaccessible or defunct.

* Update INTHEWILD.md

* Update INTHEWILD.md

* Update README.md

* Update INTHEWILD.md

* Update INTHEWILD.md

* Update README.md
2020-07-12 18:56:02 -07:00
Lily Kuang
9d757403be fix: fetch datasets list after dataset created successfully (#10290) 2020-07-11 20:57:54 -07:00
Ville Brofeldt
1f5eec1c4a chore: improve release documentation (#10292)
* fix: releasing readme.md

* fix: improvements to release documentation
2020-07-11 19:00:02 +03:00
Evan Rusackas
06fd1b5e4d logo gets the vertically-centered flexbox treatment in jinja template (#10281) 2020-07-10 16:11:49 -07:00
Lily Kuang
3b4df51848 style: new toast design closer to SIP-34 (#10178) 2020-07-10 14:58:59 -07:00
Lily Kuang
80b06f6827 feat: update delete modal for dataset (#10258)
* update delete modal for dataset

* update datasetList to use hooks

* fix typo on dataset delete modal
2020-07-10 14:23:17 -07:00
Jesse Yang
4d179622fa fix(explore): edit datasource does not update control states (#10284) 2020-07-10 12:46:25 -07:00
John Bodley
4e4ccd48d6 chore: Releasing SQL Lab Celery results (#10279)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-07-10 09:53:57 -07:00
John Bodley
3f2f5e8311 chore: Bumping Celery (#10280)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-07-10 09:12:12 -07:00
Ville Brofeldt
14260f9843 feat: add contribution operation and fix cache_key bug (#10286)
* feat: add contribution operation and fix cache_key_bug

* Add contribution schema
2020-07-10 17:06:05 +03:00
Maxime Beauchemin
7d4d2e7469 fix(explore): 'Edit Datasource' is missing from btn-dropdown (#10283)
Not sure how it got broken but he's a fix. I'm thinking this is related
to the controls refactor.

closes https://github.com/apache/incubator-superset/issues/10247
2020-07-10 00:11:53 -07:00
Jesse Yang
af864e9fff fix: deckgl dimension select missing options (#10277)
Fixes #10246
2020-07-09 18:27:05 -07:00
Maxime Beauchemin
a460fdf0f8 docs(fix): /swaggerview/v1 has moved to /swagger/v1 (#10276) 2020-07-09 15:16:52 -07:00
serenajiang
c67b1abfd8 fix(csv upload): hive params typo (#10273)
* fix(csv upload): fix :params typo

* fix tests
2020-07-09 11:25:35 -07:00
Ville Brofeldt
c0d663db9a feat: show formatted dates instead of epoch on results (#10268) 2020-07-09 20:48:53 +03:00
Nilanjan Sarkar
300b2bbf2d fix: Fixed bug for issue #9967 (#10269)
* Added formatted file setup.cfg

* lint

Co-authored-by: Nilanjan1.Sarkar <nilanjan1.sarkar@ril.com>
2020-07-09 16:15:07 +03:00
Daniel Vaz Gaspar
6224edd42d fix: dashboard endpoint sig changed (#10220)
* fix(thumbnails): dashboard endpoint sig changed

* fix, flask get url for Superset.dashboard

* add simple test
2020-07-09 11:42:38 +01:00
Jesse Yang
e94c9804a2 fix: optimize mapStateToProps for chart controls (#10264) 2020-07-09 00:33:48 -07:00
Evan Rusackas
8d9bb5f472 feat: revised icons (#10263)
* fix: recoloring favicon

* fix: recoloring readme logo
2020-07-08 17:49:12 -07:00
Grace Guo
ab5ce82f7b fix: issue in getting filter_box config (#10262) 2020-07-08 17:24:21 -07:00
Evan Rusackas
3dfa4aa15d chore: nixing requiresTime (#10259) 2020-07-08 17:10:03 -07:00
Grace Guo
f6ccd61547 [fix] disable search all options by default (#10260) 2020-07-08 16:43:38 -07:00
Grace Guo
6690963ec2 feat: minor reorder SQL Lab Tab controls (#10257) 2020-07-08 16:21:47 -07:00
Ville Brofeldt
baeacc3c56 feat(chart-data-api): make pivoted columns flattenable (#10255)
* feat(chart-data-api): make pivoted columns flattenable

* Linting + improve tests
2020-07-08 13:35:53 +03:00
Daniel Vaz Gaspar
4252770d50 docs: update upgrading for FAB3 OAuth change (#10253)
* docs: update upgrading for FAB3 OAuth change

* Update UPDATING.md

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-07-08 10:40:23 +01:00
Daniel Vaz Gaspar
7ecff0e513 fix: datasets related objects, apply filter and openapi spec (#10252)
* fix, datasets related objects, apply filter and openapi spec

* fix, add 404 test

* fix, add 404 test

* fix test
2020-07-08 10:04:05 +01:00
Jesse Yang
e5761d3cf7 fix(table-viz): JS error when sort time column (#10250) 2020-07-07 21:28:09 -07:00
Grace Guo
f849103374 feat: Typeahead searchable filter_box for dashboard (#10210)
* [WIP] Typeahead dashboard filter_box

* Make it work

* add config option for async filter_box

* enable for > 1000 options only

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
2020-07-07 09:31:18 -07:00
Daniel Vaz Gaspar
878dbcda3f feat(api): bump marshmallow and FAB to version 3 (#9964)
* feat(api): bump marshmallow and FAB to version 3

* revert query context tests changes

* obey mypy

* fix tests

* ignore types that collide with marshmallow

* preparing for RC2

* fix tests for marshmallow 3

* typing fixes for marshmallow

* fix tests and black

* fix tests

* bump to RC3 and lint

* Test RC4

* Final 3.0.0

* Address comments, fix tests, better naming, docs

* fix test

* couple of fixes, addressing comments

* bumping marshmallow
2020-07-07 13:26:54 +01:00
John Bodley
bacf567656 chore: Cleaning up types and names for SQLA models (#10248) 2020-07-06 20:59:17 -07:00
Evan Rusackas
569e4a7c50 chore: Revised logo (new color), w/CSS for vert alignment (#10237)
* out with the old, in with the new

* vertically centering logo once and for all

* lint: black instead of IDE formating

* touch config.py

* Styles -> StyledHeader

* nixing vestigial SVG

* removing trademark

Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2020-07-06 17:30:18 -07:00
Lily Kuang
b9e0678752 feat: dataset api endpoint for charts and dashboards count (#10235)
* create GET endpoint for charts and dashboards count associated to a dataset

* add test for chart and dashboard count dataset
2020-07-06 16:25:57 -07:00
Bogdan
84f8a51458 feat: support nulls in the csv uploads (#10208)
* Support more table properties for the hive upload

Refactor

Add tests, and refactor them to be pytest friendly

Use lowercase table names

Ignore isort

* Use sql params

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-07-06 13:26:43 -07:00
Maxime Beauchemin
318e5347bc feat: Alerts! allowing users to set SQL-based email alerts with screenshots (#9944)
* feat: add support for alerts

* Add ModelViews

* First pass at adding scheduled Alert support

* Fix syntax errors

* Add log_retention and database to model

* Improving screenshots

* Still refactoring screenshots

* Pass down thumb_size properly

* Progress on screenshot endpoint

* Add alerts.last_eval_dttm and alert query logic

* Getting ready to split compute_screenshot and screenshot/{SHA}

* split the endpoints

* Improving alerting loop

* empty methods

* Add CLI command 'superset alert' that runs a sched loop

* Getting things to work

* email delivery

* A working email\!

* Add feature flag

* Add some description_columns to AlertModelView

* Little tweaks

* Use database.get_df, eval cells for truthiness

* Migrate thumbnail/screenshot functions to use new arg pattern

* Addressing PR feedback

* Update alerts DB migration down_revision

* Resolve _deliver_email arg conflict

* Make mypy happy

* Make isort happy

* Make pylint happy

Co-authored-by: Rob DiCiuccio <rob.diciuccio@gmail.com>
2020-07-06 13:12:27 -07:00
Bogdan
b7c45fed80 fix: downgrade sqlparse and add unit test (#10165)
* Downgrade sqlparse and add unit test

* Explain why sqlparse is pinned

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-07-06 11:10:46 -07:00
Erik Ritter
9a5195ab85 feat: support new errors payload in SQL Lab (#10243) 2020-07-06 09:49:32 -07:00
Maxime Beauchemin
2314aad450 feat: add database dropdown to dashboard import (#10118)
* feat: add database dropdown to dashboard import

Currently, when importing a database from a JSON file, the process
looks at the database name from the source (the info is in the file)
and matches the datasources to that name. If no database by that name
exists, it simply fails.

With this PR, we add a database dropdown that allows the user to specify
which databases the datasources should target as the get upserted.

I want to stress that the code in this area is not in a great shape,
and that the challenge of serializing/deser the nested objects is
challenging, but that there should be a much better way to do this.
One of the improvement (out of scope for this PR) that would allow to
simplify those import/export would be to use UUIDs for
importable/exportable objects.

Another identified issue is the indirections between
`utils/import_expor_{model}.py` on top of `{Model}.import_object`. Not
addressing that here.

Next topic is the MVC stuff. Decided to stick with it for now as this is
more of a [obious missing feat:] than a rewrite.

* isort \!? 0%^$%Y$&?%$^?%0^?

* fix tests

* pre-committing to py3.6

* address dpgaspar's comments

* revert isort
2020-07-05 15:08:37 -07:00
John Bodley
33584a8095 refactor: Using self.get_session in security manager (#10146)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-07-04 13:04:06 -07:00
John Bodley
b181e48f5c [log] Updating form-data logic (#10197)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-07-04 12:51:43 -07:00
John Bodley
774c23a6f1 chore: Deprecating ENABLE_FLASK_COMPRESS (#10233)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-07-04 12:46:34 -07:00
Craig Rueda
f6e13b64b0 Removing node_modules volume in docker-compose.yml (#10236) 2020-07-03 08:00:09 -07:00
Hossein Torabi
fdd28c1a5e Upload excel (#9825) 2020-07-03 08:28:30 +03:00
John Bodley
cf60f664a4 fix: Remove double pickling for cached payloads (#10222)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-07-02 16:46:36 -07:00
Jesse Yang
a6751bf49a fix(table-viz): format non-numeric metrics (#10234) 2020-07-02 14:44:15 -07:00
Erik Ritter
4281ad5486 chore: type ResultSet.tsx (#10226) 2020-07-02 10:12:31 -07:00
ʈᵃᵢ
0afa15138b fix(listview): use disableSortBy to disable sorting in table columns (#10223) 2020-07-02 10:00:37 -07:00
kxu
316de3ae70 Update README.md (#10221)
Adding new tutorial blog on Time Series Charts to the Resources Section
2020-07-01 19:36:11 -07:00
Jesse Yang
dbd4588e4f fix(table-vis): bump to v0.14.6 to fix missing anchor links (#10225) 2020-07-01 19:18:23 -07:00
Jesse Yang
700429f431 fix: chart validation error not cleared on control value update (#10224) 2020-07-01 18:32:27 -07:00
Jesse Yang
f7a024d7de fix: better backward compatibility for table viz (#10219) 2020-07-01 11:23:08 -07:00
Erik Ritter
b2e100ff6c docs: update release instructions for Github releases (#10192) 2020-07-01 08:14:09 -07:00
Srini Kadamati
c3cd63a2e8 docs: added slack community guidelines (#10209)
* refactor: added slack community guidelines

* Some tweaks!

* busting cache to pass tests!

* Implemented excellent feedback
2020-06-30 20:20:09 -07:00
Erik Ritter
1606d80490 fix: tooltips on nvd3 charts rendering in the wrong location (#10211) 2020-06-30 18:02:29 -07:00
Jesse Yang
538f7e0f73 build: enable Cypress tests for visualizations (#10206) 2020-06-30 17:10:17 -07:00
Jesse Yang
9664705435 fix: datatable dependencies for pivot-table in dev (#10205) 2020-06-30 11:38:36 -07:00
Erik Ritter
b686004294 feat: add configuration for Presto cursor poll interval (#10191) 2020-06-30 08:56:22 -07:00
Bogdan
77b36783e7 s/assertEqual/assertEquals (#10195)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-06-29 16:38:06 -07:00
Bogdan
4e340c8368 feat: Switch from nosetest to pytest (#10177)
* Switch from nosetest to pytest

Fix schedule tests

Collect pytest coverage

Move pytest config into pytest.ini

Move cov to the pytest.ini

* Append coverage for the 2nd run

* Add coverage to all commands

* Coverage only for tests

* Get coverage from 1 place

* Rename classes to be  pytest compatible

* Test coverage for examples and tests

* Max diff to -1

* Explain how to run pytest for the whole project

* Do not append code coverage for the main run

* Do not run coverage on examples

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-06-29 15:36:06 -07:00
Jason Davis
72fc581b15 added explore database for ctas/cvas (#10174)
Co-authored-by: Jason Davis <@dropbox.com>
2020-06-29 11:13:54 -07:00
Jesse Yang
4342c33d0e build: enable typescript for cypress (#10170) 2020-06-29 10:53:33 -07:00
thibault ketterer
539e11b67e update to last pyathena >= 1.10.8, to fix athena CSV upload (#10188) 2020-06-29 17:38:58 +03:00
Ville Brofeldt
26d34727d3 fix: make time grain nullable in chart data endpoint (#10187)
* fix: make time grain nullable

* add test

* lint
2020-06-29 09:54:01 +03:00
Hendrik Schultze
6a8f441d54 fix: make auth for hive optional (#10172)
* fix: make auth for hive optional

This will make allow the admin to setup a root connection which can be impersonated.

* style: black lint conform

* style: clean up unnecessary condition expansion
2020-06-29 07:40:24 +03:00
Jesse Yang
9bdfa055ac feat(viz): add query mode switch to table chart (#10113)
1, Replace table chart rendering from jquery.DataTables to react-table: apache-superset/superset-ui#623
2. Rearrange the control panel, replace GROUP BY and NOT GROUP BY with a "Query Mode" switch: apache-superset/superset-ui#609
2020-06-28 21:37:04 -07:00
ʈᵃᵢ
3414f35792 refactor: better naming for config flags (#10180) 2020-06-26 17:36:50 -07:00
Erik Ritter
8bdc6b1771 fix: row count container alignment (#10179) 2020-06-26 16:07:29 -07:00
Will Barrett
4965d87505 Break some static methods out of superset.views.core.Superset (#10175) 2020-06-26 14:34:45 -07:00
John Bodley
f6ed46dcc0 chore: Updating UPDATING.md (#10155) 2020-06-26 14:11:23 -07:00
Maxime Beauchemin
f888656e6d style: bring new SIP-34 palettes in controls (#10121) 2020-06-26 13:27:51 -07:00
Jason Davis
9de9e1c19d feat: Added configuration to SQL Lab results "Explore" button (#10164)
* added configuration to virtual table explore button

* added description to mixin

* fixed unit tests

Co-authored-by: Jason Davis <@dropbox.com>
2020-06-26 09:54:55 -07:00
oashton
d8314eeb0d Add maximize and minimize feature to charts (#9210)
* Add maximize and minimize feature to charts

* Fixed lint issues

* Update superset-frontend/src/dashboard/components/SliceHeaderControls.jsx

Add translation function

Co-Authored-By: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>

* Remove resizeEvent property, change condition to use the nextProps

* Minor changes, improve source code

* Fixed lint issues

* Remove unnecessary resizeEvent props

* Move inline style to css class style

* Minor fixes, improvements css

Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
2020-06-26 09:12:53 -07:00
Will Barrett
df71fac1e0 refactor: Fix lint on superset/utils/core.py (#10120)
* Fix lint on superset/utils/core.py

* black

* mypy

* Fix some missing renames
2020-06-26 08:49:12 -07:00
Ville Brofeldt
410c5be2f8 fix: return slice owners for /user_slices ep (#10171)
* fix: return slice wowners for /user_slices ep

* put back created_by and changed_by

* improve comment
2020-06-26 18:10:56 +03:00
Jesse Yang
ffefcd9ad4 build: dont prefer ts for cypress tests (#10161) 2020-06-25 16:24:05 -07:00
Jesse Yang
ece4f6d0b5 build: upgrade Cypress and re-enable visualization tests (#10158) 2020-06-25 15:24:23 -07:00
Maxime Beauchemin
1781ebbaa4 fix: [search query view] edit link is broken (#10128)
* fix: [search query view] edit link is broken

* eslint + mypy

* rever app.py changes

* addressing comments

* use api/v1/query

* fix test
2020-06-25 12:20:10 -07:00
Will Barrett
0017b61f51 refactor: Re-enable pylint on 5 files (#10106)
* Re-enable lint on 5 files

* revert something questionable

* Address PR feedback

* One more PR comment...

* black?

* Update code wrapping

* Disable bugged check

* Add a disable for a failure that's only showing up in CI.

* Fix bad refactor

* A little more lint fixing, bug fixing
2020-06-25 11:14:41 -07:00
Ville Brofeldt
16cffd056c fix: implement legacy druid dashboard import (#10135) 2020-06-25 18:52:13 +03:00
Ville Brofeldt
b205ce32b0 feat: Add new timegrains and convert_dttm to Druid engine spec (#10160)
* feat: Add new timegrains and convert_dttm to Druid engine spec

* Add TemporalType enum and fix test case

* Remove DATETIME for athena (original spec)
2020-06-25 12:18:37 +03:00
Jesse Yang
ecb44a4243 refactor: import emotion-theming methods from @superset-ui/style (#10157)
This makes the code cleaner and fixes missing theme variables when `npm link @superset-ui/style`.
2020-06-24 19:23:51 -07:00
Will Barrett
7a794ed684 refactor: Re-enable lint for 3 files (#10124)
* Fix lint for 2 files: connectors/druid/views.py and utils/dashboard_import_export.py

* Re-enable lint for superset/views/core.py

* Turns out that endpoint needs the  argument even through the function doesn't call it

* Turns out FAB doesn't play nicely with @staticmethod

* Black

* Somehow I got some branch leakage

* Minor lint fix

* Remove unused import.
2020-06-24 16:07:55 -07:00
Evan Rusackas
36ea42f092 fix: Loading overlay bugfix and cleanup (#10105)
* fix: reordering DOM output, simplifying styles, Emotionalizing

* simplification

* converting RefreshChartOverlay to TS

* Loading -> TS, stripping unused size prop

* simplification...

* just letting "position" prop act as a class name. Simpler!

* consolidating styles, changing a className prop to a position prop.

* nixing (unused) classname prop

* replacing inline loading img with the proper Loading component

* BY THERE.

* position prop is optional!
2020-06-24 14:21:45 -07:00
Jason Davis
c544ebd876 fix: Fixed Attribute Error when running core_tests.py (#10154)
* fix: changed import order to fix core-test error

* reformatted using black

Co-authored-by: Jason Davis <@dropbox.com>
2020-06-24 12:46:38 -07:00
Bogdan
42a56e29a1 Fix alembic migrations order (#10156)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-06-24 11:41:47 -07:00
John Bodley
37777f382f fix(security): dbs/clusters perm (#10130)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-24 10:06:25 -07:00
Bogdan
3db76c6fdc Implement create view as functionality (#9794)
Implement create view as button in sqllab

Make CVAS configurable

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-06-24 09:50:41 -07:00
Ville Brofeldt
38667b72b1 fix: refine shouldUseLegacyApi and add tests (#10148)
* fix: refine shouldUseLegacyApi and add tests

* address review comments
2020-06-24 19:38:36 +03:00
Jesse Yang
4e71491d86 fix: FilterBox JS when no results (#10143) 2020-06-24 08:09:14 -07:00
Bogdan
763b38591c Fix CTAS explore flow (#10147)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-06-23 22:36:05 -07:00
John Bodley
aefef9ca55 chore(security): Updating assert logic (#10034)
* chore(security): Updating assert logic

* Deprecating rejected_tables

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-23 20:49:39 -07:00
ʈᵃᵢ
be936c2eb8 style: listviews closer to SIP-34 (#10094) 2020-06-23 14:17:28 -07:00
Lily Kuang
4d1d40989c feat: dataset add modal (#10104) 2020-06-23 10:15:35 -07:00
kxu
bb6f802850 Break down Superset 101 Getting Started content (#10138)
Break down Superset 101 Getting Started content, so it's directly linked to the relevant blog post and more user-friendly.
2020-06-22 19:34:41 -07:00
Jesse Yang
ed4f6e93ac chore: bump superset-ui to v0.14.1 (#10112) 2020-06-22 11:14:23 -07:00
Grace Guo
a80453d945 fix: dashboard filter scope bug (#10114)
* fix: dashboard filter scope bug

* add extra comments per review
2020-06-22 10:18:04 -07:00
Grace Guo
221f38099b [logging] add selected tab name into perf logging (#10080) 2020-06-22 10:14:29 -07:00
Erik Ritter
cb1705fdae chore: type src/addSlice (#10127) 2020-06-22 08:14:27 -07:00
Erik Ritter
231c2b395d chore: fix add datasource help string (#10129) 2020-06-22 07:51:50 -07:00
Erik Ritter
b3ec4be28d chore: extract translateable strings (#10131) 2020-06-22 07:41:02 -07:00
Ville Brofeldt
d615949820 chore: Bump sqlalchemy-utils and cachelib and refresh requirements.txt (#10117)
* chore: Bump sqlalchemy-utils and cachelib and refresh requirements.txt

* undeprecate EncryptedType

* black

* reference correct class

Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2020-06-22 16:01:46 +03:00
Aliaksei Kushniarevich
550e78ff7c feat: Add multiple table filters for Row Level Security (#9751)
* Add multiple table filters for Row Level Security

* Set ENABLE_ROW_LEVEL_SECURITY back to False (default)

* Merge DB migrations

* Drop table_id column and foreign key on PostgreSQL, MySQL, SQLite

* Support db records migration also

* Support downgrading from the new-fashioned formatted records

* Straighten up migrations

* Update migration's down_revision to comply master branch
2020-06-22 12:51:08 +03:00
Daniel Vaz Gaspar
dbc43d7c7b perf(datasets): improve datasets API performance for attr kind (#10111)
* perf(datasets): improve datasets API performance for attr kind

* fix test
2020-06-22 08:21:06 +01:00
Maxime Beauchemin
cf0f1d568d style: replace broken glyphs with font-awesome (#10123)
Glyphicons stopped working recently, not sure why, but let's get rid of
them and double down on font-awesome that we use a lot more in the
codebase. There's only a few instances of glyphicons and they all are
broken ATM.

Also a few other minor style tweaks
2020-06-21 21:38:08 -07:00
amitNielsen
e49ba8f03c Add Nielsen to users list (#10122) 2020-06-20 22:17:55 -07:00
John Bodley
e570263577 chore(mypy): Fixing can_access_database types (#10119)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-20 21:17:33 -07:00
Grace Guo
69100536de fix: dashboard should not add extra_filters onto chart annotation (#10115) 2020-06-20 18:08:45 -07:00
Will Barrett
961b55cfba fix: Visualization settings were lost when editing a datasource from Explore (#10092) 2020-06-19 12:55:49 -07:00
Erik Ritter
2e76fbb7e5 chore: type FilterableTable (#10073) 2020-06-18 21:57:11 -07:00
Maxime Beauchemin
a6390afb89 style: push bootstrap theme towards SIP-34 styles (#10056)
* feat: cartel theme

* piling

* more tweaks

* Make things look better

* lint

* fix tests

* paint it black

* tweaks
2020-06-18 15:01:58 -07:00
Will Barrett
8e23d4f369 chore: Upgrade pylint to 2.5.3 and fix most new rules (#10101)
* Bump pylint version to 2.5.3

* Add a global disable for the most common new pylint error

* Fix a bunch of files containing very few errors

* More pylint tweakage, low-hanging fruit

* More easy stuff...

* Fix more erroring files

* Fix the last couple of errors, clean pylint!

* Black

* Fix mypy issue in connectors/druid/models.py
2020-06-18 14:03:42 -07:00
Phillip Kelley-Dotson
02fee35314 chore(metricoption): remove metricoption and columntypelable dependency (#10077)
* remove columntypeLabel and metricoptions from superset

* fix lint

* remove old test

* update pakage

* add suggestions

* fix merge conflict
2020-06-17 19:55:17 -07:00
Will Barrett
817b7aaf29 style: Change logo color to new branding (#10090)
* Change logo color to new branding

* Add back Apache licenses

* Fix SVG format

* Fix one more license

* Bigger pngs
2020-06-17 19:47:02 -07:00
ʈᵃᵢ
c914af0bc4 fix: adds pagination/infinite scroll to owners select in DashboardList and ChartList (#10035) 2020-06-17 16:27:21 -07:00
Bogdan
be6b9b8fec feat: implement dttm column configuration through db extra config (#9444)
* Implement table mutator and examples how to set date defaults

Fix tests

* Fix flaky test

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-06-17 13:46:45 -07:00
Will Barrett
01aede0652 refactor: Break up superset/views/core.py (#10078)
* Remove unreferenced function from views/core.py

* Remove excess constants from views/core.py

* Extract CssTemplate-related views to their own file from core.py

* Remove duplicate constant declaration and make the constant less racist

* Move free-floating functions in views/core.py to views/utils.py

* Move AccessRequestsModelView out of views/core.py into its own module

* Move health checks and KV ModelView out of core.py and into their own modules

* Move R model view to its own module

* Move after-request header setting to views/base.py from views/core.py

* black

* mypy

* isort

* Fix reference to imported app

* pylint

* Fix some imports

* Add some missing view imports

* Fix a missing import
2020-06-17 13:42:13 -07:00
Erik Ritter
987cb6e1fe chore: type src/dashboard/util/charts (#10068) 2020-06-17 12:34:04 -07:00
Jesse Yang
5d4d50a609 fix(sqllab): table refresh API endpoint (#10076) 2020-06-17 12:24:10 -07:00
Bogdan
29e9f2c70b feat: superset report slack integration (#9810)
* First draft for the slack integration

Fix slack

another typo

another typo

Fix slack

Add channels to the form

another typo

Another set of changes

Make code more transparent

Fix tests

Add logging

logging

use logger

import logging

import logging

import logging

add assert

more logging

Fix channels

Fix channels

* Address comments

* Move slack into a separate module

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-06-17 11:01:25 -07:00
Maxime Beauchemin
28bb2e18dd docs: FAQ entry for 'Does Superset have an API' (#10071) 2020-06-17 17:13:28 +01:00
John Bodley
eba1fe2ebb fix: Ensuring queries route accepts float or int (#10079)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-17 08:02:49 -07:00
Animesh Agrawal
35c449dcd4 add GrowthSimple to list of users on readme (#10075) 2020-06-16 21:42:14 -07:00
Erik Ritter
e3013ea129 other: add TypeScript tracker generation script (#10074) 2020-06-16 18:54:51 -07:00
ʈᵃᵢ
8c012f7941 feat: add more columns and icons to dataset listview (#10043) 2020-06-16 17:30:10 -07:00
Evan Rusackas
00e6d7d706 chore: bumping superset-ui theme version (#10059) 2020-06-16 16:33:14 -07:00
ʈᵃᵢ
26120467af fix: use custom int parsing over flask int parsing in sqllab queries endpoint (#10070) 2020-06-16 12:58:32 -07:00
Erik Ritter
334bd6e989 Update prefer_typescript.yml (#10069) 2020-06-16 10:00:30 -07:00
Ville Brofeldt
d3a9ce5afc fix: chart export fails when buildQuery not present (#10062) 2020-06-16 09:25:10 -07:00
Erik Ritter
7504b1cf20 fix: caching on viz with relative time ranges and time compare (#10061) 2020-06-16 08:47:35 -07:00
Nuno Beires
51a42a27e7 docs: Add DouroECI to list of users on readme (#10065) 2020-06-16 14:50:49 +01:00
Maxime Beauchemin
280ade826c fix: dashboard export raises schema issues (#10060)
* fix: dashboard export raises schema issues

* Fix isort
2020-06-15 21:43:05 -07:00
Lily Kuang
98ab95e4c0 feat: owners profile icon on dataset list view (#10041) 2020-06-15 09:52:09 -07:00
Ville Brofeldt
a3393c1bc4 fix: native annotations (#10037)
* fix: native annotations

* Add test

* Add comment to test
2020-06-12 21:53:26 +03:00
Ville Brofeldt
373651efa4 fix: bump pydruid version (#10046) 2020-06-12 18:41:36 +03:00
Ville Brofeldt
ee77707532 feat: add deafult buildQuery for V1 chart data requests (#10048) 2020-06-12 07:49:13 -07:00
Grace Guo
0724eddb7c other: [logging] add dashboard is_published into perf logging (#10042) 2020-06-11 18:57:52 -07:00
John Bodley
9532bff48f chore(security): Renaming access methods (#10031)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-11 13:12:23 -07:00
John Bodley
54c6ddbdb7 chore(security): Renaming schemas_accessible_by_user (#10030)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-11 11:29:43 -07:00
Daniel Vaz Gaspar
c9ee598ac9 fix(security): can_access with None crashes on builtin roles (#10039) 2020-06-11 16:02:08 +01:00
serenajiang
8744dadca8 [csv upload][hive] support other delimiters (#9971)
Co-authored-by: serena-jiang <serena.jiang@airbnb.com>
2020-06-10 17:08:02 -07:00
Natalie Ruhe
d1588c7658 Fix chart annotation source type showing perpetual loading when re-selecting the same value. (#10036)
Remove accidental console.log used during testing.

Co-authored-by: Natalie Ruhe <natalie@preset.io>
2020-06-10 16:17:56 -07:00
John Bodley
36627af916 fix: Resolves a regression from #9939 (#10033)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-10 13:42:08 -07:00
Karen Palacio
1a6b9d7456 fix: bump pydruid to 0.6.0 (#10014)
* bump pydruid to 0.5.11

* bump pydruid to 0.6.0
2020-06-10 12:40:51 -07:00
Will Barrett
4ef26993e2 feat: Add owners and physical/virtual status to Datasets API list endpoint (#10025)
* Add owners and physical/virtual status to Datasets API list endpoint

* black

* Update type definition for DatasourceKind

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Fixin' tests and mypy

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-06-10 22:04:40 +03:00
Lily Kuang
5339d31ed1 feat: implement secondary navigation for datasets (#9982) 2020-06-10 11:55:51 -07:00
Erik Ritter
e17da58a39 feat: add replace option to hive csv upload (#9764) 2020-06-10 08:57:33 -07:00
Ville Brofeldt
56397d75cc fix: raise error in sqllab when using reserved column name (#9859) 2020-06-10 16:32:43 +03:00
Ville Brofeldt
a8db78b069 chore: bump superset-ui to 0.13.27 (#10018)
* chore: bump superset-ui

* Remove redundant control panels
2020-06-10 10:13:00 +03:00
Lily Kuang
f6cd3a917a refactor(sql): optimize sql query parser (#9673)
* optimize sql query parser

* update extract from token

* update doc string

* pylint doc string
2020-06-10 09:15:48 +03:00
Ville Brofeldt
7cb38fe28b chore: remove markup from viz.py (#9997) 2020-06-10 07:49:09 +03:00
serenajiang
280b4dce00 fix(SankeyViz): enforce source/target order (#10003)
* fix(SankeyViz): enforce source/target order

* address pr comments

* black

Co-authored-by: serena-jiang <serena.jiang@airbnb.com>
2020-06-09 10:13:48 -07:00
Ville Brofeldt
526ee3c3df fix: flaky test_copy_dash test in dashboard_tests.py (#10021) 2020-06-09 13:29:22 +03:00
Ville Brofeldt
315518d2d2 feat: add support for query offset (#10010)
* feat: add support for query offset

* Address comments and add new tests
2020-06-09 11:46:28 +03:00
Craig Rueda
2a3305e7dd Quick fix for bad regex in GH Workflow (#10015) 2020-06-08 15:02:48 -07:00
John Bodley
91517a56a3 style(mypy): Spit-and-polish pass (#10001)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-07 08:53:46 -07:00
Grace Guo
656cdfb867 fix: [logging] fix render chart error type (#10000) 2020-06-05 14:44:52 -07:00
John Bodley
63e0188f45 style(mypy): Enforcing typing for superset.views (#9939)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-05 08:44:11 -07:00
Ville Brofeldt
5c4d4f16b3 feat: finalize Word Cloud move to new chart data endpoint (#9975)
* remove word cloud from viz.py

* Fix Run in SQL Lab

* remove deprecated python tests

* break out legacy endpoint type into function

* Break out exploreChart from exportChart and implement results type

* Fix jest tests and refactor accordingly

* lint

* Rename v1 payload function

* Add dashboard id to v1 chart data request url params

* Add support for domain sharding to v1 chart data request
2020-06-05 14:08:46 +03:00
ʈᵃᵢ
619fbc9557 fix: remove -1,-1 from owners request in charts, dashboards list and propertiesModal (#9989) 2020-06-04 15:31:42 -07:00
Daniel Vaz Gaspar
543a3ca6f2 fix(api): Wrong parameter name on database openapi spec (#9965) 2020-06-04 15:21:23 +01:00
Raymond Ho
21fc0116d0 docs: add ELMO Cloud HR & Payroll to list of users on readme (#9960)
Co-authored-by: Raymond Ho <raymond.ho@elmolearning.com.au>
2020-06-03 20:37:16 -07:00
Bogdan
a48a2e44b5 fix: display python_date_format in react views as well (#9934)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-06-03 20:24:25 -07:00
ʈᵃᵢ
d187d2887e fix: fetch all owners for dashboard, chart listview filters and properties modal (#9784) 2020-06-03 19:57:03 -07:00
John Bodley
244677cf5e style(mypy): Enforcing typing for superset (#9943)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-03 15:26:12 -07:00
Grace Guo
dcac860f3e feat: [dashboard] notification and warning for auto force refresh (#9886)
* feat: [dashboard] notification and warning for auto force refresh

* fix review comments
2020-06-03 10:20:56 -07:00
John Bodley
ee777acd57 fix(mypy): Resolves regression introducted in #9824 (#9973)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-03 00:20:34 -07:00
Michael Joseph Rosenthal
3fd6e0630e fix #8302, disabling save button when can_add: false, can_overwrite: false (#9456) 2020-06-02 23:20:52 -07:00
Xiang Fu
1d9dbcd9dc fix: pinot select query logic (#9954)
* Update how pinot handles selection logic

* Change DATETIMECONVERT argument to use single quote for literals
2020-06-02 23:18:35 -07:00
Maxime Beauchemin
209392e9ef feat: make CRUD annotations inline (#9888)
* feat: make CRUD annotations inline

This makes the annotations inline of the "annotation layers". Originally
they were setup as separate ModelViews because of a bug in FAB.

* fix pylint
2020-06-02 23:12:37 -07:00
John Bodley
1001c6d5f4 Revert "[caching] Using request context rather than globals" (#9969)
This reverts commit 90cd3889ac.

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-02 16:03:33 -07:00
John Bodley
15f267d586 style(mypy): Fix memoize watch type (#9970)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-06-02 16:02:07 -07:00
Ville Brofeldt
fc92692f49 feat: implement new version of word cloud (#9962) 2020-06-02 19:28:58 +03:00
Ville Brofeldt
38a6bd79da feat: expand new chart data endpoint coverage (#9903)
* feat: implement new chart API for additional components

* Fix python tests

* Fix tests

* Fix lint

* fix camel case error in requestParams

* lint

* fix samples row limit

* Add samples row limit to config

* remove unnecessary code

* lint

* Address review comments
2020-06-02 10:47:28 +03:00
Erik Ritter
c7618ee54b build: add workflow preferring TypeScript files (#9901)
* Add workflow preventing non TypeScript Files

* Create comment_preferring_typescript.md

* Update prevent_non_typescript_files.yml

* Update prevent_non_typescript_files.yml

* Update prevent_non_typescript_files.yml

* Delete comment_preferring_typescript.md

* Create comment_preferring_typescript.md

* Delete comment_preferring_typescript.md

* Update prevent_non_typescript_files.yml

* Update prevent_non_typescript_files.yml

* Update prevent_non_typescript_files.yml

* Update prevent_non_typescript_files.yml

* Update prevent_non_typescript_files.yml

* Update prevent_non_typescript_files.yml

* Update prevent_non_typescript_files.yml

* Update prevent_non_typescript_files.yml

* Create test.js

* Delete test.js

* Update prevent_non_typescript_files.yml

* Rename prevent_non_typescript_files.yml to prefer_typescript.yml

* Update prefer_typescript.yml
2020-06-01 09:31:31 -07:00
Grace Guo
5324e25328 [filter_box] disable instant_filtering by defult (#9952) 2020-05-31 22:12:04 -07:00
Jesse Yang
4fe6f4f38e fix: FilterBox Select should be Creatable (#9940)
* bugfix: FilterBox Select should be Creatable

* Fix Cypress test
2020-05-28 14:51:51 -07:00
John Bodley
b296a0f250 [mypy] Enforcing typing for superset.utils (#9905)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-05-27 22:57:30 -07:00
John Bodley
54dced1cf6 style(mypy): Enforcing mypy typing for views.chart (#9912)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-05-27 21:31:26 -07:00
John Bodley
b010c35887 style(mypy): Enforcing typing for views.database (#9920)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-05-27 21:04:48 -07:00
John Bodley
5ce1076f3c style(mypy): Enforcing typing for views.dashboard (#9921)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-05-27 20:43:11 -07:00
Jesse Yang
359ea8825d fix(react-select): FilterBox focus event and adhoc filter popup height (#9933)
* fix(react-select): FilterBox focus event and adhoc filter popup height

* Fix flacky cypress test

* Use focus instead of click
2020-05-27 15:15:32 -07:00
Ville Brofeldt
1b72907b18 Revert "feat: bump superset-ui and implement queryFields in formData (#9908)" (#9931)
This reverts commit 2c97e72959.
2020-05-27 22:50:14 +03:00
Ville Brofeldt
5ff61048c6 feat: bump sinon to latest (#9926) 2020-05-27 19:34:40 +03:00
Erik Ritter
c4040a2ae0 fix: annotation layer json (#9915)
* fix: annotation layer json

* attempt to add a test

* [tests] Fixing test

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-05-27 09:02:03 -07:00
Maxime Beauchemin
92b843e2ae css: beautify roles CRUD (#9890) 2020-05-26 22:32:13 -07:00
Erik Ritter
848ac91bb6 fix: bump nvd3 plugin for annotation styles (#9919) 2020-05-26 16:59:30 -07:00
Phillip Kelley-Dotson
e0c3da5df1 feat: paired t testchart control migration (#9916)
* cherry pick

* update package
2020-05-26 14:11:03 -07:00
Phillip Kelley-Dotson
1fffa37e85 feat: remove para controls (#9851)
* remove para controls

* update package version
2020-05-26 12:37:33 -07:00
Ville Brofeldt
2c97e72959 feat: bump superset-ui and implement queryFields in formData (#9908)
* feat: Bump superset-ui packages for queryFields

* feat: Implement queryField in formData
2020-05-26 10:19:33 -07:00
Grace Guo
e6a55d8858 fix: [dashboard] should not trigger chart refresh when filter not applicable (#9891)
* fix: [dashboard][filter] should not trigger chart refresh when filter is not applicable

* fix comments
2020-05-26 10:14:12 -07:00
John Bodley
7f6dbf838e style: enforcing mypy typing for connectors (#9824)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-05-25 12:32:49 -07:00
Erik Ritter
9edfc8f68d chore(ts): convert base js files to typescript (#9826) 2020-05-24 19:50:08 -07:00
tooptoop4
bd959919e3 Fix missing line break in Database 'extra' instructions (#9895) 2020-05-23 17:36:51 -07:00
John Bodley
e789a35558 [mypy] Enforcing typing for superset.models (#9883)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-05-22 20:31:21 -07:00
Jesse Yang
6d4e23663e fix: reenable table chart page length (#9884)
Bump @superset-ui/legacy-preset-chart-table to fix disabled
page length support.

See https://github.com/apache-superset/superset-ui/pull/522
2020-05-22 10:35:45 -07:00
Maxime Beauchemin
ee991963c7 fix: don't create examples db on 'superset init' (#9881)
* chore: don't create examples db on 'superset init'

* fix isort
2020-05-21 21:34:53 -07:00
Bogdan
3e8e441bfc feat: implement csv upload configuration func for the schema enforcement (#9734)
* Implement csv upload func for schema enforcement

Implement function controlled csv upload schema

Refactor + fix tests

Fixing hive as well

* Add explore_db to the extras

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-05-21 13:49:53 -07:00
Phillip Kelley-Dotson
333dc8529e feat: tablechart plugin controls migration (#9847)
* delete controls

* move columnoption to controls

* update package and remove columnoption

* fix: remove console and fix import

* fix: lint

* update version

* fix last rebase

* fix: lint:
2020-05-21 12:15:02 -07:00
kxu
a46af68922 Update README Resources section (#9864)
Update to README Resources section with May 2020 virtual meetup recording and link to Youtube channel
2020-05-21 09:35:13 -07:00
Daniel Vaz Gaspar
61ebb9bbc4 fix: chart datasource explore URL showing datasource name for druid (#9839) 2020-05-21 10:45:47 +01:00
Christian Murphy
a262ea7487 refactor(frontend): move utils to TypeScript (#9820)
* refactor(frontend): move utils to typescript (#9101)

* refactor(frontend): don't export interfaces

* test(frontend): update types and test for isValidChild
2020-05-20 14:47:40 -07:00
ʈᵃᵢ
ef6af935fc only skip fossa on PRs (#9865) 2020-05-20 14:21:14 -07:00
Will Barrett
13c24372b0 fix: Emit a warning message rather than an exception on query failure (#9811)
* Emit a warning message rather than an exception on query failure

* Add exc_info=True to warning message
2020-05-20 13:13:28 -07:00
Evan Rusackas
428ad70aac feat: Adding Emotion ThemeProviders for all React apps (#9853)
* bumping style package (now with typography styles!)

* ThemeProvider ALL the things!

* package lock

* linting

* no need to parseInt here anymore, the values are numeric now.
2020-05-20 12:43:02 -07:00
David Aaron Suddjian
f076485fd7 upgrade plugins, remove unnecessary code (#9848) 2020-05-20 12:41:12 -07:00
Ville Brofeldt
a43a1d6303 feat: Add new result formats and types to chart data API (#9841)
* feat: Add new result formats and types to chart data API

* lint

* Linting

* Add language to query payload

* Fix tests

* simplify tests
2020-05-20 21:36:14 +03:00
michellethomas
368c85de1b fix: Removing the logic to add timeseries_limit_metric to the data for table (#9832)
* Removing the logic to add timeseries_limit_metric to the data for table viz

* Also make the change in viz_sip_38

* Fix tests

Co-authored-by: michelle_thomas <michelle.thomas@airbnb.com>
2020-05-20 10:20:54 -07:00
John Bodley
c691a07948 Revert "[sqllab] fix, strip comments before parsing statements" (#9862)
This reverts commit 949c4eae28.

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-05-20 09:54:17 -07:00
Craig Rueda
5aad12d783 fix: Fix for updated cache dependency (#9850)
* Fixing missing dependency

* Switching back to cachelib
2020-05-20 09:42:43 -07:00
Lily Kuang
6f1208f510 fixes: limit no authorization error for sentry (#9816)
* rescue no authorization error

* update no authorization exception to warning
2020-05-20 08:48:32 -07:00
John Bodley
91f6e708eb docs: Disable sphinx-autodoc-typehints (#9846)
* Update requirements.txt

* Update conf.py

* Update conf.py
2020-05-20 06:59:59 -07:00
Phillip Kelley-Dotson
1a775e2612 feat: markupchart plugin controls migration (#9806)
* remove shims and controls

* update chart version

Co-authored-by: Phillip Kelley-Dotson <pkd@pkd.lan>
2020-05-19 23:04:20 -07:00
Jesse Yang
81ab8dd8b4 feat: upgrade react-select and make multi-select sortable (#9628)
* feat: upgrade react-select v1.3.0 to v3.1.0

Upgrade `react-select`, replace `react-virtualized-select` with a custom
solution implemented with `react-window`.

Future plans include deprecate `react-virtualized` used in other places, too.

Migrate all react-select related components to `src/Components/Select`.

* Fix new list view

* Fix tests

* Address PR comments

* Fix a flacky Cypress test

* Adjust styles for Select in CRUD ListView

* Fix loadOptions for owners select in chart PropertiesModal

TODO: add typing support for AsyncSelect props.

* Address PR comments; allow isMulti in SelectControl, too

* Clean up NaN in table filter values

* Fix flacky test
2020-05-19 16:59:49 -07:00
ʈᵃᵢ
68832d2fa5 build: conditionally run fossa check if dependency files change (#9814) 2020-05-19 10:03:59 -07:00
Craig Rueda
88dd2ddd56 fix: issue with duplicated dependencies (#9837)
* Fixing issue with duplicated dependencies in various requirements files.

* Removing restart stanza for tests_worker

* Adding Superset dev Dockerfile
2020-05-19 08:46:52 -07:00
Grace Guo
5ca6ed716f [explore view] inline edit slice name should not overwrite (#9817) 2020-05-18 22:53:29 -07:00
John Bodley
c117e222c0 build: Updating the sphinx configuration (#9833)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-05-18 21:27:25 -07:00
Grace Guo
d96bb874f2 fix: [filter_box] fix 2 issues in single value filter_box (#9829)
* fix: [filter_box] fix 2 issues in single value filter_box

* add unit test

* add fix per comments
2020-05-18 21:25:10 -07:00
Ivan Blinkov
e121e090c7 Update the link to ClickHouse official website (#9834) 2020-05-19 07:02:14 +03:00
Phillip Kelley-Dotson
38c57f45ac feat: partitionchart controls migration (#9768)
* fix lint error

* fix: import lint error

* pull in latests code

* delete control from plugin registry

* fixing again...

* another fix with rebase...

* commit change

* update packages and fix test

* fix: add ignore to lint error

* fix mr

* fix lint

* fix imports

Co-authored-by: Phillip Kelley-Dotson <pkd@pkd.lan>
2020-05-18 12:48:51 -07:00
Jesse Yang
c4016e3b71 feat: bump superset-ui/time-format and big-number (#9808)
* feat: bump superset-ui/time-format and big-number

This is for adding full dates to big number datetime formatted
by weekly interval.

* Bump time-format to v0.13.15

to bring in https://github.com/apache-superset/superset-ui/pull/493
2020-05-18 12:42:27 -07:00
Erik Ritter
b36738cf56 fix: use snake_case for error_type (#9835) 2020-05-18 12:35:55 -07:00
Ville Brofeldt
7a95c52d61 refactor: simplify getExploreUrl functions (#9831)
* remove payload from return signature

* Rename function and fix tests

* Lint

* fix tests

* Move useLegacyApi inquiry to exploreUtils
2020-05-18 19:19:05 +03:00
John Bodley
52285aeb04 build: tox leveraging conditional factors (#9828) 2020-05-18 07:37:25 -07:00
Christian Murphy
b8eaa114ed feat(frontend): add ability to download dashboard and chart as image (#9819)
* feat(frontend): add ability to export dashboard and chart as image (#6973)

* refactor: migrate download image as to typescript

* feature(frontend): download as image updates

add toast message if error occurs.
make generate file stem an internal method.

* refactor(frontend): move default background color to a const

* feat(frontend): wrap download image toast in translate function
2020-05-17 14:50:27 -07:00
Erik Ritter
c7c76c6a99 build: Add python 3.8 to the build matrix (#9827) 2020-05-17 14:49:51 -07:00
John Bodley
53b58edd6f [mypy] Enforcing typing for translations (#9800)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-05-16 23:55:49 -07:00
Luca Toscano
5ab5457522 FilterBox,BigNumber,WorldMap: Handle empty results - second attempt (#9789)
* FilteBox: handle empty results (second attempt)

This change was originally attempted in #9671 but reverted
since it broke FilterBox charts with only a time selector.

After some tests I reworked the patch to avoid returning None,
but instead returning an empty list for each col/selector with
an empty dataframe associated. This allows to see all the selectors
without any breakage.

* BigNumberViz: avoid user facing errors when the dataframe is empty

* WorldMapViz: avoid user facing errors when the dataframe is empty
2020-05-16 22:27:57 -07:00
Daniel Vaz Gaspar
ea9b7f2dc4 fix(babel): broken babel extract (#9790)
* fix(babel): broken babel extract

* remove unnecessary f strings
2020-05-15 19:05:24 +01:00
David Aaron Suddjian
34df11a61c upgrade migrated plugins, remove controlPanel configs (#9774)
* remove migrated plugins

* remove chord stuff

* upgrade plugin packages

* update package lock
2020-05-14 17:06:49 -07:00
Ville Brofeldt
ed1d030667 fix: invalid JSON in FR and DE translations (#9803)
* fix: invalid JSON in FR translation

* fix: broken or misformatted translations and add unit test for JSON validty

* Move translation lint test to CI task
2020-05-14 15:26:12 -07:00
Daniel Vaz Gaspar
3cc540019f fix(mssql): reverts #9644 and displays a better error msg (#9752) 2020-05-14 17:00:02 +01:00
Daniel Vaz Gaspar
4427d65717 tests(celery): improve celery tests infra (#9775) 2020-05-14 16:58:30 +01:00
Erik Ritter
d02f2d1fa7 feat: return security errors in the SIP-40 format (#9796) 2020-05-13 17:10:37 -07:00
Erik Ritter
cf30e16550 fix: construct SupersetErrors properly (#9799)
* fix: construct SupersetErrors properly

* Update viz_sip38.py
2020-05-13 14:03:42 -07:00
Krist Wongsuphasawat
45c8fcfd92 fix: add flag for time series table (#9798) 2020-05-13 13:27:43 -07:00
Bogdan
1d3b264a36 Add extra configration to the email reports (#9342)
Superset email. Fix slice url

Make WEBDRIVER_BASEURL a function

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-05-13 20:14:12 +03:00
Ville Brofeldt
b532c4609f chore: bump python dependencies (#9786)
* chore: bump pyhton dependencies

* bump flask-testing

* Add note to UPDATING and bump flask-testing in requirements-dev.txt

* fix old sqlparse test case that is fixed with sqlparse==0.3.1

* Fix migration and sqlparse set test

* downgrade alembic

* Downgrade sqlalchemy-utils

* pin sqlalchemy-utils due to regression in 0.36.5

* Refine comment in setup.py

* make cachelib an explicit requirement
2020-05-13 18:49:34 +03:00
Fullstop000
34147d9d80 docs: add whale.im to list of users (#9795)
* Add whale.im to list of users

* address comment
2020-05-12 22:31:56 -07:00
Erik Ritter
83ec7365a7 feat: convert backend chart errors to the new error type (#9753) 2020-05-12 18:15:53 -07:00
Jesse Yang
0e7888c659 build: disable webpack progress for CI (#9791) 2020-05-12 16:09:18 -07:00
Maxime Beauchemin
65d185f153 chore: add support for prlint: a commit msg linter (#9655)
Sets up [PRLint](https://github.com/apps/prlint), with a single rule
matching [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/)

Also modifying the PR template to remove redundant annoying checkbox
section.

Once we adopt, I'm hoping we can modify our bot to auto-label based on
the commit type.
2020-05-12 10:23:43 -07:00
John Bodley
04e3a4a72d [caching] Using request context rather than globals (#9715)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-05-11 15:55:05 -07:00
Ville Brofeldt
f369ab35d6 chore: move bullet string manipulation to frontend (#9773) 2020-05-11 11:49:27 -07:00
Ville Brofeldt
a8d5a8aaa2 fix: make tests work individually (#9782) 2020-05-11 11:48:22 -07:00
Daniel Vaz Gaspar
660ea88534 tests: Fix, script to help run single tests (#9779) 2020-05-11 17:42:46 +01:00
Ville Brofeldt
42b10aecae Add QueryContext deserialization test (#9778)
* Add QueryContext deserialization test

* deserialize using marshmallow and assert error dict
2020-05-11 14:10:14 +03:00
ʈᵃᵢ
24db9ab088 [docs] Add SSL config options for postgres (#9767)
* [docs] add postgres SSL documentation

* move caching section to where it makes more sense
2020-05-10 19:37:13 +01:00
Bogdan
903217f64d Fix SQL Lab schema permission checks (#9756)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-05-08 14:59:49 -07:00
Bogdan
358bbe0c88 fix: Catch db_engine_spec.get_function_names exceptions (#9691)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-05-08 19:51:00 +01:00
Phillip Kelley-Dotson
b6df5da195 fix bug where error at import dashboard fails to show toast in "welcome" app (#9714)
* fix bug where error at import dashboard fails

* fix: make reusable component for messages and bring to app level

* fix: add liscence

* fix: lint errors and tests

* fix

* fix: lint

* fix: lint error

* add suggestions

* add suggestions

Co-authored-by: Phillip Kelley-Dotson <pkd@pkd.lan>
2020-05-08 10:50:55 -07:00
David Aaron Suddjian
3a213916c4 use the builtin calendar control panel (#9771) 2020-05-07 21:15:03 -07:00
David Aaron Suddjian
8a49c69f38 use word cloud's built in control panel (#9770) 2020-05-07 18:28:48 -07:00
Jesse Yang
13c5b133a9 test(frontend): use absolute path for src imports (#9761)
* test(frontend): use absolute path for src imports

* Upgrade prettier, fix eslint
2020-05-07 14:18:10 -07:00
ʈᵃᵢ
6237cea952 [docs] add postgres documentation (#9766) 2020-05-07 12:17:37 -07:00
Ville Brofeldt
5b430ead42 fix: implement force refresh in chart data request (#9762)
* fix: implement force refresh in chart data request

* unrelated lint
2020-05-07 09:33:41 -07:00
David Aaron Suddjian
80f8349018 Query the new chart data api for charts that support it (#9710)
* calling new chart api (mostly working)

* can't .then when the promise has already been await-ed

* Add handling for v1 API response

* comment

* update word cloud plugin & dependencies

* testing

* try just waiting

* Revert "try just waiting"

This reverts commit 10c092effd.

* tweaking bootstrap types

* Bumping word cloud package version

* new package lock

Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
2020-05-07 01:09:28 -07:00
Evan Rusackas
b93bf05bbd fix: removing controls from incubator-superset that are now in the plugin (#9758) 2020-05-06 17:29:49 -07:00
Krist Wongsuphasawat
52de32b9d7 build: bump superset-ui to 0.13 (#9757)
* chore: bump superset-ui

* build: bump superset-ui to 0.13

* docs: remove comment
2020-05-06 15:44:18 -07:00
kxu
d59e50ff1f Update README.md (#9731)
* Update README.md

Update and reorganize README to make it easier to navigate and use for community visitors.

* Update README.md
2020-05-06 11:55:20 -07:00
Erik Ritter
4b6681bc19 Revert "FilterBox,BigNumber,WorldMap: Handle empty results (#9671)" (#9755)
This reverts commit 865a909690.
2020-05-06 11:28:03 -07:00
Grace Guo
83b4165e61 [perf logging] Add extra logging for new/editMode dash (#9745)
* [perf logging] Add extra logging for new/editMode dash

* fix review comments
2020-05-06 09:03:04 -07:00
Maxime Beauchemin
9aabafe9fe fix: adhoc filter 'equals' doesn't let you save (#9652)
When altering a filter, when using `equals` or `does not equals`,
the save button is disabled even when it should be enalbed.
2020-05-06 08:38:10 -07:00
Bogdan
292704fec9 Use monospace (#9709)
Update superset-frontend/src/SqlLab/main.less

Co-authored-by: Evan Rusackas <evan@preset.io>

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
2020-05-06 08:37:16 -07:00
Ville Brofeldt
5485eb993c feat: Add controlGroups to formData (#9740) 2020-05-06 14:53:13 +03:00
Daniel Vaz Gaspar
453806fc4c perf(dataset): improve performance on get list (#9739) 2020-05-06 11:48:32 +01:00
Ville Brofeldt
763f3529d2 fix: Add force flag to QueryContext schema (#9749)
* fix: Add force flag to QueryContext schema

* Fix comment

* Remove unnecessary required=Falses
2020-05-06 13:27:53 +03:00
Maxime Beauchemin
67d8b634b8 fix: autocomplete search in AdhocFilter operator dropdown (#9654)
Searching for 'equ' in AdhocFilter's operator dropdown doesn't find the
options who's label contain that substring.

I'd write a unit test but it's pretty tricky.
2020-05-05 21:43:33 -07:00
Erik Ritter
eee6280780 fix: re-add all time grain options to the new chart API (#9744) 2020-05-05 18:03:11 -07:00
Erik Ritter
821e7e53a9 chore: update README screenshots (#9728) 2020-05-05 13:02:10 -07:00
Grace Guo
0b963bdbb6 [perf logging] Add timing event when browser tab is hidden (#9733)
* [perf logging] Add timing event when browser tab is hidden

* fix review comment
2020-05-05 10:17:22 -07:00
David Aaron Suddjian
d65d29c810 fix: css prop is now overwhelmed with emotion (#9742) 2020-05-05 10:10:56 -07:00
Daniel Vaz Gaspar
0d85d25314 docs(api): improve openapi documentation for dash, charts and queries (#9724) 2020-05-05 14:42:18 +01:00
Daniel Vaz Gaspar
911f117673 fix(dependencies): Bump FAB to 2.3.4 (#9703) 2020-05-05 14:41:04 +01:00
Daniel Vaz Gaspar
d373cc8074 perf(dashboards): improve API performance for dashboards (#9704) 2020-05-05 14:30:24 +01:00
Bogdan
11972ed60d Fix bad test (#9735)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-05-04 23:52:18 -07:00
Luca Toscano
865a909690 FilterBox,BigNumber,WorldMap: Handle empty results (#9671)
This change avoids Pandas errors to pop up in chart when no data
is returned (confusing users). In this way a nicer
"No Results etc.." is returned.
2020-05-04 11:03:23 -07:00
ʈᵃᵢ
4c522ac65f [sqllab] fix, strip comments before parsing statements (#9692) 2020-05-04 19:47:29 +03:00
serenajiang
5d167afb94 [hive][csv upload] make INTs BIGINTs (#9716) 2020-05-03 09:28:31 -07:00
Erik Ritter
7f496668cb feat: add logging to warm_up_cache endpoint (#9712) 2020-05-01 18:01:38 -07:00
Bogdan
858082f975 Fix email reports (#9695)
* Fix email reports

* Address comments and inherit from str

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-05-01 07:42:58 -07:00
David Aaron Suddjian
9d3da79c4b migrate bignumber to use builtin controls (#9707)
* migrate bignumber to use builtin controls

* install @babel/compat-data
2020-04-30 19:27:44 -07:00
Grace Guo
43eec67291 [table editor] hide Edit Datasource option when no onDatasourceSave (#9706)
* [table editor] hide Edit Datasource option when no onDatasourceSave

* add !! operator to get truthiness
2020-04-30 17:32:01 -07:00
Erik Ritter
5fb883e279 chore(ts): type getClientErrorObject (#9693) 2020-04-30 17:03:31 -07:00
Ville Brofeldt
aad8209922 chore: Bump PyArrow to latest stable version (#9696) 2020-04-30 22:34:27 +03:00
Craig Rueda
e24e6ca571 [Helm] - Allow for customization of release name (#9694)
* Updated configurations to allow for more customization

* Adding gitignore for requirements.lock

* Moving Helm chart up a level

* Adding bootstrap script / switching image

* Adding bootstrap script / switching image
2020-04-30 10:55:43 -07:00
Daniel Vaz Gaspar
2b59075d57 tests(engine_specs): full bigquery engine coverage (#9702) 2020-04-30 18:31:15 +01:00
John Bodley
a908813f89 fix(security) Fixing regression in #9689 (#9705)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-04-30 10:22:03 -07:00
Daniel Vaz Gaspar
48ef619618 perf(charts): improve performance on GET list (#9619) 2020-04-30 17:15:48 +01:00
Erik Ritter
e95af7f783 fix: migrate all slices off the old time grain format (#9684) 2020-04-30 08:38:13 -07:00
John Bodley
3b0f8e9c8a [sql] Adding lighweight Table class (#9649)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-04-30 08:38:02 -07:00
ʈᵃᵢ
f7f60cc75d [Chart & Dashboard] improve listview filter ui and add expandable list support (#9651)
* better styling for select filters and search input

* add emotion babel plugin

* add spec for search input

* fix async select, add beeter error messages

* add error boundary around views

* cleanup and lint

* add expandable list to dashboards

* fix emotion babel config

* fix specs

* remove commented out code

* add selected style

* DRY up styles

* add icons

* fix type

* add apache license

* fix svgs

* fix ExpandableList type

* reduce custom css

* lint
2020-04-29 21:54:07 -07:00
Erik Ritter
5d7b13507e feat(errors): add client scaffolding for custom error messages (#9677) 2020-04-29 17:20:31 -07:00
Bogdan
62a15f027d Make cache work again for annotations (#9688)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-04-29 23:57:31 +03:00
Bogdan
283504479e Fix ENABLE_ROW_LEVEL_SECURITY flag usage (#9689)
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-04-29 23:57:06 +03:00
John Bodley
7f89f12c4a [debug] Debugging caching issue (#9665)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-04-29 12:16:47 -07:00
Grace Guo
52a0afe241 [fix] reduce table metadata fetch for latest_partition check (#9685)
* [fix] reduce table metadata fetch for latest_partition check

* fix review comment
2020-04-29 11:40:29 -07:00
Daniel Vaz Gaspar
527bee5051 tests(engine_specs): full postgres engine coverage (#9682) 2020-04-29 18:20:25 +01:00
Daniel Vaz Gaspar
f13ba2561c fix(tests): custom filter flaky tests on dash and charts (#9679) 2020-04-29 08:36:11 +01:00
Grace Guo
735dcd2002 [explore view] add partition as adhoc filter option (#9637)
* [explore view] add partition as adhoc option

* use adhocFilter Simple Tab

* simplify conditional check for custom adhoc filter operator

* add simple unit tests
2020-04-28 23:09:44 -07:00
Ville Brofeldt
8d2165d96d fix: catch viz exceptions (#9669) 2020-04-29 05:14:27 +03:00
Lily Kuang
b27a81e0da [logging] deprecation notices for SQLite (#9662)
* [logging] deprecation notices for SQLite

* [logging] use warning for SQLite notice

* [logging] update grammar
2020-04-28 14:28:09 -07:00
Evan Rusackas
13aa889796 gotta catch 'em all (#9676) 2020-04-28 14:10:04 -07:00
Natalie Ruhe
9d755bc1ad [fix] Support APP_ICON_WIDTH configuration parameter in SPA menu (#9666)
* Expose additional APP_ICON_WIDTH python config variable to ui via app bootstrap for use in Menu

* Update base.py to inclue APP_ICON_WIDTH via bracket notation instead of .get and adjust Menu proptypes to be required.

Co-authored-by: Natalie Ruhe <nruhe@nruhe.attlocal.net>
Co-authored-by: Natalie Ruhe <natalie@preset.io>
2020-04-28 12:59:03 -07:00
Ville Brofeldt
a52cfcd234 feat: Add geospatial post processing operations (#9661)
* feat: Add geospatial post processing operations

* Linting

* Refactor

* Add tests

* Improve docs

* Address comments

* fix latitude/longitude mixup

* fix: bad refactor by pycharm
2020-04-28 20:15:16 +03:00
Lily Kuang
c474ea848a [fix] Push browser history on pagination in react listviews (#9624)
* improve history for query params

* fix: push browser history on pagination in react listviews

* fix spec

Co-authored-by: Tai Dupree <tdupreetan@gmail.com>
2020-04-27 21:37:22 -07:00
Erik Ritter
e8c3803336 chore(ts): refactor and migrate StackTraceMessage to TypeScript (#9663) 2020-04-27 13:24:21 -07:00
Daniel Vaz Gaspar
f07ca7d836 fix(database): test connection error message for module not found (#9634) 2020-04-27 09:24:41 +01:00
Daniel Vaz Gaspar
516bdf6db1 fix(mssql): apply limit and set alias for functions (#9644) 2020-04-27 09:23:08 +01:00
Evan Rusackas
5e4c291913 Controls cleanup pass (#9578)
* migrating date_filter

* normalized control

* filter_configs control

* column_collection control

* time_range_endpoints control

* time_range_fixed control

* url_params control

* cache_timeout control

* annotation_layers control

* color control unused?

* linters rule 🤘

* this should have been deleted earlier

* global_opacity, mapbox_label, mapbox_style, viewport_zoom

* linting

* comparison_type

* contribution control

* log_scale

* show_values

* table_filter

* pandas_aggfunc

* code control

* formatSelectOptions import

* lint

* markup_type control

* lintage

* date_time_format control, linting

* url control, test mods

* min_periods control

* rolling_periods

* rolling_type

* missing lib

* order_desc

* number_format

* link_length

* all_columns_y

* all_columns_x

* normalize_across, select_country, all_columns

* fixing test

* linter-caught dependencies

* waiting

* wait longer!

* utilizing tabOverride for Analytics

* tabOverride for Annotations and Layers
2020-04-24 16:12:26 -07:00
Grace Guo
29dd989483 [dashboard] increase tab count limit (#9640) 2020-04-24 13:41:33 -07:00
John Bodley
1c656feb95 [mypy] Enforcing typing for a number of modules (#9586)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-04-24 10:07:35 -07:00
Jesse Yang
7d5f4494d0 docs: remove references to superset-ui-plugins (#9639)
`superset-ui-plugins` has been deprecated.[1] We now manages
all basic visualizations in apache-superset/superset-ui .

[1] https://github.com/apache-superset/superset-ui/pull/332
2020-04-24 09:03:17 -07:00
Lily Kuang
b2720074bd [datesets] feat: add statsd to datasets api (#9577)
* add statsd to tables api

* [datasets] update export endpoint

* [datasets] update charts api test
2020-04-24 16:38:29 +01:00
John Bodley
955a4fe792 [fix] Automatically add relevant Jinja methods to cache key if present (#9572)
* [fix] Adding URL params to cache key if present

* [cache] Wrapping Jinja methods

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-04-24 08:18:22 -07:00
V
7386b017ab Cast raw 'fetch_values_predicate' to Sqlalchemy Text (#9643)
Issue https://github.com/apache/incubator-superset/issues/9642
2020-04-24 12:04:18 +03:00
John Bodley
8ae92b50ad [fix] Fixing regression from #9161 (#9641)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-04-23 22:51:33 -07:00
Ville Brofeldt
a6cedaaa87 chore: Improve chart data API + schemas + tests (#9599)
* Make all fields optional in QueryObject and fix having_druid schema

* fix: datasource type sql to table

* lint

* Add missing fields

* Refactor tests

* Linting

* Refactor query context fixtures

* Add typing to test func
2020-04-23 14:30:48 +03:00
Daniel Vaz Gaspar
76764acfc1 [sql_lab] Improve performance, only use slow func when needed (#9612) 2020-04-23 09:35:57 +01:00
David Aaron Suddjian
f8adfc8fbf use new @superset-ui/style package for theming (#9605)
* use new @superset-ui/style package for theming

* fix tests to reference theme

* try adding a wait
2020-04-22 13:13:40 -07:00
Jesse Yang
7b33d5457b fix: change number format to original value to "~g" (#9608)
Originally it uses " ", which do give the original value, but will
not work when the `getNumberFormatter` in `superset-ui/number-format`
is called for the second time. Because the format will successfully
register as "" [1], but cannot be obtained again via `registry.get()`[2].

[1]: 44ad062dd0/packages/superset-ui-number-format/src/NumberFormatterRegistry.ts (L30)
[2]: dc804b7a70/packages/superset-ui-core/src/models/RegistryWithDefaultKey.ts (L36)
2020-04-22 10:07:37 -07:00
Ville Brofeldt
85778f5bec fix: broken IS NULL and IS NOT NULL operator (#9613)
* fix: broken is null and is not null operator

* add unit tests

* Rename filter operator enum
2020-04-22 19:11:45 +03:00
Ville Brofeldt
c3307fa7aa fix: move docs image symlink to _static (#9592)
* fix: move docs image symlink to _static

* Remove unneeded copy statements from build script

* Remove copy statement from CI conf
2020-04-22 19:11:20 +03:00
Daniel Vaz Gaspar
cba82cfd03 [statsd] Send time metrics in ms not seconds (#9614) 2020-04-22 16:46:38 +01:00
filippo balicchia
d052f47bbd improve helm chart (#9346)
* improve helm chart

* add Apache license headers

* fix: suburst chart when secondary metric is defined (#9343)

* refactor: remove settooltip (#9332)

* [config] Fixing GET_FEATURE_FLAGS_FUNC example (#9339)

* [config] Fixing GET_FEATURE_FLAGS_FUNC example

* Adding typing for GET_FEATURE_FLAGS_FUNC

* Update config.py

* feat: [SQLLAB] add checkbox to control autocomplete (#9338)

* [SQLLAB] add checkbox to control autocomplete

* autocomplete -> autocompleteEnabled

* fix defaultProps

* fix spec

* Cal heatmap controls migration (#9355)

* controls migrated

* linting

* migrating unique EventFlow controls (#9358)

* migrating unique controls

* Lint 

* Treemap controls migration (#9352)

* Treemap

* linting

* feat: [explore] don't save filters inherited from a dashboard (#9340)

* feat: [explore] don't save filters inherited from a dashboard

When navigating to explore from a dashboard context, the current
dashboard filter(s) are passed along to explore so that the context is
kept. So say you're filtering on "country=Romania", in your dashboard
and pivot to explore, that filter is still there and keep on exploring.

Now a common issue is that you'll want to make some tweak to your chart
that are unrelated to the filter, say toggling the legend off for
instance, and then save it. Now you back to your dashboard and even
though you started with an "all countries" dashboard, with a global
filter on country, now that one chart is stuck on "Romania". Typically
you notice this when filtering on something else, say "Italy" and then
that one chart now has two mutually exclusive filters, and show "No data".

Now, the fix is to flag the filter as "extra" (that's the not-so-good internal
name we use for these inherited filters) and make it clear that that
specific filter is special and won't be saved when saving the chart.

* fix build

* [charts] Refactor API using SIP-35 (#9329)

* [charts] Refactor charts API using SIP-35

* [charts] Fix, copy pasta

* [charts] simplify

* Add global install of webpack and webpack-cli to docker-compose (#9310)

* [dataset] columns and metrics API (nested) (#9268)

* [dataset] columns and metrics API (nested)

* [dataset] tests and validation

* [datasets] Fix, revert list field name to database_name

* Adding requirements-local.txt support (#9357)

* Adding requirements-local.txt support

* Reverting package-lock.json

* Migrate unique Heatmap controls (#9360)

* Migrate Heatmap controls

* Lint

* fix: don't parseFloat when the *already numeric* value ends in a decimal point (#9351)

* [sip-15] Fixing typo in docstring (#9377)

* [explore view] fix long query issue from Run in SQL LAB Button (#9345)

* [explore view] fix long query issue from Run in SQL LAB Button

* SQL Lab page needs to take the post form data, too

* fix variable names

* updated payload dict, rename hidden form

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>

* fix a typo in set prop value (#9383)

* Migrating unique DirectedForce controls (#9359)

* migrating controls

* Linting 

* oops... meant to pull this out in a conflict resolution.

* Update MANIFEST.in (#9261)

Include superset-frontent/package.json in package because setup.py requires it

* fix: [dashboard] add row padding (#9381)

* Removing WordCloud controls from CONTRIBUTING.md (#9391)

* [dashboard] handle markdown error (#9350)

* [dashboard] handle markdown error

* localize error message, fix review comments.

* [cache] Cleaning up viz/cache logic (#9375)

Co-authored-by: John Bodley <john.bodley@airbnb.com>

* migrating controls 🎛 (#9386)

* Migrating unique Table controls (#9388)

* Migrating unique BoxPlot controls (#9392)

* upgrade to react-bootstrap v0.33.1 (#9372)

* upgrade to react-bootstrap v0.33.1

* fix test

* simplify proptypes

Co-Authored-By: Evan Rusackas <evan@preset.io>

* simplify more proptypes

Co-Authored-By: Evan Rusackas <evan@preset.io>

Co-authored-by: Evan Rusackas <evan@preset.io>

* migrating unique controls (#9374)

* Migrating horizon controls (#9368)

* migrating unique controls

* linting 

* build: use manifest hooks for dev server proxy and fix hot reload for charts (#9333)

* Use manifest hooks for dev server proxy

* Rewrite dashboard/App.jsx to supress Redux error in hot reload

* Update ChartRenderer to allow hot realod in Explore

* Fix hot reload in dashboars as well

* Revert changes to ChartRenderer.jsx

Will submit in another PR.

* Clean up

* migrating controls (#9373)

* [dataset] New, export API endpoint (#9367)

* [dataset] New, export API endpoint

* Fix, lint

* [charts] New, bulk delete API endpoint (#9387)

* [charts] New, bulk delete API endpoint

* [charts] Fix, typos

* [charts] Fix wrong model name

* [sip-15] fix messaging (#9397)

* Mirgrating unique Partition chart controls (#9385)

* mirgrating controls

* specific import

* feat: add SSL certificate validation for Druid (#9396)

* feat: add SSL certificate feature

* Address comments

* don't mutate extras

* Address comments and add polish

* Add further polish

* [fix] Fixing cache key inconsistencies (#9382)

Co-authored-by: John Bodley <john.bodley@airbnb.com>

* add initjob conf + secret

* [dependency] Fix, Bump FAB to 2.3.1 (#9413)

* [mypy] Enforcing typing for charts (#9411)

Co-authored-by: John Bodley <john.bodley@airbnb.com>

* add missing headers

* [dashboards] Fix, API update slug uniqueness refusing empty string (#9417)

* [dashboards] Fix, API update slug uniqueness refusing empty string

* [dashboards] tests

* Build: fix hot reload for charts (#9400)

* Fix hot reload for charts

* Override tsc options for plugins

Plugins will sometimes have their own `tsconfig.json`, which will
interfere with the dev server config if configured inappropriately.

This change makes sure `tsc` (and `ts-loader`) always compiles to
`esnext` modules, so we don't get "Uncaught ReferenceError: exports
is not defined" error.

* [fix] allow force refresh for No Results chart (#9408)

* [fix] dashboard filter indicator no showing single number value (#9401)

* fix pagination for list views (#9425)

* feat(visualization): add timeRangeFixed to Big Number w/ Trendlines (#9341)

* feat: add timeRangeFixed and increase font size for Big Number chart

* Update package-lock.json

* [fix]some translation not work better (#9428)

* Add check for SSL certificate and add form validators (#9436)

* Add check for server_cert falsy and add form validators

* Address comments

* migrating unique controls (#9446)

* Enforcing linting of LESS (#9356)

* linting some LESS

* enforce linting

* moving font binaries out of stylesheets to fonts folder.

* renaming font specimen sheet directory.

* Migrating unique bigNumber(total) controls (#9440)

* migrating options controls

* lint 

* baby steps...

* shared BigNumber controls file

* capitalization matters

* Migrating unique NVD3 viz controls (#9445)

* donut control

* labels outside

* linting

* x_log_scale, pie_label_type

* linting

* line_charts, line_charts_2

* marker_labels

* marker_line_labels, marker_lines, markers

* prefix_metric_with_slice_name, range_labels, ranges

* stacked_style

* Revert "stacked_style"

This reverts commit aae2d418b8f1950fbe32248b62e50a12fbf186bd.

* stacked_style take 2...

* Revert "stacked_style take 2..."

This reverts commit 38b7155f50143684c92a67b2a9fa16f65c269d35.

* Migrating NVD3 Area's stacked_style config (#9454)

* Migrating NVD3 Area's stacked_style config

* test mods

* lint

* nonsense change

* undoing nonsense. Come on GitHub, WORK.

* Eslint prefer-object-spread (#9466)

* The rule.

* The result

* [mypy] Enforcing typing for some modules (#9416)

Co-authored-by: John Bodley <john.bodley@airbnb.com>

* chore: bump black to 19.10b0 and mypy to 0.770 (#9378)

* Bump black to 19.10b0

* Upgrade mypy to 0.770

* Update how inline type is defined

* release: Add support for ZSH in RELEASING and add tagging instructions (#9451)

* Add support for ZSH in RELEASING and add tagging instructions

* fail if unsupported shell

* Added dremio (#9472)

* [query] New, readonly API (#9403)

* [query] New, readonly API

* Update tests/queries/api_tests.py

Co-Authored-By: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* [mypy] Enforcing typing for superset.examples (#9469)

Co-authored-by: John Bodley <john.bodley@airbnb.com>

* Migrating shared DeckGL controls (#9455)

* Missed a couple unique controls!

* new shared module, with filter_nulls export.

* autozoom

* dimension

* nixing unneeded import

* stroke_width

* js_columns

* remaining js_* controls

* cleaning up unused stuff

* legend_format

* exports for prior commit

* legend_position

* line_column

* fill_color_picker

* filled, stroked, stroke_color_picker

* grid_size, extruded

* ... more gridsize

* viewport

* point_radius_fixed, spatial

* multiplier, line_type, line_width

* reverse_long_lat

* lint 

* [Doc] Update installation doc for Dremio (#9464)

* update installation doc for Dremio

Customers fail to install pyodbc properly which on linux systems requires you to install unixodbc-devel package. Update the instructions to make it clear.

* fix new line

* [mypy] Enforcing typing for superset.dashboards (#9418)

* [mypy] Enforcing typing for superset.dashboards

* Make return types equal on all commands

* Make return types equal on all commands

* [dashboard] address comments same return type on commands

* lint

* lint

* [datasets] Add strict type annotation (#9437)

* [datasets] Add strict type annotation

* Fix refresh endpoint

* Improve logic on update

* Filter owners select by text input (#9337)

* filter owners select by text input

* use rison

* fix backend owners filter logic

* use fullname, not username on owners inputs

* fix some tests

* fixing tests

* deterministic tests

* appease linter

* add back search by username

* more comprehensive filter test

* add clarifying text

* formatting...

* Handle empty dataframes in TableViz (#9480)

TableViz fails to display empty dataframes returning an error like:
"None of [Index(['project', 'count'], dtype='object')] are in the [columns]"

The behavior has been observed while testing 0.36.0rc3 with
Druid datasources.

issue: #9468

* [sqllab] Add CUSTOM_TEMPLATE_PROCESSOR config (#9376)

Co-authored-by: Dandan Shi <dshi@dropbox.com>

* [tests] refactor, change datasets and charts to it's own folder (#9487)

* pylint: accept specific 2 character names by default (#9460)

* lint: accept 2 letter names by default

* Address review comments

* Remove e and d from good-names

* Upgrade table chart plugin to 0.12.13 (#9493)

* feat: change default time range in sql lab explore (#9486)

Change from "100 years go" to "no filter".

100 years ago is basically equivalent to no filter, but has
implications on how x-axis is plotted on certain charts (e.g. Big
Number).

* fix: add explore control tabOverride at the section level (#9495)

* [query] Migrate api v1 query to new location (#9479)

* [query] Migrate api v1 query to new location

* Improved errors and tests

* [query] nit and revert undesired change

* [query] lint

* [query] revert nan change

* Update superset/queries/api.py

Co-Authored-By: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Update tests/queries/api_tests.py

Co-Authored-By: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* change endpoint location to charts

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Bump FAB to 2.3.2 (#9491)

* [dashboards] Fix, update dashboard owners not propagating to charts o… (#9484)

* [dashboards] Fix, update dashboard owners not propagating to charts owners

* Add tests

* Fix tests

* better naming

* [dashboards] New, tittle and slug OR filter (#9435)

* [dashboards] New, tittle and slug OR filter

* Update requirements, because of prison bump

* Tests

* Fix tests

* Avoid like filter on empty string value

* merge master brings strict typing to the table

* fix: add lineWidth to Shared_DeckGL.jsx (#9496)

* fix: add lineWidth to Shared_DeckGL.jsx

* linting

* apply changes

* opps again .... license

* feat: Add post processing to QueryObject (#9427)

* Add post processing to QueryObject

* Simplify sort signature and require explicit sort order

* Add new operations and unit tests

* linting

* Address comments

* Simplify test method names

* Address comments

* Linting

* remove unnecessary logic

* Apply strict whitelisting to all getattr calls

* Add checking of rolling_type_options and add/improve docs

* Add visualization flow to the CTA queries (#9370)

* Visualize after running Ctas query (#4)

* Visualize after running Ctas query.

Stub for table viz

Work on the viz

Add JS functionality for Ctas viz

Add test for the table viz flow

Fix test

Add js test for the ctas viz

* Fix tests

* Resolve comments

* Leverate tmpSchema in the query object

* Fix i18n string

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>

* Bump sqlalchemy and dremio deps (#9503)

* [charts] New, custom filter for name OR description (#9492)

* [charts] New, custom filter for name OR description

* Improve test

* docker node_modules in its own volume (#9509)

* [Dashboard] new listview filters & emotion infra (#9462)

* [Dashboard] listview filters to match new design

* use title_or_slug filter

* use ?. operator

* move components to components folder

* chore: auto label issues based on the template chosen (#9507)

* chore: auto label issues based on the template chosen

* quoted stuffs

* control to turn off table bar-chart backgrounds (#9500)

* control to turn off table bar-chart backgrounds

* flipping enable to disable, to support existing charts

* lint 

* Turn ON to enable (reversing logic)

* bumping big number chart

* ling 

* Another attempt to fix a viz.py bug (#9522)

* Another attempt to fix a viz.py bug

* Add types to new ddtm attributes

* deprecate groupby controls in query_obj (#9366)

* Deprecate groupby from query_obj

* Fix query_object bug

* Fix histogram

* Remove groupby from legacy druid connector and fix first batch of unit tests

* Deprecate some unnecessary tests + fix a few others

* Address comments

* hide SIP-38 changes behind feature flag

* Break out further SIP-38 related tests

* Reslove test errors

* Add feature flag to QueryContext

* Resolve tests and bad rebase

* Backport recent changes from viz.py and fix broken DeckGL charts

* Fix bad rebase

* backport #9522 and address comments

* [dashboard] Fix, improve test for custom filter (#9521)

* [api] refactor, remove unnecessary code, using command pattern now (#9520)

* Importing validators module from superset-ui (#9465)

* importing... this is going to break CI, but there it is.

* adding validator package.

* pluralization - maybe it should be plural, but whatevs

* updating validators to match new exports

* removing old validators

* lintage 

* validateNumeric -> validateNumber

* using legacyValidateInteger, legacyValidateNumber

* linting 

* removing extraneous package lock file

* Fix typo in viz.py (#9533)

* [Build] Add Github workflows (#9517)

As an replacement to Travis CI.

* Disabling recording in Cypress tests (#9535)

* Disabling recording in Cypress tests

* Removing --group --ci-build-id

* Run CI on all pushes / PR's (#9538)

* [list views] add work-break css for table layouts (#9537)

* [thumbnails] API and celery task for dashboards and charts (#8947)

* [copy] fix: Row Level Security get_rls_filters func SELECT statement (#9541)

* fix: Row Level Security get_rls_filters func SELECT statement

* More general RowLevelSecurityTests case to avoid improper ids matching

* Make email parsing more robust (#9523)

* Make email parsing more robust

* Address comment

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>

* docs: point our README the maintained Docker image (#9536)

Our README now points to a not-so-well-maintain, community-contributed
Docker image. The docker image we link to here is managed and
supported by actual committers under the Preset org.

* Bump copyright notice (#9539)

* Ditching travis config in favor of Github Actions (#9548)

* Bump @superset-ui/legacy-plugin-chart-table to 0.12.14 (#9549)

* [dashboard] New, add statsd metrics to the API (#9519)

* [fix] warm up cache error handling (#9560)

Co-authored-by: John Bodley <john.bodley@airbnb.com>

* [fix] dashboard filter scope bug (#9550)

* [Build] Collect frontend code coverage from Cypress tests (#9555)

* build: collect code coverage from Cypress

Collect frontend code coverage reports from Cypress tests and add
proper tagging for all tests.

* Fix bash script lint error from shellcheck

* Revert Cypress to 4.3.0 to see if it fixes a failing test

* chore: Migrate unique FilterBox controls from controls.jsx (#9566)

* Migrate FilterBox controls from controls.jsx

* Linting

* chore: Add OpenAPI docs to /api/v1/chart/data EP (#9556)

* Add OpenAPI docs to /api/v1/chart/data EP

* Add missing fields to QueryObject, fix linting and unit test errors

* Fix unit test errors

* abc

* Fix errors uncovered by schema validation and add unit test for invalid payload

* Add schema for response

* Remove unnecessary pylint disable

* [pypi] Include compiled translations on Pypi pkg (#9567)

* doc: Add changelog for 0.36.0 (#9570)

* Migrating shared NVD3 controls to new module (#9525)

* proto module

* caught a missed 'freq' unique control

* line_interpolation

* linting

* showLegend

* show_controls

* xAxisLabel

* bottomMargin

* x_ticks_layout

* missed one

* x_axis_format

* yLogScale

* y_axis_bounds

* linting

* nixing yarn lock

* x_axis_showminmax

* xAxisShowminmax control

* richTooltip

* linting, syntax fix

* show_bar_value, bar_stacked

* reduceXticks, yaxislabel

* left_margin, max_bubble_size, y_axis_showminmax

* show_labels

* send_time_range, y_axis_2_format, show_markers, order_bars

* nixing commented imports

* fake controls

* looking up actual controls for comparison.

* adding key to test setup

* controls inventory

* apache junk

* lint 

* ignore null controls

* fixing goofed up spread operation for xAxisFormat config

* lint 

* fixes for errors caused by <hr> element in filterbox controls

* fixing filter controls for 'druid_time_origin', 'granularity', 'granularity_sqla', 'time_grain_sqla'

* getControlsInventory -> getControlsForVizType

* further renaming of chartControlsInventory - > getControlsForVizType

Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>

* fix: Add deprecated fields to QueryObject schema (#9579)

* fix: Add deprecated fields to QueryObject schema

* linting

* [mypy] Enforcing typing for superset.migrations (#9583)

Co-authored-by: John Bodley <john.bodley@airbnb.com>

* Re-enable the AnnotationLayerModelView read API (#9443)

* Re-enable the AnnotationLayerModelView read API

* Fix CI

* [config] Enable dashboard bootstrap payload reduction by default (#9585)

* [docs] fix, elastic.co elasticsearch product location (#9598)

* [fix] Fixing issue with Jinja filter_value (#9582)

Co-authored-by: John Bodley <john.bodley@airbnb.com>

* [Build] moves prettier check to separate script (#9591)

* [Build] moves prettier check to separate script

* rename step: eslint -> lint

* Add documentation build to Github Actions (#9569)

* Add documentation build to Github Actions

* Update requirements for documentation builds

* Minor optimization - only install requirements for documentation in documentation job

* Add raw number/integer option to d3 number formats (#9562)

* Bump superset-ui-connection to 0.12.22 (#9602)

* [charts] feat: add statsd to charts api (#9571)

* add statsd to charts api

* update test for charts api

* [charts] add statsd asserts wrapper

* [charts] update api test

* removed white space

* [tests] Helper script to run single tests (#9547)

* [charts] adds new filters ui (#9530)

* [charts] adds new filters ui

* move null check to be more visible

* better filter lists and async filter functionality

* [SQL Lab] Lock result set controls to be always visible (#9587)

* improve helm chart

* add Apache license headers

* add initjob conf + secret

* add missing headers

* apply changes

* opps again .... license

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Krist Wongsuphasawat <krist.wongz@gmail.com>
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
Co-authored-by: Daniel Vaz Gaspar <danielvazgaspar@gmail.com>
Co-authored-by: Will Barrett <will@preset.io>
Co-authored-by: Craig Rueda <craig@craigrueda.com>
Co-authored-by: Grace Guo <grace.guo@airbnb.com>
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
Co-authored-by: Alexander Mancevice <amancevice@cargometrics.com>
Co-authored-by: John Bodley <john.bodley@airbnb.com>
Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
Co-authored-by: venter <venter.zhu@outlook.com>
Co-authored-by: Naren <narendrans@users.noreply.github.com>
Co-authored-by: Luca Toscano <elukey@users.noreply.github.com>
Co-authored-by: dandanhub <dandanshi@live.cn>
Co-authored-by: Dandan Shi <dshi@dropbox.com>
Co-authored-by: Bogdan <b.kyryliuk@gmail.com>
Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
Co-authored-by: Octavian <octavian.corlade@gmail.com>
Co-authored-by: Aliaksei Kushniarevich <axelet3@gmail.com>
Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>
Co-authored-by: Erik Ritter <erik.ritter@airbnb.com>
Co-authored-by: Lily Kuang <lily@preset.io>
2020-04-22 07:45:13 -07:00
Erik Ritter
dcbffed9bb [SQL Lab] Lock result set controls to be always visible (#9587) 2020-04-21 12:09:33 -07:00
ʈᵃᵢ
0b999e3b91 [charts] adds new filters ui (#9530)
* [charts] adds new filters ui

* move null check to be more visible

* better filter lists and async filter functionality
2020-04-21 12:04:11 -07:00
Daniel Vaz Gaspar
9cf33e9f9d [tests] Helper script to run single tests (#9547) 2020-04-21 20:03:58 +01:00
Lily Kuang
7cefc89c64 [charts] feat: add statsd to charts api (#9571)
* add statsd to charts api

* update test for charts api

* [charts] add statsd asserts wrapper

* [charts] update api test

* removed white space
2020-04-21 19:57:42 +01:00
Erik Ritter
ba691d3a27 Bump superset-ui-connection to 0.12.22 (#9602) 2020-04-21 11:36:01 -07:00
Jesse Yang
2b957a2c1e Add raw number/integer option to d3 number formats (#9562) 2020-04-20 21:31:47 -07:00
Will Barrett
132d774953 Add documentation build to Github Actions (#9569)
* Add documentation build to Github Actions

* Update requirements for documentation builds

* Minor optimization - only install requirements for documentation in documentation job
2020-04-20 15:48:50 -07:00
ʈᵃᵢ
cb51d7833f [Build] moves prettier check to separate script (#9591)
* [Build] moves prettier check to separate script

* rename step: eslint -> lint
2020-04-20 15:06:33 -07:00
John Bodley
237ac59474 [fix] Fixing issue with Jinja filter_value (#9582)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-04-20 09:44:45 -07:00
Daniel Vaz Gaspar
2295999a91 [docs] fix, elastic.co elasticsearch product location (#9598) 2020-04-20 15:48:03 +01:00
Erik Ritter
083dd6ae1a [config] Enable dashboard bootstrap payload reduction by default (#9585) 2020-04-19 15:41:36 -07:00
Erik Ritter
06471f5877 Re-enable the AnnotationLayerModelView read API (#9443)
* Re-enable the AnnotationLayerModelView read API

* Fix CI
2020-04-19 10:19:50 -07:00
John Bodley
636ee5d19a [mypy] Enforcing typing for superset.migrations (#9583)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-04-18 23:24:32 -07:00
Ville Brofeldt
0472c11157 fix: Add deprecated fields to QueryObject schema (#9579)
* fix: Add deprecated fields to QueryObject schema

* linting
2020-04-18 20:28:57 +03:00
Evan Rusackas
ea27e68ee1 Migrating shared NVD3 controls to new module (#9525)
* proto module

* caught a missed 'freq' unique control

* line_interpolation

* linting

* showLegend

* show_controls

* xAxisLabel

* bottomMargin

* x_ticks_layout

* missed one

* x_axis_format

* yLogScale

* y_axis_bounds

* linting

* nixing yarn lock

* x_axis_showminmax

* xAxisShowminmax control

* richTooltip

* linting, syntax fix

* show_bar_value, bar_stacked

* reduceXticks, yaxislabel

* left_margin, max_bubble_size, y_axis_showminmax

* show_labels

* send_time_range, y_axis_2_format, show_markers, order_bars

* nixing commented imports

* fake controls

* looking up actual controls for comparison.

* adding key to test setup

* controls inventory

* apache junk

* lint 

* ignore null controls

* fixing goofed up spread operation for xAxisFormat config

* lint 

* fixes for errors caused by <hr> element in filterbox controls

* fixing filter controls for 'druid_time_origin', 'granularity', 'granularity_sqla', 'time_grain_sqla'

* getControlsInventory -> getControlsForVizType

* further renaming of chartControlsInventory - > getControlsForVizType

Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>
2020-04-17 11:40:50 -07:00
Ville Brofeldt
1b02b5b157 doc: Add changelog for 0.36.0 (#9570) 2020-04-17 19:55:51 +03:00
Daniel Vaz Gaspar
ecf1abae78 [pypi] Include compiled translations on Pypi pkg (#9567) 2020-04-17 16:28:10 +01:00
Ville Brofeldt
8e439b1115 chore: Add OpenAPI docs to /api/v1/chart/data EP (#9556)
* Add OpenAPI docs to /api/v1/chart/data EP

* Add missing fields to QueryObject, fix linting and unit test errors

* Fix unit test errors

* abc

* Fix errors uncovered by schema validation and add unit test for invalid payload

* Add schema for response

* Remove unnecessary pylint disable
2020-04-17 16:44:16 +03:00
Ville Brofeldt
427d2a05e5 chore: Migrate unique FilterBox controls from controls.jsx (#9566)
* Migrate FilterBox controls from controls.jsx

* Linting
2020-04-17 12:20:32 +03:00
Jesse Yang
d8de540e0c [Build] Collect frontend code coverage from Cypress tests (#9555)
* build: collect code coverage from Cypress

Collect frontend code coverage reports from Cypress tests and add
proper tagging for all tests.

* Fix bash script lint error from shellcheck

* Revert Cypress to 4.3.0 to see if it fixes a failing test
2020-04-16 23:35:01 -07:00
Grace Guo
4a55e1ea3a [fix] dashboard filter scope bug (#9550) 2020-04-16 15:44:03 -07:00
John Bodley
074e3653e2 [fix] warm up cache error handling (#9560)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-04-16 15:19:32 -07:00
Daniel Vaz Gaspar
7b11b44abe [dashboard] New, add statsd metrics to the API (#9519) 2020-04-16 10:54:45 +01:00
Jesse Yang
d9ebd32485 Bump @superset-ui/legacy-plugin-chart-table to 0.12.14 (#9549) 2020-04-15 14:41:36 -07:00
Craig Rueda
403d5d6542 Ditching travis config in favor of Github Actions (#9548) 2020-04-15 10:22:43 -07:00
Ville Brofeldt
8476de9640 Bump copyright notice (#9539) 2020-04-15 08:59:29 -07:00
Maxime Beauchemin
4afedf1a01 docs: point our README the maintained Docker image (#9536)
Our README now points to a not-so-well-maintain, community-contributed
Docker image. The docker image we link to here is managed and
supported by actual committers under the Preset org.
2020-04-15 15:20:01 +01:00
Bogdan
3574a3a4fb Make email parsing more robust (#9523)
* Make email parsing more robust

* Address comment

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-04-15 16:58:03 +03:00
Aliaksei Kushniarevich
ef5e11f45b [copy] fix: Row Level Security get_rls_filters func SELECT statement (#9541)
* fix: Row Level Security get_rls_filters func SELECT statement

* More general RowLevelSecurityTests case to avoid improper ids matching
2020-04-15 16:41:54 +03:00
Daniel Vaz Gaspar
d81f720502 [thumbnails] API and celery task for dashboards and charts (#8947) 2020-04-15 09:40:14 +01:00
ʈᵃᵢ
1ccda920fe [list views] add work-break css for table layouts (#9537) 2020-04-14 22:04:24 -07:00
Craig Rueda
fd89900dc5 Run CI on all pushes / PR's (#9538) 2020-04-14 21:16:16 -07:00
Craig Rueda
1d7900ade3 Disabling recording in Cypress tests (#9535)
* Disabling recording in Cypress tests

* Removing --group --ci-build-id
2020-04-14 15:56:35 -07:00
Jianchao Yang
7b4b0d1c61 [Build] Add Github workflows (#9517)
As an replacement to Travis CI.
2020-04-14 13:38:09 -07:00
Will Barrett
aef06ded6b Fix typo in viz.py (#9533) 2020-04-14 13:17:36 -07:00
Evan Rusackas
6270f7dc24 Importing validators module from superset-ui (#9465)
* importing... this is going to break CI, but there it is.

* adding validator package.

* pluralization - maybe it should be plural, but whatevs

* updating validators to match new exports

* removing old validators

* lintage 

* validateNumeric -> validateNumber

* using legacyValidateInteger, legacyValidateNumber

* linting 

* removing extraneous package lock file
2020-04-14 12:00:25 -07:00
Daniel Vaz Gaspar
c343c2ff1d [api] refactor, remove unnecessary code, using command pattern now (#9520) 2020-04-14 10:11:11 +01:00
Daniel Vaz Gaspar
925d8b5315 [dashboard] Fix, improve test for custom filter (#9521) 2020-04-14 10:10:14 +01:00
Ville Brofeldt
9447381549 deprecate groupby controls in query_obj (#9366)
* Deprecate groupby from query_obj

* Fix query_object bug

* Fix histogram

* Remove groupby from legacy druid connector and fix first batch of unit tests

* Deprecate some unnecessary tests + fix a few others

* Address comments

* hide SIP-38 changes behind feature flag

* Break out further SIP-38 related tests

* Reslove test errors

* Add feature flag to QueryContext

* Resolve tests and bad rebase

* Backport recent changes from viz.py and fix broken DeckGL charts

* Fix bad rebase

* backport #9522 and address comments
2020-04-14 12:06:10 +03:00
Will Barrett
c1f8c9e397 Another attempt to fix a viz.py bug (#9522)
* Another attempt to fix a viz.py bug

* Add types to new ddtm attributes
2020-04-14 09:10:04 +03:00
Evan Rusackas
f29d0fd9f2 control to turn off table bar-chart backgrounds (#9500)
* control to turn off table bar-chart backgrounds

* flipping enable to disable, to support existing charts

* lint 

* Turn ON to enable (reversing logic)

* bumping big number chart

* ling 
2020-04-13 16:53:50 -07:00
Maxime Beauchemin
cf6422caf3 chore: auto label issues based on the template chosen (#9507)
* chore: auto label issues based on the template chosen

* quoted stuffs
2020-04-13 16:31:21 -07:00
ʈᵃᵢ
f90824fa17 [Dashboard] new listview filters & emotion infra (#9462)
* [Dashboard] listview filters to match new design

* use title_or_slug filter

* use ?. operator

* move components to components folder
2020-04-13 13:39:55 -07:00
Octavian
a797465ae5 docker node_modules in its own volume (#9509) 2020-04-11 15:47:50 -07:00
Daniel Vaz Gaspar
622561f756 [charts] New, custom filter for name OR description (#9492)
* [charts] New, custom filter for name OR description

* Improve test
2020-04-11 07:25:54 +01:00
Ville Brofeldt
11ac8c7392 Bump sqlalchemy and dremio deps (#9503) 2020-04-11 08:19:25 +03:00
Bogdan
02b3fb1d63 Add visualization flow to the CTA queries (#9370)
* Visualize after running Ctas query (#4)

* Visualize after running Ctas query.

Stub for table viz

Work on the viz

Add JS functionality for Ctas viz

Add test for the table viz flow

Fix test

Add js test for the ctas viz

* Fix tests

* Resolve comments

* Leverate tmpSchema in the query object

* Fix i18n string

Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
2020-04-11 00:46:46 +03:00
Ville Brofeldt
a8ce3bccdf feat: Add post processing to QueryObject (#9427)
* Add post processing to QueryObject

* Simplify sort signature and require explicit sort order

* Add new operations and unit tests

* linting

* Address comments

* Simplify test method names

* Address comments

* Linting

* remove unnecessary logic

* Apply strict whitelisting to all getattr calls

* Add checking of rolling_type_options and add/improve docs
2020-04-10 20:50:11 +03:00
Ville Brofeldt
5ec0192bcc fix: add lineWidth to Shared_DeckGL.jsx (#9496)
* fix: add lineWidth to Shared_DeckGL.jsx

* linting
2020-04-09 12:47:50 -07:00
Daniel Vaz Gaspar
b39e78fca5 [dashboards] New, tittle and slug OR filter (#9435)
* [dashboards] New, tittle and slug OR filter

* Update requirements, because of prison bump

* Tests

* Fix tests

* Avoid like filter on empty string value

* merge master brings strict typing to the table
2020-04-09 11:14:28 +01:00
Daniel Vaz Gaspar
bb80ceaccc [dashboards] Fix, update dashboard owners not propagating to charts o… (#9484)
* [dashboards] Fix, update dashboard owners not propagating to charts owners

* Add tests

* Fix tests

* better naming
2020-04-09 09:37:37 +01:00
Daniel Vaz Gaspar
ecfc1f147d Bump FAB to 2.3.2 (#9491) 2020-04-09 09:07:19 +01:00
Daniel Vaz Gaspar
0610c489bb [query] Migrate api v1 query to new location (#9479)
* [query] Migrate api v1 query to new location

* Improved errors and tests

* [query] nit and revert undesired change

* [query] lint

* [query] revert nan change

* Update superset/queries/api.py

Co-Authored-By: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* Update tests/queries/api_tests.py

Co-Authored-By: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* change endpoint location to charts

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-04-09 09:05:49 +01:00
Jianchao Yang
5565895819 fix: add explore control tabOverride at the section level (#9495) 2020-04-08 18:26:53 -07:00
Jianchao Yang
36cd5411d0 feat: change default time range in sql lab explore (#9486)
Change from "100 years go" to "no filter".

100 years ago is basically equivalent to no filter, but has
implications on how x-axis is plotted on certain charts (e.g. Big
Number).
2020-04-08 17:39:14 -07:00
Jianchao Yang
fd85696378 Upgrade table chart plugin to 0.12.13 (#9493) 2020-04-08 17:30:47 -07:00
Ville Brofeldt
980dd2fd41 pylint: accept specific 2 character names by default (#9460)
* lint: accept 2 letter names by default

* Address review comments

* Remove e and d from good-names
2020-04-08 20:32:26 +03:00
Daniel Vaz Gaspar
4485800e21 [tests] refactor, change datasets and charts to it's own folder (#9487) 2020-04-08 08:44:35 +01:00
dandanhub
72f051f3ce [sqllab] Add CUSTOM_TEMPLATE_PROCESSOR config (#9376)
Co-authored-by: Dandan Shi <dshi@dropbox.com>
2020-04-07 21:00:42 +01:00
Luca Toscano
a52b9ee8ff Handle empty dataframes in TableViz (#9480)
TableViz fails to display empty dataframes returning an error like:
"None of [Index(['project', 'count'], dtype='object')] are in the [columns]"

The behavior has been observed while testing 0.36.0rc3 with
Druid datasources.

issue: #9468
2020-04-07 10:37:03 -07:00
David Aaron Suddjian
5e535062da Filter owners select by text input (#9337)
* filter owners select by text input

* use rison

* fix backend owners filter logic

* use fullname, not username on owners inputs

* fix some tests

* fixing tests

* deterministic tests

* appease linter

* add back search by username

* more comprehensive filter test

* add clarifying text

* formatting...
2020-04-07 09:09:02 -07:00
Daniel Vaz Gaspar
4be827544e [datasets] Add strict type annotation (#9437)
* [datasets] Add strict type annotation

* Fix refresh endpoint

* Improve logic on update
2020-04-07 16:22:57 +01:00
Daniel Vaz Gaspar
f9db3faade [mypy] Enforcing typing for superset.dashboards (#9418)
* [mypy] Enforcing typing for superset.dashboards

* Make return types equal on all commands

* Make return types equal on all commands

* [dashboard] address comments same return type on commands

* lint

* lint
2020-04-07 12:52:14 +01:00
Naren
b487834d12 [Doc] Update installation doc for Dremio (#9464)
* update installation doc for Dremio

Customers fail to install pyodbc properly which on linux systems requires you to install unixodbc-devel package. Update the instructions to make it clear.

* fix new line
2020-04-07 12:01:30 +03:00
Evan Rusackas
b6bca9f137 Migrating shared DeckGL controls (#9455)
* Missed a couple unique controls!

* new shared module, with filter_nulls export.

* autozoom

* dimension

* nixing unneeded import

* stroke_width

* js_columns

* remaining js_* controls

* cleaning up unused stuff

* legend_format

* exports for prior commit

* legend_position

* line_column

* fill_color_picker

* filled, stroked, stroke_color_picker

* grid_size, extruded

* ... more gridsize

* viewport

* point_radius_fixed, spatial

* multiplier, line_type, line_width

* reverse_long_lat

* lint 
2020-04-06 18:37:25 -07:00
John Bodley
dcb7b8350e [mypy] Enforcing typing for superset.examples (#9469)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-04-06 09:11:49 -07:00
Daniel Vaz Gaspar
c0807c1af7 [query] New, readonly API (#9403)
* [query] New, readonly API

* Update tests/queries/api_tests.py

Co-Authored-By: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2020-04-06 11:18:32 +01:00
Naren
25e38f6ca7 Added dremio (#9472) 2020-04-06 09:27:16 +03:00
Ville Brofeldt
8dd92f71a9 release: Add support for ZSH in RELEASING and add tagging instructions (#9451)
* Add support for ZSH in RELEASING and add tagging instructions

* fail if unsupported shell
2020-04-06 09:21:31 +03:00
Jianchao Yang
801e2f1777 chore: bump black to 19.10b0 and mypy to 0.770 (#9378)
* Bump black to 19.10b0

* Upgrade mypy to 0.770

* Update how inline type is defined
2020-04-04 13:23:18 -07:00
John Bodley
5e55e09e3e [mypy] Enforcing typing for some modules (#9416)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-04-04 12:45:14 -07:00
Evan Rusackas
1cdfb829d7 Eslint prefer-object-spread (#9466)
* The rule.

* The result
2020-04-03 17:05:16 -07:00
Evan Rusackas
265a2feb29 Migrating NVD3 Area's stacked_style config (#9454)
* Migrating NVD3 Area's stacked_style config

* test mods

* lint

* nonsense change

* undoing nonsense. Come on GitHub, WORK.
2020-04-03 12:50:28 -07:00
Evan Rusackas
cd572334c9 Migrating unique NVD3 viz controls (#9445)
* donut control

* labels outside

* linting

* x_log_scale, pie_label_type

* linting

* line_charts, line_charts_2

* marker_labels

* marker_line_labels, marker_lines, markers

* prefix_metric_with_slice_name, range_labels, ranges

* stacked_style

* Revert "stacked_style"

This reverts commit aae2d418b8f1950fbe32248b62e50a12fbf186bd.

* stacked_style take 2...

* Revert "stacked_style take 2..."

This reverts commit 38b7155f50143684c92a67b2a9fa16f65c269d35.
2020-04-03 12:50:07 -07:00
Evan Rusackas
9e79cf37f8 Migrating unique bigNumber(total) controls (#9440)
* migrating options controls

* lint 

* baby steps...

* shared BigNumber controls file

* capitalization matters
2020-04-02 10:52:32 -07:00
Evan Rusackas
c53bc4ddf9 Enforcing linting of LESS (#9356)
* linting some LESS

* enforce linting

* moving font binaries out of stylesheets to fonts folder.

* renaming font specimen sheet directory.
2020-04-02 10:10:10 -07:00
Evan Rusackas
c003189d0d migrating unique controls (#9446) 2020-04-02 09:26:52 -07:00
Ville Brofeldt
e33f6c244d Add check for SSL certificate and add form validators (#9436)
* Add check for server_cert falsy and add form validators

* Address comments
2020-04-02 08:17:17 +03:00
venter
621b4816b3 [fix]some translation not work better (#9428) 2020-04-01 17:00:23 -07:00
Jianchao Yang
f0f4f7e91d feat(visualization): add timeRangeFixed to Big Number w/ Trendlines (#9341)
* feat: add timeRangeFixed and increase font size for Big Number chart

* Update package-lock.json
2020-04-01 12:38:56 -07:00
ʈᵃᵢ
893c95521b fix pagination for list views (#9425) 2020-04-01 09:20:17 -07:00
Grace Guo
a9ff51bd61 [fix] dashboard filter indicator no showing single number value (#9401) 2020-03-30 15:05:04 -07:00
Grace Guo
ce3031b925 [fix] allow force refresh for No Results chart (#9408) 2020-03-30 15:00:58 -07:00
Jianchao Yang
3d8a2b859e Build: fix hot reload for charts (#9400)
* Fix hot reload for charts

* Override tsc options for plugins

Plugins will sometimes have their own `tsconfig.json`, which will
interfere with the dev server config if configured inappropriately.

This change makes sure `tsc` (and `ts-loader`) always compiles to
`esnext` modules, so we don't get "Uncaught ReferenceError: exports
is not defined" error.
2020-03-30 09:31:46 -07:00
Daniel Vaz Gaspar
752de8fe9d [dashboards] Fix, API update slug uniqueness refusing empty string (#9417)
* [dashboards] Fix, API update slug uniqueness refusing empty string

* [dashboards] tests
2020-03-30 16:10:08 +01:00
John Bodley
ec795a4711 [mypy] Enforcing typing for charts (#9411)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-03-29 13:39:36 -07:00
Daniel Vaz Gaspar
2e81e27272 [dependency] Fix, Bump FAB to 2.3.1 (#9413) 2020-03-29 16:26:52 +01:00
John Bodley
e63cb52630 [fix] Fixing cache key inconsistencies (#9382)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-03-28 12:33:16 -07:00
Ville Brofeldt
499f9c8fca feat: add SSL certificate validation for Druid (#9396)
* feat: add SSL certificate feature

* Address comments

* don't mutate extras

* Address comments and add polish

* Add further polish
2020-03-27 19:07:07 +02:00
Evan Rusackas
fd227888b6 Mirgrating unique Partition chart controls (#9385)
* mirgrating controls

* specific import
2020-03-27 09:16:36 -07:00
John Bodley
742887bf00 [sip-15] fix messaging (#9397) 2020-03-27 08:20:47 -07:00
Daniel Vaz Gaspar
81971967c3 [charts] New, bulk delete API endpoint (#9387)
* [charts] New, bulk delete API endpoint

* [charts] Fix, typos

* [charts] Fix wrong model name
2020-03-27 09:31:01 +00:00
Daniel Vaz Gaspar
40bc1b33d2 [dataset] New, export API endpoint (#9367)
* [dataset] New, export API endpoint

* Fix, lint
2020-03-27 09:30:23 +00:00
Evan Rusackas
98a26c4f2c migrating controls (#9373) 2020-03-26 21:32:23 -07:00
Jianchao Yang
77fcc4b6aa build: use manifest hooks for dev server proxy and fix hot reload for charts (#9333)
* Use manifest hooks for dev server proxy

* Rewrite dashboard/App.jsx to supress Redux error in hot reload

* Update ChartRenderer to allow hot realod in Explore

* Fix hot reload in dashboars as well

* Revert changes to ChartRenderer.jsx

Will submit in another PR.

* Clean up
2020-03-26 16:55:22 -07:00
Evan Rusackas
9fcdc93c06 Migrating horizon controls (#9368)
* migrating unique controls

* linting 
2020-03-26 15:16:07 -07:00
Evan Rusackas
b12188ec80 migrating unique controls (#9374) 2020-03-26 15:15:47 -07:00
David Aaron Suddjian
cfa786850f upgrade to react-bootstrap v0.33.1 (#9372)
* upgrade to react-bootstrap v0.33.1

* fix test

* simplify proptypes

Co-Authored-By: Evan Rusackas <evan@preset.io>

* simplify more proptypes

Co-Authored-By: Evan Rusackas <evan@preset.io>

Co-authored-by: Evan Rusackas <evan@preset.io>
2020-03-26 11:16:49 -07:00
Evan Rusackas
ccff6be969 Migrating unique BoxPlot controls (#9392) 2020-03-26 09:29:17 -07:00
Evan Rusackas
7e86e38dab Migrating unique Table controls (#9388) 2020-03-26 09:28:51 -07:00
Evan Rusackas
bf0fa84bbc migrating controls 🎛 (#9386) 2020-03-26 09:28:09 -07:00
John Bodley
19da9042ff [cache] Cleaning up viz/cache logic (#9375)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-03-26 09:22:06 -07:00
Grace Guo
5b07c8d229 [dashboard] handle markdown error (#9350)
* [dashboard] handle markdown error

* localize error message, fix review comments.
2020-03-26 09:06:23 -07:00
Evan Rusackas
d5e2f7e6b3 Removing WordCloud controls from CONTRIBUTING.md (#9391) 2020-03-26 08:19:35 -07:00
ʈᵃᵢ
f5cc0ef906 fix: [dashboard] add row padding (#9381) 2020-03-26 08:18:53 -07:00
Alexander Mancevice
9eb5baddd6 Update MANIFEST.in (#9261)
Include superset-frontent/package.json in package because setup.py requires it
2020-03-25 22:00:41 -07:00
Evan Rusackas
0061a3ebaf Migrating unique DirectedForce controls (#9359)
* migrating controls

* Linting 

* oops... meant to pull this out in a conflict resolution.
2020-03-25 19:20:52 -07:00
Grace Guo
4fd5ac9be6 fix a typo in set prop value (#9383) 2020-03-25 16:08:22 -07:00
Grace Guo
6b0f62a36e [explore view] fix long query issue from Run in SQL LAB Button (#9345)
* [explore view] fix long query issue from Run in SQL LAB Button

* SQL Lab page needs to take the post form data, too

* fix variable names

* updated payload dict, rename hidden form

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
2020-03-25 13:15:52 -07:00
John Bodley
43f0221304 [sip-15] Fixing typo in docstring (#9377) 2020-03-25 10:00:41 -07:00
Evan Rusackas
634b440c56 fix: don't parseFloat when the *already numeric* value ends in a decimal point (#9351) 2020-03-24 15:34:09 -07:00
Ville Brofeldt
fe53555fc2 Migrate unique Heatmap controls (#9360)
* Migrate Heatmap controls

* Lint
2020-03-24 21:43:20 +02:00
Craig Rueda
06e0f04214 Adding requirements-local.txt support (#9357)
* Adding requirements-local.txt support

* Reverting package-lock.json
2020-03-24 10:24:23 -07:00
Daniel Vaz Gaspar
ccb22dc976 [dataset] columns and metrics API (nested) (#9268)
* [dataset] columns and metrics API (nested)

* [dataset] tests and validation

* [datasets] Fix, revert list field name to database_name
2020-03-24 17:24:08 +00:00
Will Barrett
46e39d1036 Add global install of webpack and webpack-cli to docker-compose (#9310) 2020-03-24 08:38:58 -07:00
Daniel Vaz Gaspar
f51ab59748 [charts] Refactor API using SIP-35 (#9329)
* [charts] Refactor charts API using SIP-35

* [charts] Fix, copy pasta

* [charts] simplify
2020-03-24 10:05:11 +00:00
Maxime Beauchemin
98a71be80b feat: [explore] don't save filters inherited from a dashboard (#9340)
* feat: [explore] don't save filters inherited from a dashboard

When navigating to explore from a dashboard context, the current
dashboard filter(s) are passed along to explore so that the context is
kept. So say you're filtering on "country=Romania", in your dashboard
and pivot to explore, that filter is still there and keep on exploring.

Now a common issue is that you'll want to make some tweak to your chart
that are unrelated to the filter, say toggling the legend off for
instance, and then save it. Now you back to your dashboard and even
though you started with an "all countries" dashboard, with a global
filter on country, now that one chart is stuck on "Romania". Typically
you notice this when filtering on something else, say "Italy" and then
that one chart now has two mutually exclusive filters, and show "No data".

Now, the fix is to flag the filter as "extra" (that's the not-so-good internal
name we use for these inherited filters) and make it clear that that
specific filter is special and won't be saved when saving the chart.

* fix build
2020-03-23 23:05:00 -07:00
Evan Rusackas
3d738eecec Treemap controls migration (#9352)
* Treemap

* linting
2020-03-23 22:33:08 -07:00
Evan Rusackas
b5a9bae106 migrating unique EventFlow controls (#9358)
* migrating unique controls

* Lint 
2020-03-23 22:32:55 -07:00
Evan Rusackas
20dd4182cb Cal heatmap controls migration (#9355)
* controls migrated

* linting
2020-03-23 22:16:16 -07:00
ʈᵃᵢ
866f6f9330 feat: [SQLLAB] add checkbox to control autocomplete (#9338)
* [SQLLAB] add checkbox to control autocomplete

* autocomplete -> autocompleteEnabled

* fix defaultProps

* fix spec
2020-03-23 22:11:05 -07:00
John Bodley
5d9857544a [config] Fixing GET_FEATURE_FLAGS_FUNC example (#9339)
* [config] Fixing GET_FEATURE_FLAGS_FUNC example

* Adding typing for GET_FEATURE_FLAGS_FUNC

* Update config.py
2020-03-23 13:53:37 -07:00
Krist Wongsuphasawat
f4087d2ad2 refactor: remove settooltip (#9332) 2020-03-23 12:35:31 -07:00
Ville Brofeldt
5e6662ab12 fix: suburst chart when secondary metric is defined (#9343) 2020-03-22 22:31:05 +02:00
John Bodley
232925b7bf [requirements] Telling Celery 4.4.1 it is not welcome here (#9331)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-03-20 10:45:26 -07:00
Daniel Vaz Gaspar
c34df6b7b3 [dashboard] Refactor API using SIP-35 (#9315)
* [dashboard] Refactor API using SIP-35

* [dashboard] Fix, import

* [dashboard] more tests

* [dashboards] a misc of improvements

* [charts] Fix, DAO and tests

* [dashboards] small exceptions refactor

* [dashboards] lint

* [dashboards] Improves comments on base classes

* [dashboards] lint
2020-03-20 16:32:03 +00:00
Krist Wongsuphasawat
ccf21f6f1b feat: bump deckgl plugin version (#9325)
* feat: bump deckgl plugin version

* feat: bump again
2020-03-19 17:51:09 -07:00
Jianchao Yang
c4b53a7d42 Build: optimize frontend build configs to improve superset-ui-plugin dev experience (#9326)
* Upgrade webpack, babel and React

* Upgrade all Babel related packages

Also remove babel-plugin-css-modules-transform that is not in use.

* Remvoe tslib as dependency

* Remove unnecesary packages
2020-03-19 14:57:39 -07:00
ʈᵃᵢ
ff703cf01b [chart] fix, bulk delete endpoint and error message (#9330) 2020-03-19 18:26:55 +00:00
David Aaron Suddjian
46598830e9 show edit modal on dashboards list view (#9211)
* show edit modal on dashboards list view

* lint

* fix test

* simplify PropertiesModal interface

* lint

* comply with method ordering

* fix type issue
2020-03-19 08:05:35 -07:00
Erik Ritter
d7ea41a529 Revert "[requirements] Bumpy Celery (#9277)" (#9323)
* Revert "[requirements] Bumpy Celery (#9277)"

This reverts commit c0f0d45377.

* Update requirements.txt
2020-03-18 14:21:21 -07:00
Ville Brofeldt
f1edcebc79 fix: handle list of lists from fetch_data (#9322)
* fix: handle list of lists from fetch_data

* Address comments
2020-03-18 22:04:26 +02:00
Krist Wongsuphasawat
104f3d2502 fix: cannot assign to read only property exports of object (#9319)
* fix: cannot assign to read only property exports of object

* fix: compile ts from plugins

* fix: add package back
2020-03-18 09:01:02 -07:00
Grace Guo
adebd40d30 [cache warm_up] warm_up slice with dashboard default_filters (#9311)
* [cache warm_up] warm_up slice with dashboard default_filters

* update Celery warmup tasks

* fix code review comments

* add try catch and type checking for parsed dash metadata

* extra code review fix
2020-03-18 08:21:10 -07:00
Ali Bahjati
98ac72074c Add Iran to Country Visualization (#8940) 2020-03-18 14:08:07 +02:00
Jianchao Yang
c36a7e3ada chore: allow webpack-dev-server proxy to any destination (#9296)
One of the pain points in developing Superset frontend code is the lack
of testing data. Local installation often do not have enough examples
setup to test all edge cases.

This change allows `webpack-dev-server` to proxy to any remote Superset
service, but the same time replaces frontend asset references in HTML
with links to local development version. This allows developers to test
with production data locally, tackling edge cases all while maintaining
the productivity of editing the code locally.
2020-03-17 15:37:07 -07:00
ʈᵃᵢ
8f7ce168a0 bump FAB to 2.3.0 (#9318) 2020-03-17 22:17:02 +00:00
Ville Brofeldt
982c234a50 fix: remove character set and collate column info by default (#9316)
* fix: remove character set and collate column info by default

* lint

* remove collation and charset info before compile
2020-03-17 21:34:39 +02:00
Maxime Beauchemin
6cf36c91ea fix: big number to handle NULL as it did in the past (#9314) 2020-03-17 10:46:59 -07:00
ʈᵃᵢ
85e9a4fa99 [datasets] fix typo (#9312) 2020-03-17 00:59:12 +02:00
Ville Brofeldt
f1370c5e32 fix: add saved metrics to point size metric dropdown in deckgl scatterplot (#9309) 2020-03-16 20:06:56 +02:00
ʈᵃᵢ
8764ae3852 [sqllab] fix exception caused by casting string to int with psycopg2 (#9287)
* [sqllab] fix exception caused by casting string to int with psycopg2

* rollback session on exception

* add SQLLAB_BACKEND_PERSISTENCE to default feature flags

* cast tab_state_id to str in python instead of sql

* remove import
2020-03-16 10:51:41 -07:00
mfharding
b1916a190e Fixed two typos in the README (#9305)
I noticed two small typos in the README that I fixed:
1) "Acts" was wrong because it does not have the correct subject-verb agreement
2) "Who Have" is the wrong pronoun to use when referring to companies. "That have" is the grammatically correct option. 
Additionally, my company, Let's Roam, uses superset to visualize people completing challenges all over the world.
2020-03-14 22:38:09 +02:00
David Aaron Suddjian
f6f40c815a [Charts] Use the Edit Properties modal throughout React views (#9267)
* typescriptification

* use the chart edit modal on the react list view

* linting

* typings don't work on old react-bootstrap version

* lint

* remove duplicate field
2020-03-13 15:14:50 -07:00
Ville Brofeldt
91f3cb9878 fix: bump click in setup.py and requirements.txt (#9299)
* bump click

* add token_normalize_func to click cli decorator
2020-03-13 21:36:16 +02:00
ʈᵃᵢ
5767fb15cd [datasets] new, listview (react) (#9197)
* [datasets] new, react listview

* add hidden columns to support filtering by columns not rendered

* throw exception if config is incorrect

* fix database filter

* update endpoints to point to datasets; fix translation strings

* move Link into src/components

* add add new record button to datasets listview
2020-03-13 21:35:00 +02:00
Erik Ritter
f80fadff0e Reduce dashboard bootstrap payload (#9284) 2020-03-13 12:18:22 -07:00
Craig Rueda
e9b0095754 Docker-Compose Memory Issue Fix? (#9285)
* Adding free memory nag / running npm build with development options in compose

* Adding license
2020-03-13 09:25:54 -07:00
Asif Iqbal
1cbd955e79 [SIP-36] Migrate RunQueryActionButton.jsx to RunQueryActionButton.tsx (#9290) (#9291) 2020-03-12 18:36:55 -07:00
Daniel Vaz Gaspar
0c8c4d6895 [api] Fix, related fields need to be explicitly defined (#9283)
* [api] Fix, related fields need to be explicitly defined

* [api] Fix, lint

* Update superset/datasets/api.py

Co-Authored-By: ʈᵃᵢ <tdupreetan@gmail.com>

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>
2020-03-12 18:55:33 +00:00
Daniel Vaz Gaspar
78ba7d52f6 [dashboard][api] Fix, PUT publish/draft to not clean slug and owners (#9279) 2020-03-12 15:35:27 +00:00
Jianchao Yang
fe2dd75a59 fix: bump legacy-table-chart to 0.11.20 (#9286) 2020-03-11 15:12:53 -07:00
John Bodley
c0f0d45377 [requirements] Bumpy Celery (#9277)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
2020-03-11 08:39:38 -07:00
Jianchao Yang
c9c18011f3 fix(table-chart): bump legacy-table-chart to 0.11.18 (#9275) 2020-03-10 22:41:20 -07:00
Ville Brofeldt
406ad8778c fix: remove duplicate metric from bullet chart (#9274) 2020-03-11 06:52:58 +02:00
Ville Brofeldt
3682702e91 fix: add connection testing params for snowflake (#9272)
* fix: add connection testingt params for snowflake

* Linting
2020-03-11 06:51:57 +02:00
Grace Guo
724b8a3c31 [fix] copy filter_scopes with duplicate charts (#9271) 2020-03-10 10:23:15 -07:00
Maxime Beauchemin
c04d6163e7 feat: add rolling window support to 'Big Number with Trendline' viz (#9107)
* Rolling big number

* addressing comment
2020-03-10 10:19:12 -07:00
Jianchao Yang
753aeb4829 fix: upgrade legacy table chart to 0.11.17 (#9269)
This fixes bugs related to chart rerendering.

https://github.com/apache-superset/superset-ui-plugins/pull/392
2020-03-10 10:14:58 -07:00
Maxime Beauchemin
116200cf73 fix: change database save in DatasourceEditor (#9255)
* fix: change database save in DatasourceEditor

This addresses the issue where pointing a datasource to another database
in the datasource editor is not reflected.

Also addresses:
- a minorcosmetic issue in the datasource editor.
- user/owners list not getting populated

* tests
2020-03-10 09:20:37 -07:00
Will Barrett
99242225d6 Adds default username and password created at installation to documentation (#9263) 2020-03-10 07:30:43 +02:00
Evan Rusackas
d8fea640f8 removing safari "fix" for ACE editor font width jank. (#9264) 2020-03-09 12:46:25 -07:00
Better-Boy
8a5b898606 New entry into superset user (#9259)
* New entry into superset user

Added a new company that uses apache superset for dashboard and visualization purpose

* alphabetical order
2020-03-09 08:17:41 +02:00
Grace Guo
8bc30da621 [log] Add dashboard_id param to explore_json request (#9243)
* [log] Add dashboard_id param to explore_json request

* fix cypress test
2020-03-08 19:51:08 -07:00
Rob DiCiuccio
8cabea5cb8 Update PyArrow to 0.16.0 (#9119) 2020-03-08 23:07:15 +02:00
ʈᵃᵢ
1902fda159 [webpack] fix copying images when running dev server (#9250) 2020-03-08 10:03:58 -07:00
Daniel Vaz Gaspar
52c59d6890 [datasets] new, API using command pattern (#9129)
* [datasets] new, API using command pattern

* [datasets] tests and improvements

* [datasets] lint

* [database] address comments

* [datasets] lint

* [datasets] Address PR comments

* [dataset] Fix, dataset expects a Dict now

* [dataset] lint and optional commits

* [dataset] mypy

* [dataset] Fix, license and parent class

* [dataset] Make CRUD DAO raise exceptions
2020-03-08 09:13:08 +00:00
ʈᵃᵢ
89109a16c6 [chart] fix, datasource link in listview (#9247) 2020-03-07 14:46:17 -08:00
Ville Brofeldt
0faced7d4a fix: update release testing FLASK_APP param (#9254) 2020-03-07 12:54:10 +02:00
Erik Ritter
f34e9e393a Replace No data error with help message (#9249) 2020-03-06 16:11:01 -08:00
Krist Wongsuphasawat
fc64c37724 feat: bump plugins deckgl version (#9251) 2020-03-06 14:06:44 -08:00
Jianchao Yang
f784af285f feat: improve loading speed for legacy table chart (#9234)
* perf(table-chart): upgrade to 0.11.6

Upgrade table chart `@superset-ui/legacy-plugins-chart-table`
to https://github.com/apache-superset/superset-ui-plugins/pull/385

* refactor: use ternary instead of if

* fix: rename variables
2020-03-06 14:03:33 -08:00
Jordan Zucker
04523c77d2 Add PubNub to list of organizations that use Superset (#9252) 2020-03-06 16:22:40 +02:00
Grace Guo
000a038af1 [fix] use filter_scopes in dashboard warmup strategy (#9235)
* [fix] use filter_scopes in dashboard warmup strategy

* remove unnecessary comment
2020-03-05 17:50:32 -08:00
Krist Wongsuphasawat
787833f1be Bump node from v10 to v12 in release Dockerfiles (#9248) 2020-03-05 15:58:43 -08:00
Erik Ritter
786e575dbe [build] Bump superset-ui packages and update build (#9241) 2020-03-05 14:20:45 -08:00
Ville Brofeldt
4ffee8c5d1 [UPDATING] Adding notes regarding #8867 (#9246) 2020-03-05 21:15:47 +02:00
Ville Brofeldt
ef2ebbd570 Add option to specify type specific date truncation functions (#9238) 2020-03-05 07:25:50 +02:00
Erik Ritter
7d572d9e96 Introducing Inter UI & Fira typefaces (#9207)
* All the fonts!

* dynamic loading

* folderizing fonts by family

* Shuffling files, getting rid off LESS fanciness

* Fira Mono, consolidating on "specimen" for LESS filenames

* Fira Code

* switch for enabling ligatures

* ligatures off for now

* license

* nixing Fira Mono, using OTF features instead.
2020-03-04 17:32:08 -08:00
Erik Ritter
b1d83ba8d6 fix: choose language link for local dev (#9215)
@superset-ui/connection will add protocol and host to an "endpoint" call.

`e.currentTarget.href` may return the full URL instead of the relative
url.
2020-03-04 17:08:23 -08:00
Ville Brofeldt
969bc87431 fix: Oracle fetch_query and datetime conversion (#9240) 2020-03-04 23:43:28 +02:00
Ville Brofeldt
7a91498cf1 fix: share column type matching between model and result set (#9161)
* Share column type matching between model and result set

* Address comments
2020-03-04 16:33:22 +02:00
Daniel Vaz Gaspar
d55240a598 [security] Fix, let admin's be able to reset user passwords on AUTH_DB (#9232)
* [security] Fix, let admin's be able to reset user passwords on AUTH_DB

* [security] Fix, use constants
2020-03-03 18:57:23 +00:00
Bogdan
4e1fa95035 Make schema name for the CTA queries and limit configurable (#8867)
* Make schema name configurable

Fixing unit tests

Fix table quoting

Mypy

Split tests out for sqlite

Grant more permissions for mysql user

Postgres doesn't support if not exists

More logging

Commit for table creation

Priviliges for postgres

Update tests

Resolve comments

Lint

No limits for the CTA queries if configures

* CTA -> CTAS and dict -> {}

* Move database creation to the .travis file

* Black

* Move tweaks to travis db setup

* Remove left over version

* Address comments

* Quote table names in the CTAS queries

* Pass tmp_schema_name for the query execution

* Rebase alembic migration

* Switch to python3 mypy

* SQLLAB_CTA_SCHEMA_NAME_FUNC -> SQLLAB_CTAS_SCHEMA_NAME_FUNC

* Black
2020-03-03 19:52:20 +02:00
Daniel Vaz Gaspar
26e916e46b [api] enable CSRF by default (#9205)
* [api] Fix, don't exempt CSRF on APIs

* adds cookie based CSRF token support

* blacking

Co-authored-by: ʈᵃᵢ <tdupreetan@gmail.com>
2020-03-03 12:22:40 +00:00
Erik Ritter
28c05b22e8 [SQL Lab] Implement refetch results button properly (#9220) 2020-03-02 16:10:40 -08:00
David Aaron Suddjian
e01f24f833 Prevent database connections to sqlite (#9218)
* prevent database connections to sqlite

* tweaks and tests

* add entry to UPDATING.md
2020-03-02 13:13:11 -08:00
Grace Guo
ccd6e44edf refactor copy filter_scopes and add tests (#9224)
* refactor copy filter_scopes and add tests

* fix review comments
2020-03-02 12:55:30 -08:00
John Bodley
7b2c2e8a33 [fix] Adding SIP-15 support for the query context (#9219) 2020-03-02 10:10:54 -08:00
ʈᵃᵢ
cd4605e4c1 [dashboard, chart] fix ordering and filtering in listviews (#9212)
* [dashboard, chart] fix ordering and filtering

* fix owner name bug, better typing

* remove tslint comment
2020-02-27 09:30:52 -08:00
Grace Guo
ca2bc8b15f [fix] remove chart id from filter_scopes metadata if chart is not in dash anymore (#9213)
* [fix] remove chart id from filter_scopes metadata if chart is not in dashboard anymore

* fix review comments, and add check for overwrite dash function
2020-02-26 17:33:01 -08:00
michellethomas
4f73f8a1f9 [Bug Fix] Returning timeseries_limit_metric in table viz get_data (#9196)
* Returning timeseries_limit_metric in table viz get_data

* Fixing issue with include_time field

* Reformatting and adding a test

* Changing if/else structure

* Reformatting
2020-02-25 21:34:36 -08:00
Grace Guo
ace0ba9456 [annotation] upgrade chart plugin version (#9203) 2020-02-25 21:19:00 -08:00
Grace Guo
883b0d0313 [dashboard perf logging] add dashboard url anchor component id (#9202) 2020-02-25 21:18:36 -08:00
Maxime Beauchemin
57321dc1f6 chore: run 'npm audit fix' to fix 2 vulnerabilities (#9106) 2020-02-25 17:05:58 -08:00
Evan Rusackas
8c16ff089b Removing (unused?) Victory theme file (#9063) 2020-02-25 16:46:37 -08:00
Jianchao Yang
1992069af1 Upgrade typescript to 3.8.2 (#9189) 2020-02-25 08:44:26 -08:00
Daniel Vaz Gaspar
23fc9a7a72 [config] Disable FAB's permission and view menus views (#9133) 2020-02-25 00:49:56 +00:00
Erik Ritter
5ba7fcaeea docs: update CONTRIBUTING with TypeScript details from [SIP-36] (#9185) 2020-02-24 14:31:23 -08:00
Erik Ritter
eeec63c7dd [SIP-36] Migrate setupApp.js to setupApp.ts (#9180) 2020-02-24 14:30:35 -08:00
Grace Guo
421aeb4605 [dashboard] fix filter_scopes when copy dashboard with duplicate_slices (#9188)
* [dashboard] fix filter_scopes when copy dashboard with duplicate_slices

* code cleanup
2020-02-24 13:45:29 -08:00
Daniel Vaz Gaspar
8c095a6e39 Bump FAB to 2.2.4 (#9165) 2020-02-24 18:57:58 +00:00
ʈᵃᵢ
1748728c45 adds FAB style filter types (#9086) 2020-02-24 10:16:11 -08:00
Evan Rusackas
72518e20ee forcing fixed width fonts on ace editor (fixes #9095) (#9183)
* forcing fixed width fonts on ace editor

* making styles global (for sql editors outside SqlLab

* prettier
2020-02-24 10:09:21 -08:00
Daniel Vaz Gaspar
8e4dcd0509 [log] Set detailed query info to log debug level (#9167) 2020-02-24 10:42:59 +00:00
Daniel Vaz Gaspar
27b371a485 [core] Fix, sanitize errors returned from testconn (#9178) 2020-02-24 10:40:51 +00:00
Maxime Beauchemin
7b06bb7549 docs: remove focus on Druid in README.md (#9184)
The text in the README seemed overly Druid-centric at this time. While
originally (3-4 years ago) Superset was heavily focussed on druid, it's
just not accurate anymore. Druid is just one of the databases that we
support and docs should reflect that.
2020-02-24 10:30:25 +00:00
Erik Ritter
78b1561820 Make JSX Menu links open in new tab (#9191) 2020-02-23 07:43:06 -08:00
altef
dee16de03e [SIP-29] Add support for row-level security (#8699)
* Support and apply filters.

* Added the UI for row level security, and moved it all under SQLA in order to access the Table model more easily.

* Added a row level security filter documentation entry.

* Accidentally added two new lines to this file.

* Blacked and iSorted, hopefully.  Also, sometimes g.user may not be set.

* Another isort, and handling g not having a user attribute another way.

* Let's try this again #CI tests.

* Adjusted import order for isort; I was sure I'd already done this..

* Row level filters should be wrapped in parentheses in case one contains an OR.

* Oops, did not think that would change Black's formatting.

* Changes as per @mistercrunch.

* RLS filters are now many-to-many with Roles.

* Updated documentation to reflect RLS filters supporting multiple rows.

* Let's see what happens when I set it to the previous revision ID

* Updated from upstream.

* There was a pylint error.

* Added RLS ids to the cache keys; modified documentation; added template processing to RLS filters.

* A new migration was merged in.

* Removed RLS cache key from query_object.

* RLS added to the cache_key from query_context.

* Changes as per @etr2460.

* Updating entry for RLS pull request.

* Another migration to skip.

* Changes as per @serenajiang.

* Blacked.

* Blacked and added some attributes to check for.

* Changed to a manual query as per @mistercrunch.

* Blacked.

* Another migration in the meantime.

* Black wanted some whitespace changes.

* AttributeError: 'AnonymousUserMixin' object has no attribute 'id'.

* Oops, did hasattr backwards.

* Changes as per @mistercrunch.

* Doesn't look like text us required here anymore.

* Changes as per @dpgaspar

* Two RLS tests.

* Row level security is now disabled by default via the feature flag ENABLE_ROW_LEVEL_SECURITY.

* New head to revise.

* Changed the comment.
2020-02-22 11:21:31 +02:00
Erik Ritter
3efdfc5345 Infer SQL_LAB QuerySource from referrer (#9181) 2020-02-20 13:38:47 -08:00
John Bodley
141570636e [fix] SQL query source (#9173) 2020-02-20 11:15:12 -08:00
ʈᵃᵢ
74423e5d19 deprecate tslint and configure eslint for typescript (#9172) 2020-02-20 09:54:33 -08:00
Daniel Vaz Gaspar
e55fe43ca6 [database] Fix, tables API endpoint (#9144) 2020-02-20 10:15:22 +00:00
Grace Guo
c1750af54a [dashboard] clean up usage for old filter immune metadata (#9146)
* [dashboard] clean up usage for filter_immune metadata

* add fix per comment
2020-02-19 09:58:34 -08:00
Will Barrett
38f3fd0c9f Add feature flags to control query sharing, KV exposure (#9120)
* Add feature flags to control query sharing, KV exposure

* Add tests, fix bug

* Skip test for kv endpoints when they are disabled

* ESLint fixes

* Remove unnecessary binds

* Fix eslint errors

* Add note to UPDATING.md RE: new feature flag options

* Use expanded version of RBAC

* Enable KV_STORE and SHARE_QUERIES_VIA_KV_STORE feature flags in the test environment

* Fix black
2020-02-19 09:51:50 -08:00
Grace Guo
84b42d28b9 [dashboard] use filter_scopes metadata when import old dashboard (#9145)
* [dashboard] update filter_scopes metadata when import old dashboard

* fix review comments
2020-02-19 09:06:52 -08:00
Erik Ritter
e5e6b53687 [SIP-36] Migrate Link.jsx to Link.tsx (#9162) 2020-02-19 08:49:04 -08:00
ʈᵃᵢ
3e73c81b25 filter out markdown containing XSS (#9163) 2020-02-19 09:44:44 +00:00
John Bodley
9f5f8e5d92 [mypy] Enforcing typing for db_engine_specs (#9138) 2020-02-17 23:08:11 -08:00
Ville Brofeldt
3149d8ebc0 Add release refinements from 0.35.2 release (#8925)
* Add refinements from 0.35.2 release

* Trim whitespace from voter name if voters entered with space after comma (e.g. 'Ville, Andy')

* Reinstate deterministic deps

* Bump copyright date in NOTICE

* Fix incorrect link in README
2020-02-18 07:14:31 +02:00
Xiang Fu
c7e2785d38 Support human readable datetime type for PinotDB (#9142)
* Support more time types for Pinot

* Address comments

* Address comments
2020-02-18 07:05:38 +02:00
Rob DiCiuccio
0992445ae9 Catch TypeError on PyArrow array instantiation (#9139) 2020-02-17 08:34:00 -08:00
John Bodley
9f7466ef90 [fix] Fix table viz column order (#9122) 2020-02-16 22:51:35 -08:00
John Bodley
a7e433a512 [mypy] Disallowing implicit optional (#9150) 2020-02-16 22:34:15 -08:00
Ville Brofeldt
114642d78c fix adhoc metric bug in chord diagram (#9149) 2020-02-16 20:45:35 -08:00
ʈᵃᵢ
f95a867742 [sqllab] fix: return pandas records in execute_sql_statements (#9102)
* [sqllab] fix: return pandas records in execute_sql_statements

* empty commit
2020-02-14 13:42:55 -08:00
Maxime Beauchemin
35c697560e fix: handle duplicate groupby keys (#8658)
* fix: handle duplicate groupby keys

* Also de-duping upfront
2020-02-14 13:40:26 -08:00
Grace Guo
f4ad15e644 [migration] metadata for dashboard filters (#9109)
* [migration] metadata for dashboard filters

* fix comments

* fix extra code review comments
2020-02-14 13:26:04 -08:00
Grace Guo
b0110a74e7 [dashboard] remove loading spinner in missing chart holder (#9140) 2020-02-14 09:01:47 -08:00
Daniel Vaz Gaspar
f993bdc7ef [database] new, select star API migration (#9054) 2020-02-14 14:30:49 +00:00
Daniel Vaz Gaspar
1aab4c072c [charts] Fix, double registration of charts API (#9134) 2020-02-14 08:46:24 +00:00
David Aaron Suddjian
966d321703 [docker] fix, Dockerfile for frontend builds (#9114)
* fix dockerfile for frontend builds

* fix paths

* empty commit for CI

* adjust version_info.json

* making version_info work

* rat

* fixing docker-compose node service

* address feedback
2020-02-12 15:48:24 +00:00
Daniel Vaz Gaspar
30b7064e30 Bump FAB to 2.2.3 (#9117) 2020-02-12 08:59:11 +00:00
Grace Guo
a005e4568f [logging] Add data_age for cached chart (#9121)
* [logging] Add data_age for cached chart

* set data_age be null when is not cached data
2020-02-11 13:11:17 -08:00
David Aaron Suddjian
2913063924 SIP-32: Moving frontend code to the base of the repo (#9098)
* move assets out, get webpack dev working

* update docs to reference superset-frontend

* draw the rest of the owl

* fix docs

* fix webpack script

* rats

* correct docs

* fix tox dox
2020-02-09 17:53:56 -08:00
Arian Treffer
0cf354cc88 Add support for Cockroach DB (#9043)
* Add support for Cockroach DB

* Add documentation, fix installation and style for CockroachDB

* Fix formatting for black
2020-02-08 12:07:02 +02:00
Craig Rueda
607cfd1f29 Moving away from using the root logger everywhere (#9099)
* Moving away from using the root logger everywhere

* self.logger -> logger
2020-02-07 23:38:48 -08:00
David Aaron Suddjian
3cbe228dc1 [dashboard] Fix for dashboard edit modal, loading user list (#9081)
* fix fetching list of potential dashboard owners

* show owners input before data is loaded

* unnecessary fragment
2020-02-07 14:52:35 -08:00
Daniel Vaz Gaspar
4f06236bc4 [datasources] Fix, Prevent gamma user's from accessing save datasources (#9091) 2020-02-07 17:00:47 -05:00
Rob DiCiuccio
161d211c07 SQL Lab: Use numpy structured arrays, fallback to JSON serialization (#9096)
* Use numpy structured arrays, fallback to JSON serialization

* Explicitly cast data as list when creating numpy array
2020-02-06 17:25:22 -08:00
John Bodley
8a138fbd03 [tox] Allowing running of specific tests (#9097) 2020-02-06 16:45:37 -08:00
Daniel Vaz Gaspar
ea399047d9 [table] [columns] remove generic checkbox API (#9044) 2020-02-06 20:01:24 +00:00
David Aaron Suddjian
f0d3892b26 [dashboard] Fix metadata state (#9088)
* use the full metadata object

* use ace editor for json
2020-02-06 10:00:27 -08:00
John Bodley
f24f671a90 [fix] Temporary filename for CSV upload to Hive (#9093) 2020-02-05 15:57:22 -08:00
ʈᵃᵢ
e5f5eed425 [chart] new, list view (react) (#8999)
* [charts] new, list view (react)

* DRY up template rendering

* fix i18n

* lint package.json
2020-02-05 12:42:42 -08:00
Grace Guo
26def813b0 [fix] Add Auto Refresh Dashboard user event into dashboard logging (#9087)
1. add logging
2. refactor general periodical render function
2020-02-05 12:25:01 -08:00
Will Barrett
47b5780c5c Wrap tagging endpoints in a feature flag (disabled by default) (#9078)
* Wrap tagging endpoints in a feature flag (disabled by default)

* Add tests for new feature flag

* Reuse existing feature flag

* Add TAGGING_SYSTEM to feature flags defaulted to False
2020-02-05 11:10:13 -08:00
Daniel Vaz Gaspar
916d184076 [query] deprecate can_only_access_owned_queries (#9046) 2020-02-05 08:58:11 +00:00
Will Barrett
fc1c9428e3 Do not show stacktraces on some intentionally-thrown errors (#9056)
* Do not show stacktraces on some intentionally-thrown errors

* Fix pylint error

* Fix JavaScript looking for the wrong key in error response from connection check

* format -> f-string

* Run black because PyCharm missed it on the last save
2020-02-05 07:01:43 +02:00
John Bodley
6cb4ce0e19 [fix] Issue with previously defined SQL configuration (#9082) 2020-02-04 13:37:01 -08:00
Daniel Vaz Gaspar
24ec89a800 [csv upload] Use python's named temp file (#9047)
* [csv upload] Use python's named temp file

* [csv upload] stream write uploaded file

* Added missing ensure that configured path exists

* Fix, lint

* [csv upload] remove python's tmp file default delete behaviour
2020-02-04 10:28:32 -08:00
David Aaron Suddjian
d4d7134bf8 [explore] Modal to edit chart properties (#9051)
* chart edit modal

* remove commented code

* remove unused prop

* address PR feedback

* small tweak
2020-02-04 17:38:51 +00:00
Maxime Beauchemin
1a2ba56f46 [docs] add a link to versioned docs in the docs (#9069) 2020-02-04 17:18:23 +00:00
Will Barrett
540df268c2 Add Preset, Inc. to companies using Superset (#9076) 2020-02-03 14:29:38 -05:00
Grace Guo
c9a4384b5e [logging] Add flag for document visibility (#9070) 2020-02-03 11:29:02 -08:00
Grace Guo
bee913bbb1 [domain sharding] Freeup main domain when domain sharding is enabled (#9060)
* [domain sharding] Freeup main domain when domain sharding is enabled

* add change per comment + extra cleanup
2020-02-03 11:28:39 -08:00
John Bodley
848c565c8c [sip-15] Enabling SIP-15 by default (#9017) 2020-02-03 10:37:29 -08:00
zhxjdwh
010fdd20a1 add Dragonpass Com. Ltd. (#9075) 2020-02-03 09:39:18 -08:00
John Bodley
66fd177000 [sqla] Fixing ORDER BY logic (#9065) 2020-02-02 10:37:17 -08:00
semantiDan
c5be4f4e08 update organisation name from WPSemantix to timbr.ai (#9068) 2020-02-02 10:36:56 -08:00
Erik Ritter
f9c8ca5df2 [SQL Lab] Improve autocomplete performance (#9064) 2020-02-02 09:13:25 -08:00
John Bodley
7364024bba [fix] Ensure that is_adhoc_metric returns a boolean (#9062) 2020-01-31 17:39:30 -08:00
Evan Rusackas
bbe433784d LESS is more (#9023)
* hover stuff

* pseudos

* lint

* condensation

* linebreaks before ampersands, where prettier allows.

* more condensing, adding whitespace above blocks, adding stylelint rule to enforce that.

* prettier

* a little DRYer
2020-01-31 09:38:31 -08:00
Erik Ritter
c214cf1a43 [Viz/Query] Improve logging around cache hits (#9058) 2020-01-31 08:46:12 -08:00
Erik Ritter
47eecb84f5 [SQL Lab] Remove space after schema autocomplete (#9059) 2020-01-31 08:45:00 -08:00
Azhar Khan
2629c779af [docs] update README.md Peak AI (#9052) 2020-01-30 13:56:37 +00:00
John Bodley
6416ef51ff [UPDATING] Add metadata cache changes to 0.29.0 (#9050) 2020-01-29 20:22:46 -08:00
Will Barrett
9f4d8a5090 Add revert guidelines to CONTRIBUTING.md (#9018)
* Add revert guidelines to CONTRIBUTING.md

* Add note about age of PR

* Fix nits
2020-01-29 17:47:58 -08:00
John Bodley
51183b36f0 [sqllab] Showing schema length only when schema selected (#9041) 2020-01-29 16:06:57 -08:00
John Bodley
5738f9a159 [fix] Pivot table metric ordering (#9031) 2020-01-29 15:58:46 -08:00
aspedrosa
5f499b9545 Avoid fetch fav dashboard stat not logged in (#8527)
* Avoid fetch fav dashboard stat not logged in

* Fix old Header tests and add a new one

* Add userId to other Header tests to be consistent

* Format code to make 'prettier' tests pass
2020-01-29 15:45:20 -08:00
Will Barrett
fd9a713c7e Remove endpoints allowing arbitrary cache access (#9049) 2020-01-29 15:41:57 -08:00
Daniel Vaz Gaspar
d5dbfc886d [database] new, API table metadata (#9002)
Migrates and completely removes: '/superset/table/<database_id>/<table_name>/<schema>/'
- Guarantees database filtering based on the user permissions
- Full OpenAPI spec
- Better error handling
2020-01-29 09:51:06 +00:00
Daniel Vaz Gaspar
fb17acd122 [api] fix, set default columns to just id when not defined (#8982) 2020-01-29 09:41:40 +00:00
Will Barrett
a4ed0758b0 Remove redirect endpoint /superset/explorev2 (#9038) 2020-01-29 00:33:08 -05:00
John Bodley
a303c3c73e [fix] Adding show to FAB CRUD set (#9040) 2020-01-28 17:19:16 -08:00
Rob DiCiuccio
2fc3d84b5a Serialize nested columns as JSON strings (#9007) 2020-01-28 15:50:36 -08:00
John Bodley
162f81078e [routes] Re-adding FAB API routes for TableColumnInlineView (#9036) 2020-01-28 13:48:58 -08:00
John Bodley
a267446f7b [routes] Re-adding FAB API routes for SqlMetricInlineView and TableModelView (#9035) 2020-01-28 11:00:48 -08:00
John Bodley
dc60db2a43 [fix] Reverting metic logic from #8901 (#9030) 2020-01-27 22:28:42 -08:00
ʈᵃᵢ
d0aab05e79 [dashboard] fix, add config to optionally enable react replacement fo… (#9025)
* [dashboard] fix, add config to optionally enable react replacement for CRUD views

* move app.config to function scope
2020-01-27 11:28:24 -08:00
ʈᵃᵢ
a0cda321b7 [dashboard] new, bulk actions for delete & export (#8979)
* bulk actions for dashboards list view

* add confirm component

* finish bulk actions work

* remove loading component

* fix sortby double render bug, lint, fix specs

* adds spec for bulk actions

* fix spec

* spec ConfirmStatusChange

* lint

* tslint

* address review feedback

* tslint fixes

* guard against empty filterTypes

* persist dom events

* tslint
2020-01-27 13:23:41 -05:00
John Bodley
aecc82e174 [refactor] Centralizing custom Python types (#9026) 2020-01-26 10:04:04 -08:00
Daniel Vaz Gaspar
1f21bf877f [log] fix, log model view permissions (#8993)
Limit MVC access to admin role only and limit REST API permissions
2020-01-26 12:15:57 +00:00
Erik Ritter
68e85ab1b6 [Caching] Ensure cache is always created (#9020)
* [Caching] Ensure cache is always created

* Update cache_manager.py

* Refactoring cache typing
2020-01-25 22:49:05 +00:00
ʈᵃᵢ
c552c852cd [dashboard] fix, enable info endpoint (#9015)
* [dashboard] fix, enable info endpoint

* add info to REST_MODEL_VIEW_CRUD_SET
2020-01-24 17:16:28 -08:00
Erik Ritter
922eec2db2 [SQL Lab] Cache function names query (#9019) 2020-01-24 16:45:41 -08:00
serenajiang
f079b6dad0 [i18n] enable spanish (#9010) 2020-01-24 11:27:05 -08:00
John Bodley
dcfa047b0b [fix] Ensure sunburst column ordering adheres to hierarchy (#9011) 2020-01-24 11:24:34 -08:00
Erik Ritter
a4b8e0b9e4 [SQL Lab] Add function names to autocomplete (#9012) 2020-01-24 11:08:26 -08:00
Evan Rusackas
a85df65f85 Z index registry / clean-up (#8984)
* first pass

* whittling unused code

* updating to shortened name

* removing unnecessary z-index

* removing unnecessary flexbox vendor prefixing

* hover pseudoclass not needed for cursor styling.

* Seemingly unnecessary  z-indices on ACE content editor in dashboard

* seemingly uused styles.

* seemingly unncessary z-index setting

* seemingly unnecessary z-index

* LESS is more

* nixing antiquated gridster styles

* clearing out unnecessary z-indices

* adding z-dashedits layer

* removing a seemingly unnecessary z-index

* renaming var... more of a layer than edit-situation

* nixing unused z-indices

* moving to var

* comments/org

* moving to var. Lower value, but seems fine.

* usage note

* formatting/linting 

* better notes/labeling

* dash -> dashboard

* Do or do not. There is no try.

* no comment

* z-... -> z-index-...

Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2020-01-24 00:47:55 -05:00
Grace Guo
d0bc04fc93 [perf_logging] Add is_cached status when chart has error (#9009) 2020-01-23 17:05:39 -08:00
Erik Ritter
d3d8603620 [SQL Lab] Disable autocomplete when typing numbers (#9008) 2020-01-23 16:07:36 -08:00
John Bodley
4b5d141f20 [fix] pydruid export_pandas (#9006)
* [fix] pydruid export_pandas

* Update models.py
2020-01-23 15:38:28 -08:00
Maxime Beauchemin
04be1d4b42 docs: remove reference to Panoramix and Caravel (#8998) 2020-01-23 15:50:21 -05:00
Daniel Vaz Gaspar
6f1c931ff0 Bump FAB to 2.2.2 (#9004) 2020-01-23 16:51:01 +00:00
Maxime Beauchemin
315a11dfe2 fix: shut off unneeded endpoints (#8960)
* fix: shut off all uneeded endpoints

We recently added a new feature to FAB allowing to whitelist the needed
endpoints in ModelView and ModelRestApi.

First, we set our base wrapper class to an empty set, forcing each
class inheriting from it to explicitely turn on the endpoints that
Superset intends to use.

Second, we go ModelView by ModelView to whitelist the actual endpoints
used in the app.

Notes:
* as a result a large set of [unneeded] permissions should be cleaned up
* outside of the "private" use of endpoints in the app, people that have
  been using endpoints in their environment for other purposes may
  experience loss of functionality

* Tweaking

* Reduce the amount of endpoints using white lists

* Fix, included needed endpoints for dashboard and druid

* Drying things up

* fixes

* limiting more endpoints

* Read only on some FAB model views

* fixing some tests

* fixes

* Fixing more tests

* Addressing comments

* Drying up route_methods

* further drying

Co-authored-by: Daniel Vaz Gaspar <danielvazgaspar@gmail.com>
2020-01-23 11:25:15 -05:00
Evan Rusackas
22699a204d Timing and radii (#8988)
* parameterizing dot for easy resizing.

* first pass

* all timing normalized

* seeing no need to 'reset' this transition

* getting most border radii, a little light linting.

* parameterizing dot dimensions
2020-01-22 20:55:57 -05:00
Ville Brofeldt
bf08ff591c Bump requirements.txt to what setup.py would pull in (#8992) 2020-01-22 20:12:40 -05:00
John Bodley
d56abc3d34 [druid] Making scaning/refreshing Druid datasource view items optional (#8995) 2020-01-22 15:53:16 -08:00
Erik Ritter
5a04f30104 [SQL Lab] Open request access link in a new tab (#8997) 2020-01-22 15:31:28 -08:00
serenajiang
a62390d1a0 [druid] make cluster_name editable (#8996) 2020-01-22 15:19:51 -08:00
Ville Brofeldt
e46ff239af Bump pandas to 0.25.3 (#8985)
* Bump pandas to 0.25.3 as per recommendation to get ready for 1.0

* Localize timezone aware Pandas series prior to Arrow conversion
2020-01-22 09:03:19 +02:00
Daniel Vaz Gaspar
d02cf2f509 [dashboards] New, API for Bulk delete (#8972)
* [dashboards] New, API for Bulk delete

* [dashboards] Tests

* [dashboards] Fix not found on multiple delete

* [dashboards] Bulk delete partial deletes on not owned dashes

* [dashboards] Improve OpenAPI spec and tests

* [dashboards] Test for bad request

* [dashboards] i18n

* [dashboards] black

* [dashboard] make bulk all or nothing

* [dashboard] Log on sqlalchemy error

* [dashboard] Log on sqlalchemy error
2020-01-21 17:14:53 -05:00
Daniel Vaz Gaspar
74158694c5 [charts] New, REST API (#8917)
* [charts] New REST API

* [charts] Small improvements

* [charts] Fix, lint

* [charts] Tests and datasource validation

* [charts] Fix, lint

* [charts] DRY post schemas

* [charts] lint and improve type declarations

* [charts] DRY owned REST APIs

* [charts] Small fixes

* [charts] More tests

* [charts] Tests and DRY

* [charts] Tests for update

* [charts] More tests

* [charts] Fix, isort

* [charts] DRY and improve quality

* [charts] DRY and more tests

* [charts] Refactor base for api and schemas

* [charts] Fix bug on partial updates for dashboards

* [charts] Fix missing apache license

* black app.py after merge

* [charts] Fix, missing imports and black

* [api] Log on sqlalchemy error

* [api] isort
2020-01-21 13:04:52 -05:00
John Bodley
2fc5fd4f29 [sip-15] Displaying endpoints for all start/end time ranges (#8817)
* [sip-15] Displaying endpoints for all start/end time ranges

* Update superset/assets/src/explore/components/controls/DateFilterControl.jsx

Co-Authored-By: Erik Ritter <erik.ritter@airbnb.com>

* Update superset/assets/src/explore/components/controls/DateFilterControl.jsx

Co-Authored-By: Erik Ritter <erik.ritter@airbnb.com>

* Update DateFilterControl.jsx

Co-authored-by: Erik Ritter <erik.ritter@airbnb.com>
2020-01-17 13:13:35 -08:00
Ville Brofeldt
c087a48d52 fix: add datasource.changed_on to cache_key (#8901)
* Add datasource.changed_on to cache_key and add+fix related unit tests

* Add note to UPDATING.md

* Remove redundant comment about metric names
2020-01-16 00:51:13 -05:00
Grace Guo
2b0c7a1b73 [docs] Fix CORS section in installation (#8958) 2020-01-16 00:49:33 -05:00
ʈᵃᵢ
7b97764dbc [dashboard] New, list view (react) (#8845)
* adds dashboard listview component

* use new api

* use json over rison

* lint

* adds seperate dashboard list view

* edit and delete actions

* fix lint ignore

* fix common_bootstrap_payload is now a function

* fix license

* fix pylint

* isort

* fix tests

* lint

* lint ts

* fix js tests

* fix double import from bad rebase

* fix indent error

* lookup permissions

* generic permission lookup

* get tslint to pass

* adds js specs

* lint

* fix rebase

* lint

* lint again

* fix type errors preventing build

* adds more specs

* fix tslint error

* fix null check

* remove unecessary code

* use translations provided by api

* more translations

* linting

* fix spec

* i18n

* fix register order
2020-01-16 00:48:55 -05:00
David Aaron Suddjian
7e6719050b fix empty slug breaking url (#8974) 2020-01-16 00:34:23 -05:00
Erik Ritter
ff9bc74c86 Refactor sql editor autocomplete (#8967) 2020-01-15 13:05:56 -08:00
Daniel Vaz Gaspar
123246fca6 [dashboards] New, export api (#8941)
* [dashboards] Multiple exports

* [dashboards] Fix, mulexport permission missing

* [dashboards] Test for security filtered export

* [dashboards] Address PR comments
2020-01-15 18:09:55 +00:00
Ville Brofeldt
65c5922a3e Add changelog for 0.35.2 (#8971) 2020-01-15 16:40:00 +02:00
Maxime Beauchemin
cd7cb147b9 docs: fix bad extras_require reference (#8969) 2020-01-15 08:50:30 +00:00
Craig Rueda
4d04f94c52 Fixing RewardGateway URL (https://rewardgateway.com/ gave a cert error) (#8964) 2020-01-15 00:25:39 -05:00
Maxime Beauchemin
31d7f69193 fix: lighten CSS border for data preview table (#8966)
this has been bugging me
2020-01-15 00:17:50 -05:00
David Aaron Suddjian
614f13377b [dashboard] Modal for editing dashboard properties & metadata (#8876)
* wip

* wip

* wip

* modal to update dashboard properties

* cleanup

* translations and flavor text

* linted

* more explanatory text in the modal
2020-01-14 14:29:59 -05:00
Grace Guo
50f21cb7db [filter_box] Fix ; separated filter_box default values (#8949) 2020-01-13 20:35:33 -08:00
Maxime Beauchemin
b5e51ead29 docs: add Reward Gateway to README (#8950)
* docs: add Reward Gateway to README

corrects https://github.com/apache/incubator-superset/pull/8533

* Update README.md

Removed trailing whitespace.

Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2020-01-13 12:46:13 -08:00
serenajiang
1f6f4ed879 [db migration] change datasources-clusters foreign key to cluster_id (#8576)
* [db migration] change datasources foreign key to cluster_id

* address pr comments

* address pr comment, fix ci
2020-01-13 11:02:36 -08:00
Evan Rusackas
d9e7db69fe [css] Bringing Bootswatch in line with external variables, and other CSS tweaks (#8781)
* Bumping less-loader

* moving/updating styles, with a bit of linting as I go.

* more whittling

* caught a couple more colors

* reverting plugin config changes I was hacking around with.

* toast messages now use status colors across the board.

* no more pink.

* expanding scope of linting

* a little more CSS linting

* fixing popover adhoc metric title height issue

* eslint: Ignoring nore modules in subfolders
2020-01-13 12:59:20 -05:00
John Bodley
0fe047171b [fix] Enforce the QueryResult.df to be a pandas.DataFrame (Phase II) (#8948) 2020-01-12 21:35:44 -08:00
Rob DiCiuccio
7ff18f060c Ensure proper JSON serialization of numpy.ndarray (#8946) 2020-01-10 13:24:03 -05:00
Daniel Vaz Gaspar
497c3e595b [app] Fix, manage menu should be before charts (#8945) 2020-01-10 17:02:58 +00:00
Naren
3bedee75d3 Add support for Dremio as a new source (#8939)
* Added spec for Dremio

* Installation instructions for Dremio

* added dependency for dremio

* Update dremio.py

* ASF header, dttm, set min version in setup.py

* Update installation.rst

* Update installation.rst

* fix tox 'Title underline too short.'

* change URI example

Co-authored-by: Naren <41924335+naren-dremio@users.noreply.github.com>
2020-01-10 17:37:40 +02:00
Daniel Vaz Gaspar
5b2499984d [dashboard] Deprecate superset published API (#8914) 2020-01-10 08:48:17 +00:00
Daniel Vaz Gaspar
5bc3d24b2f [dashboards] Fix, missing mulexport permission (#8942)
* [dashboards] Fix, missing mulexport permission

* [dashboards] Fix, missing mulexport permission
2020-01-10 00:34:02 -05:00
John Bodley
2d456e88eb [fix] Enforce the query result to contain a data-frame (#8935) 2020-01-08 11:50:26 -08:00
Craig Rueda
2a94150097 Moving appbuilder.xxx out of view files and into app.py (#8912)
* Moving appbuilder.xxx out of view files ands into app.py

* Pulled url map converters out into their own file

* Adding license blurb

* Linting

* Linting again...
2020-01-08 18:04:05 +00:00
Kelvin Jayanoris
28563ad088 Fix docstrings in superset/config.py (#8931)
- Replace ldap with LDAP
- Replace `(username/password()` with `(username/password)`
2020-01-07 11:00:32 +00:00
Grace Guo
93bcace20f Revert "Make select_star work with SQL Lab views (#8598)" (#8930)
This reverts commit 964e6db8
2020-01-06 12:04:36 -08:00
Daniel Vaz Gaspar
2726f21cbc [dashboard] Fix, prevent delete and update on dashes not owned (#8911) 2020-01-06 15:29:39 +00:00
Hossein Torabi
478e445a5a Add config for celery email task soft time (#8887) 2020-01-04 09:20:57 +02:00
Rob DiCiuccio
6537d5ed8c Replace pandas.DataFrame with PyArrow.Table for nullable int typing (#8733)
* Use PyArrow Table for query result serialization

* Cleanup dev comments

* Additional cleanup

* WIP: tests

* Remove explicit dtype logic from db_engine_specs

* Remove obsolete  column property

* SupersetTable column types

* Port SupersetDataFrame methods to SupersetTable

* Add test for nullable boolean columns

* Support datetime values with timezone offsets

* Black formatting

* Pylint

* More linting/formatting

* Resolve issue with timezones not appearing in results

* Types

* Enable running of tests in tests/db_engine_specs

* Resolve application context errors

* Refactor and add tests for pyodbc.Row conversion

* Appease isort, regardless of isort:skip

* Re-enable RESULTS_BACKEND_USE_MSGPACK default based on benchmarks

* Dataframe typing and nits

* Renames to reduce ambiguity
2020-01-03 11:55:39 -05:00
Daniel Vaz Gaspar
4f8bf2b04d [database] [log] Fix, Limit the amount of info on response (#8918) 2020-01-03 16:35:12 +00:00
zuodong
1dbf17bebb [Fix],Correct read in Jinja configuration and update docs of SupersetAppInitializer (#8908) 2020-01-03 07:44:25 +02:00
Craig Rueda
4ce5add5df Making test_config and main config the same (#8838) 2020-01-02 13:57:54 -05:00
Popoko Games
4b95c1f517 Add new entry to lists of users of Apache Superset (#8906)
* Add new entry to lists of users of Apache Superset

Add new entry to lists of users of Apache Superset

* Alphabetical order

Alphabetical order
2019-12-31 19:22:14 +02:00
Rob DiCiuccio
8fc814fc62 Enable running of tests in tests/db_engine_specs (#8902)
* Enable running of tests in tests/db_engine_specs

* Resolve application context errors

* Refactor and add tests for pyodbc.Row conversion

* Appease isort, regardless of isort:skip
2019-12-31 14:45:33 +02:00
Ville Brofeldt
5b690f9411 chore: refactor, add typing and fix uncovered errors (#8900)
* Add type annotations and fix inconsistencies

* Address review comments

* Remove incorrect typing of jsonable obj
2019-12-31 09:26:23 +02:00
Daniel Vaz Gaspar
191aca1fb0 [docker] fix: for #8880 (#8882) 2019-12-22 22:07:50 +00:00
Evan Rusackas
36c6f4ca3a moving favicon(s) to config, allowing multiple favicons (#8856)
* moving favicon to config, allowing multiple favicons

* black...
2019-12-20 12:58:36 -08:00
Chan Chak Shing
d0efd0e4c9 Ease switching of database engines for docker builds (#8863) 2019-12-20 10:57:33 +00:00
David Aaron Suddjian
3a468a53d9 fix a broken model reference (#8866) 2019-12-20 10:46:25 +00:00
Daniel Vaz Gaspar
3d9181d270 [dashboard] New, get releated owners and slices (#8872) 2019-12-20 10:16:57 +00:00
Evan Rusackas
b6639504b6 Removing some dividers to make header dropdown menus more consistent (#8857)
* separators removed, "childs" changed to "children"

* changing `children` back to `childs`... it's baked in somewhere in Fab

* linting

* reverting changes to MenuObject

* adding separator above Druid menu items
2019-12-19 10:17:43 -08:00
Grace Guo
cd8aa92cbb [explore view] fix: Inline edit chart title cause unintended overwrite original query parameter (#8835)
* [explore view] fix: Inline edit chart title cause unintended overwrite original query parameter

* add more unit tests

* handle new slice case
2019-12-18 16:17:48 -08:00
David Aaron Suddjian
016f202423 Refactor Dashboard and Slice models (#8820)
* refactor dashboard and slice models

* appease various linters

* remove shortcuts & import indirection

* appease mypy

* fix bad imports

* lint

* address various issues

* ignore type issue

* remove unused imports

* lint
2019-12-18 11:40:45 -08:00
ʈᵃᵢ
cbf860074b move cypress into its own directory with package.json (#8627)
* move cypress into it's own directory with package.json

* update contributing and include cypress fixtures dir

* newline

* fix rebase

* add cypress dep

* bump cypress
2019-12-18 09:59:42 -08:00
David Aaron Suddjian
7a68cb7ca0 factor out datasource_access_request model (#8809) 2019-12-17 16:17:49 -08:00
Beto Dealmeida
9ed4b24533 Add toast presenter to Welcome app (#8854)
* Add toast presenter

* Improve message when unauthenticated

* Lint
2019-12-17 15:50:36 -08:00
Will Barrett
025b31c019 Re-enable pylint for superset/connectors/base/models.py (#8824) 2019-12-17 16:42:58 +00:00
Daniel Vaz Gaspar
408196f304 [superset] Core SQLAlchemy query refactor (#8280)
* [superset] Slight performance improvement, remove SQLA first

* [superset] Slight performance improvement, remove SQLA first

* [superset] black it

* [superset] Revert warm up cache change

* [superset] Fix warm up cache slice_id may be none

* [superset] Reverted changes of methods one by get

* [superset] Reverted changes of methods one by get
2019-12-16 23:50:55 -08:00
Evan Rusackas
5780d9d53b Version number and SHA added to user menu (#8850)
* working!

* sigh... linting.

* more linting
2019-12-16 23:48:27 -08:00
Kim Truong
930353286f fix: add default value to log param in sql_json (#8851)
* fix: add default params to log

* fix: add optional typing

* fix: linting
2019-12-16 23:27:06 -08:00
Kim Truong
2d42272e60 Add user agent logs (#8826)
* feat: add user agent logging

* fix: lint

* fix: address feedback

* fix: formatting
2019-12-16 14:28:00 -08:00
Daniel Vaz Gaspar
2f2ac00a09 [dashboard] feat: REST API (#8694) 2019-12-16 21:10:33 +00:00
serenajiang
1719c4b5a3 [fix][sqllab] nullable booleans in dataframe (#8833)
* [fix] nullable booleans in dataframe

* added comment
2019-12-16 09:59:27 -08:00
Gustavo Brian
f88a55e790 Fix dev-server parameter example (#8836) 2019-12-15 21:51:37 -08:00
Grace Guo
b6f31abcfe [dashboard] fix duplicated chart fetching when dashboard has default_filters (#8829) 2019-12-13 11:40:27 -08:00
Will Barrett
b87f21fe1f Move function in utils folder to fix circular import issues (#8814)
* Move function in utils folder to fix circular import issues

* CI fixes - black, isort
2019-12-13 16:44:56 +00:00
John Bodley
18fbe56462 [fix] Adding time grains to Table (#8825) 2019-12-13 09:27:20 +13:00
Beto Dealmeida
ec43609820 Fix for when there are no dashboards (#8815) 2019-12-12 11:15:40 -08:00
Grace Guo
1d3c93ccb2 [filter_box] dashboard should carry defaultValue in filter_box (#8812) 2019-12-12 11:01:18 -08:00
Will Barrett
ed54f6ec8d Require the SQLAlchemy URI on the database model (#8720)
* Require the SQLAlchemy URI when creating a database

* Add migration to make dbs.sqlalchemy_uri not-nullable

* Fixes for black, isort, tests

* Alter migration to use current revision from master as downgrade target

* Update tests to support new db constraint

* black
2019-12-11 14:05:23 -08:00
Grace Guo
a96eae46af [dashboard] fix time granularity display values (#8806)
* [dashboard] fix time granularity display values

* fix review comments
2019-12-11 12:01:11 -08:00
Will Barrett
562aeab1aa Fix a bunch of files with pylint disabled (#8743)
* Re-enable pylint for superset/jinja_context.py

* Re-enable pylint for superset/sql_lab.py

* Re-enable pylint for superset/sql_parse.py

* Re-enable pylint for superset/exceptions.py

* Re-enable lint for superset/translations/utils.py

* Re-enable pylint for superset/views/schedules.py

* Re-enable pylint for superset/views/base.py

* Re-enable pylint for superset/views/log/views.py

* Re-enable pylint for superset/views/annotations.py

* black

* PR feedback, pylint, isort fixes

* Black, one more time...

* Move ungrouped-imports to a global disable
2019-12-11 10:14:24 -08:00
Will Barrett
60914fa76a re-enable Pylint on a number of view files (#8773)
* re-enable pylint for superset/views/tags.py

* Re-enable pylint for superset/views/dashboard.py

* Re-enable pylint for superset/views/sql_lab.py

* Re-enable pylint for superset/views/datasource.py

* Re-enable pylint for superset/views/utils.py

* Re-enable pylint for superset/views/log/__init__.py

* pylint fix

* Improve naming
2019-12-11 09:49:19 -08:00
Will Barrett
adf2cc2039 Re-enable pylint for some model files (#8770)
* Allow id as a valid name for pylint

* Re-enable pylint for superset/models/core.py

* re-enable pylint for superset/models/sql_lab.py

* re-enable pylint for superset/models/schedules.py

* re-enable pylint for superset/models/helpers.py

* re-enable pylint for superset/models/annotations.py

* re-enable pylint on superset/models/tags.py

* a couple more fixes after black formatting...

* Add another inline pylint disable

* Fix black

* Move to inline disables for 'id' attribute on models

* Fix lint disables after black reformatted them
2019-12-10 13:24:45 -08:00
Kim Truong
6c130b32ad Update sql validator status (#8799)
* fix: update status code for sql validator error

* fix: inspect error

* fix: lint issues

* fix: lint issues 2
2019-12-10 11:55:36 -08:00
Bogdan
e6be51953c Avoid circular dependency between superset config and superset package (#8254)
Resolve comments

Avoid circular dependency between superset config and superset package

Resolve comments
2019-12-10 09:17:34 +00:00
Will Barrett
7f8db7ab8d Re-enable pylint for common, connector, and test files (#8774)
* re-enable pylint for superset/common/query_context.py

* Re-enable pylint for superset/connectors/base/views.py

* re-enable pylint for superset/connectors/connector_registry.py

* Re-enable pylint for tests/fixtures/pyodbcRow.py

* re-enable pylint for superset/cli.py

* Fix for mypy

* Improve variable naming

* A few more naming fixes
2019-12-09 22:32:54 -08:00
Maxime Beauchemin
9f16d053e1 fix: don't show filter popover on explore view load (#8729)
* fix: don't show filter popover on explore view load

There's this confusing "feature" that I thought was a bug that shows the
metric popover opened when entering the explore view when the filter
comes from an active dashboard filter, based on the "fromFormData"
attribute of the filter.

The popover is confusing and often shows as misaligned with the actual
element it's supposed to float over when overflowing.

* warn

* fix cypress

* also shut off  metrics
2019-12-09 21:59:53 -08:00
Evan Rusackas
8b1022f66b darker opacity on shadow border for highlighted cards (#8797)
* darker opacity on shadow for highlighted cards

* removing unnecessary LESS fade

* lightening the lightest segment of the shadow again.
2019-12-09 21:58:59 -08:00
John Bodley
2fb95cc2b0 [fix] Adding time grains to DualLine (#8800) 2019-12-10 14:21:07 +13:00
Beto Dealmeida
5477f42740 Limit payload returned when using SQLLAB_BACKEND_PERSISTENCE (#8769)
* Limit queries

* WIP

* Adding unit test

* WIP

* Add unit test

* Fix test

* Try to fix remote unit tests

* Fix unit test

* Fix  for postgres
2019-12-09 16:12:40 -08:00
Daniel Vaz Gaspar
8a00168b63 Bump FAB to 2.2.1 (#8793) 2019-12-09 08:11:21 -08:00
Dinesh Sawant
cae0583e0f Support timeFormat extraction function column for Druid in Filter (#8728) 2019-12-07 17:54:37 -08:00
Maxime Beauchemin
6ff086df3a docs: add copyright notice to conform to ASF requirements (#8761)
This should make things green
here: https://whimsy.apache.org/pods/project/superset
2019-12-07 17:52:30 -08:00
Will Barrett
9c2b27f37a Re-enable Pylint on some celery-related files (#8765)
* Re-enable pylint for superset/tasks/schedules.py

* re-enable pylint for superset/tasks/celery_app.py
2019-12-07 17:52:08 -08:00
Bogdan
c3f15b952d Do not delete schema permission on the table deletion (#8768) 2019-12-07 17:50:34 -08:00
Will Barrett
cc49aae245 re-enable pylint for database compatibility layer (#8772)
* Re-enable pylint for superset/db_engines/hive.py

* re-enable pylint for superset/db_engine_specs/elasticsearch.py

* Re-enable superset/db_engine_specs/__init__.py

* Re-enable pylint for superset/db_engine_specs/exasol.py
2019-12-07 16:15:12 -08:00
Hossein Torabi
d3f7fda778 fix create-admin (#8787) 2019-12-07 16:09:14 -08:00
Hossein Torabi
b053d66ea7 fix urlib opener bug (#8788) 2019-12-07 16:07:09 -08:00
Will Barrett
ed3944ebef Re-enable pylint for superset/utils folder (#8766)
* re-enable pylint for superset/utils/import_datasource.py

* re-enable pylint for superset/utils/cache.py

* re-enable pylint for superset/utils/log.py
2019-12-06 14:34:58 -08:00
Will Barrett
60892ae45d Re-enable pylint for example-related files (#8771)
* re-enable pylint for superset/examples/energy.py

* re-enable pylint for superset/examples/world_bank.py

* re-enable pylint for superset/examples/tabbed_dashboard.py

* Re-enable pylint for superset/examples/helpers.py
2019-12-06 14:30:50 -08:00
Will Barrett
68aca88c54 Re-enable pylint on some configuration files (#8767)
* re-enable pylint for superset/config.py

* re-enable pylint on superset/migrations/env.py

* re-enable pylint for superset/legacy.py

* re-enable pylint for superset/forms.py

* re-enable pylint for superset/stats_logger.py

* Tweaks to make mypy and pylint happy

* black
2019-12-06 14:30:11 -08:00
Craig Rueda
7dba3f54ee Adding updates to CONTRIBUTING and UPDATING for app factory changes (#8782)
* Adding updates to CONTRIBUTING and UPDATING for app factory changes

* Fixing celery_app:app
2019-12-06 13:15:12 -08:00
Craig Rueda
a44635e309 Splitting up some of the Docker build steps (#8775)
* Splitting up some of the Docker build steps

* Adding dev target which includes requirements-extra / Updating docker configs to handle async query running
2019-12-05 16:47:22 -08:00
John Bodley
665e94784c [fix] Adding time grains to PivotTable (#8764) 2019-12-05 09:55:33 -08:00
Craig Rueda
3bdf764f83 Removing upgrade of pip from Docker build (#8760) 2019-12-04 22:15:18 -08:00
ʈᵃᵢ
f7c33680a4 adds react-router to welcome component (#8654)
* adds react-router to welcome component

* prettify

* empty commit
2019-12-04 18:23:53 -08:00
Erik Ritter
737c52541f Bump viz plugins for bug bash (#8759) 2019-12-04 17:27:21 -08:00
John Bodley
e72533506b [fix] Fixing time controls when switching datasource types (#8748)
* [fix] Fixing time controls when switching datasource types

* Update exploreReducer.js

* Update exploreReducer.js

* Fix linting
2019-12-04 16:55:08 -08:00
Maxime Beauchemin
e127579fc8 fix: remove unused .js module (#8741)
* fix: remove unused .js module

* fix tests, remove more references

* lints
2019-12-04 16:51:05 -08:00
Evan Rusackas
b107cc03bf SHA display touchups (#8614)
* Only showing last 8 chars of SHA

* visual touchups

* Grabbing first 8 rather than last 8

* 10 char SHA rather than 8

* atting config var for SHA length
2019-12-04 13:13:51 -08:00
Craig Rueda
e55001b88f Fixing default Dockerfile entrypoint. Gunicorn needed a few tweaks (#8744) 2019-12-04 13:13:15 -08:00
John Bodley
3d2117809f [fix] Remedying filter-box w/ invalid metrics (#8722) 2019-12-04 11:34:56 -08:00
Beto Dealmeida
5b934bb377 Change column to longtext (#8739)
* Change column to longtext

* Manual merge heads
2019-12-04 11:24:23 -08:00
ʈᵃᵢ
a94464b9c9 guard against duplicate columns in datasource save (#8712)
* catch IntegrityError in datasource save

* catch duplicate columns and wrap in exception handling decorators

* use 409

* isort
2019-12-04 11:05:06 -08:00
michellethomas
98a82a0720 Adding error message when there's no partition for a presto table using latest_partition (#8745) 2019-12-04 11:03:50 -08:00
David Aaron Suddjian
0a5e4603c9 Correcting some issues with the Time-Series Table (#8746)
* default timeLag to 0

* correct placeholder

* remove random link default
2019-12-04 10:32:33 -08:00
ʈᵃᵢ
c88bb591eb improve performance for filter form selects (#8757) 2019-12-04 10:05:02 -08:00
Daniel Vaz Gaspar
81e45acc43 [docs] Fix, UPDATING had two changes that were not included on 0.35 (#8754) 2019-12-04 17:04:21 +00:00
Daniel Vaz Gaspar
385484eb9d [config] Enables swagger UI by default (#8732)
* [config] Enables swagger UI by default
2019-12-04 09:50:56 +00:00
John Bodley
c74bb6cb9b [fix] Updating bound filters for PyDruid 0.5.7 (#8742) 2019-12-03 17:44:04 -08:00
John Bodley
38782e260a [charts] Chart specific time controls (#8674) 2019-12-03 17:41:51 -08:00
Grace Guo
89950440f2 [filter_box] Fix show time column in filter_box (#8740) 2019-12-03 17:02:09 -08:00
David Aaron Suddjian
b0b93768bb handle nulls in bar chart series/breakdown (#8724)
* handle nulls in bar chart series/breakdown

* snake_case

* add tests for null groups in bar charts

* black

* comments will save us
2019-12-03 16:11:15 -08:00
ʈᵃᵢ
5e1a6eafe4 bump style-loader to fix FOUC when sourcemaps are enabled (#8738) 2019-12-03 16:07:24 -08:00
Craig Rueda
a0b48f0f47 Fixing up Docker installation docs (#8735)
* Fixing up Docker installation docs

* Typo
2019-12-03 15:56:33 -08:00
David Aaron Suddjian
f055231e52 require a series on a bar chart in the UI (#8726) 2019-12-03 15:30:12 -08:00
Bogdan
003e98c231 Support schema permissions (#8219)
* Build support for schema access in Superset and SQLab

* Lint
* Test for old and new flask
* Black formatting
* Cleanup modified files
* Support schema permissions
* Add migration
* Make it work for slices as well
* TODO and remove unused field
* Apply schema access check to dashboards as well

Cleaner schema permissions check

Fetch schema permissions in 1 query

Bugfix

Better datasource check

Use security manager for permissions checks and remove dead code

Properly handle anon user

Add database permissions on the database updates

Fix schema filtering

Lint / flake changes

Increase cypress request timeout

Run black

Resolve multiple alembic heads

* Use set comprehensions

* Fixes for the pylint
2019-12-03 14:57:24 -08:00
Erik Ritter
43f637e403 [Explore] Fix annotation layer select box formatting (#8734) 2019-12-03 13:13:42 -08:00
Beto Dealmeida
f8e15e1c55 Add protocol to cache warmup (#8721)
* Add protocol to cache warmup

* Update unit tests

* Fix wrong commit

* Update UPDATING.md

* Fix pylint
2019-12-03 10:51:06 -08:00
Craig Rueda
fce49680d7 Docker support (#8725)
* Moving Docker stuff around

* docker-compose working as expected

* Updating README

* Addressing comments

* Utilizing requirements-extra
2019-12-03 18:37:18 +00:00
Grace Guo
69dcaca324 [explore] should not triger chart render when overlay is on (#8719) 2019-12-03 10:36:15 -08:00
Beto Dealmeida
606ac3255d Migrate filter_immune_slice_fields (#8718) 2019-12-03 10:26:54 -08:00
Daniel Vaz Gaspar
0ed0031412 [jinja_context] Fix, allow for app factory pattern (#8693)
Better app factory pattern on jinja context and introduces tests for building docs
2019-12-03 09:42:57 +00:00
Daniel Vaz Gaspar
391d8303cb [release] Fix, update superset docs process (#8680)
Introduces some automation on superset doc's build using docker
2019-12-03 09:37:33 +00:00
John Bodley
4e998be695 [fix] Druid IS NULL/IS NOT NULL filters (#8714) 2019-12-02 20:38:42 -08:00
Maxime Beauchemin
871af05f68 fix: #8711 CSS loads late and app flickers (#8715) 2019-12-02 17:20:43 -08:00
Erik Ritter
57631f8962 [SQL Lab] Fix unadjustable sql editor height (#8716) 2019-12-02 16:39:49 -08:00
Will Barrett
bca2b91417 Split functionality out of views/database/__init__.py, re-enable pylint (#8713)
* Split functionality out of __init__.py, re-enable pylint

* Black, isort

* Test fix

* Remove commented-out code bit
2019-12-02 14:33:35 -08:00
Beto Dealmeida
ac0e353a54 Update docs on gunicorn (#8710) 2019-12-02 10:57:05 -08:00
Maxime Beauchemin
6810174fcd fix: vulnerabilities by running 'npm audit fix' (#8657) 2019-12-02 10:18:39 -08:00
Erik Ritter
e06a138aad [SQL Lab] Re-add erroneously removed css (#8707) 2019-12-02 10:09:21 -08:00
Ville Brofeldt
bd91f334d9 fix: default missing values to zero on area chart (#8678)
* Add fill_value to area chart pivot

* Only fill for area chart

* Linting
2019-12-02 18:53:21 +02:00
Daniel Vaz Gaspar
b2633a51d4 [docs] Fix, database deps table (#8692) 2019-11-29 13:48:39 +00:00
Daniel Vaz Gaspar
3690fb4979 [setup] Fix, sqlalchemy and sqlparse version interval (#8689) 2019-11-28 18:47:19 +00:00
Daniel Vaz Gaspar
517a643bd4 [databases] [mvc] remove encrypted extra from list of possible filter (#8679) 2019-11-28 09:02:45 +00:00
Erik Ritter
44d919c757 Prettify the frontend code (#8648)
* Add Prettier global configs

* Format js/jsx/ts/tsx/less files
2019-11-27 14:02:48 -08:00
Evan Rusackas
e21f768a92 Only list tables in DB test if API returns them (which it doesn't) (#8681)
* only list tables if we get an array of them back (which we probably never will)

* nixing old/busted table display
2019-11-27 11:43:49 -08:00
Will Barrett
16c0599470 Disable deprecated druid connector by default (#8512)
* Disable deprecated druid connector by default

* Add a line in UPDATING.md for the configuration change

* Remove security tests related default-disabled feature

* More test updates

* black
2019-11-27 11:28:23 -08:00
Evan Rusackas
172b90ec50 Font styling consolidation (#8633)
* Font weights standardized

* now with more glob!

* Linting touchups

* caught a low-value color declaration

* first wave of font size alignment

* getting the CRUD styles caught up to speed.

* unneeded inline-block - float does that for ya.

* a few errant colors that snuck in.

* more font stylings.

* caught some more colors that needed variable alignment

* le typo

* whittle, whittle

* dead styles

* whittling

* whittling

* whittling away at font sizes

* since we appear to be adjusting icon sizes for optics, let's get this one too.

* Prettier 

* whittling at line height standardization.

* placing vars, take 1

* 2 more down...

* cleaning out some styles that had no real effect.

* seemingly no change if this is removed for consistency.

* allowing one 8px line height for proper icon placement - adding comment.

* last one, I reckon.

* linting fixes
2019-11-27 10:36:25 -08:00
Evan Rusackas
f3555486f5 Filter edit icon component replaced with Font Awesome (#8600)
* replaced!

* added role to the FA image/button

* adding tabindex.

* capitalization of tabIndex matters. I'll have another cup of coffee now.

* added newine at end of file, added stylelint rule to track this.

* re-removing these files after merge conflict resolution.
2019-11-27 18:07:12 +00:00
Evan Rusackas
044348708e Fixing variable conflicts between Superset and Boot(swatch/strap) (#8650)
* Fixing @gray conflict between Superset and Bootswatch

* removing duplicate import... whoops!

* making bootswatch bend it's namespace rather than superset/
2019-11-27 17:53:46 +00:00
Daniel Vaz Gaspar
75c1378d1f [release] Fix, release docs (#8646)
* [release] Fix, release documentation
2019-11-27 15:28:37 +00:00
Craig Rueda
df2ee5cbcb Adding app context wrapper to Celery tasks (#8653)
* Adding app context wrapper to Celery tasks
2019-11-27 15:06:06 +00:00
Daniel Vaz Gaspar
96fb108894 [docs] Update changelog and updating for 0.35.1 (#8662) 2019-11-26 21:52:17 +00:00
Beto Dealmeida
5f4e3adfd2 Pass full response to query_cost_formatter (#8652)
* Return full info when doing query cost estimation

* Add unit test

* Fix isort
2019-11-26 11:49:19 -08:00
Evan Rusackas
badcf820c9 now with sourcemaps! (#8637) 2019-11-26 10:09:39 -08:00
Grace Guo
acf0753504 [dashboard scoped filters] Add all time related options to filter scope settings (#8636) 2019-11-25 10:21:09 -08:00
Daniel Vaz Gaspar
f04b72c341 [releases] New, email automation for apache releases (#8612) 2019-11-25 10:01:31 +00:00
Ville Brofeldt
4a34c553c7 Bump to gunicorn 20 (#8643) 2019-11-24 10:18:22 +02:00
maxmelnick
6c83c6464a fixes error creating a new database due to Malformed JSON error for empty Secure extras field (#8630)
* handle empty encrypted_extra field

* move $("#encrypted_extra").val() to const

* handle empty extra field
2019-11-22 16:29:38 -08:00
serenajiang
b34c9d36ba [fix] TimeTable timelag error (#8619) 2019-11-22 16:28:40 -08:00
Dave Smith
aafbfd3b4e slightly decouple sql_json, queries, and results http endpoints from … (#8626)
* slightly decouple sql_json, queries, and results http endpoints from biz logic

* fix syntax errors

* add some type annotations, fix a bug

* remove unnecessary var decl and assign

* add a lot more type annotations to fix tests

* fix mypy issues
2019-11-22 10:12:48 -08:00
Evan Rusackas
a72a39502f Adjusting the placement of header menu carets (#8618)
* this should work.

* tweaks

* Update superset/assets/src/components/Menu/Menu.jsx
2019-11-21 20:53:38 -08:00
Erik Ritter
9303672121 [SQL Lab] Wrap more logic with feature flag (#8629) 2019-11-21 17:08:11 -08:00
maxmelnick
b7a508d5a7 updated FLASK_APP values for dockerusage (#8621) 2019-11-21 08:44:17 +00:00
ʈᵃᵢ
6e470fc9bb fix filter dropdown z-index (#8623) 2019-11-20 22:52:27 -08:00
Ville Brofeldt
7104b04817 Pass url parameters from dashboard to charts (#8536)
* Pass url_params from dashboard to charts

* Update params to form_data instead of overwriting

* Add cypress tests

* Add python test

* Add docs

* Move reserved url params to utils

* Bump cypress
2019-11-21 07:07:08 +02:00
Evan Rusackas
ff6773df4e Copying in Markdown formatted Apache Code of Conduct. (#8615) 2019-11-20 14:42:53 -08:00
Evan Rusackas
89c58bcb6f [css] Simplifying SQL toolbar item margins, fixing overflow bug (#8596)
* lots of margin adjustments and simplifications

* class -> className

* correcting class name to match conventions (NorthPane -> north-pane)
2019-11-20 14:42:25 -08:00
Beto Dealmeida
964e6db800 Make select_star work with SQL Lab views (#8598)
* Make select_star work with SQL Lab views

* Fix mypy
2019-11-20 13:07:16 -08:00
Evan Rusackas
ceec53da17 Migrate CSS to LESS files, remove unused files (#8617)
* all CSS files migrated to LESS

* prettier

* removing unused CSS/LESS Files
2019-11-20 12:14:10 -08:00
John Bodley
fc14eff290 Update CONTRIBUTING.md (#8599) 2019-11-20 11:01:14 -08:00
Conglei
096fefd8c8 revert table (#8616) 2019-11-20 10:24:24 -08:00
Evan Rusackas
6919ee4ef4 Moving static colors over to Less vars (#8563)
* Sweep #1

* moving a few more colors, fixing an import issue.

* another include, another color nabbed.

* more whittling.

* moving filterbox css to less, standardizing colors in there.

* nixing the css file I meant to nab in the last commit

* Moving the variables file to a more global/sensible (I hope?) location.

* FilterableTable moved from CSS to LESS, using color vars now.

* more whittling

* standardizing opacity stops

* nails more colors, removes some old (seemingly unused) css

* removing more dead css

* DatasourceControl moved from CSS to LESS

* BootstrapSliderWrapper CSS -> LESS

* reactable-pagination CSS->LESS, color-conformed

* FilterBadgeIcon CSS->LESS, conformed

* deleting unused/deprecated css

* welcome.css -> welcome.less (is this even being used?)

* main.css -> main.less, standardized

* there were two main.css files - this should have been in the last commit.

* explore.css -> explore.less (not used anywhere?)

* sql.css -> sql.less (also not used anywhere?)

* another main.css -> main.less, standardized on colors

* time to add shades and tints!

* caught some colors in SVG that should be in LESS.

* nixing commented css

* deleting commented code

* pulling in z-index vars lost in a conflict resolution
2019-11-20 09:33:29 -08:00
Craig Rueda
e490414484 Flask App factory PR #1 (#8418)
* First cut at app factory

* Setting things back to master

* Working with new FLASK_APP

* Still need to refactor Celery

* CLI mostly working

* Working on unit tests

* Moving cli stuff around a bit

* Removing get in config

* Defaulting test config

* Adding flask-testing

* flask-testing casing

* resultsbackend property bug

* Fixing up cli

* Quick fix for KV api

* Working on save slice

* Fixed core_tests

* Fixed utils_tests

* Most tests working - still need to dig into remaining app_context issue in tests

* All tests passing locally - need to update code comments

* Fixing dashboard tests again

* Blacking

* Sorting imports

* linting

* removing envvar mangling

* blacking

* Fixing unit tests

* isorting

* licensing

* fixing mysql tests

* fixing cypress?

* fixing .flaskenv

* fixing test app_ctx

* fixing cypress

* moving manifest processor around

* moving results backend manager around

* Cleaning up __init__ a bit more

* Addressing PR comments

* Addressing PR comments

* Blacking

* Fixes for running celery worker

* Tuning isort

* Blacking
2019-11-20 15:47:06 +00:00
ʈᵃᵢ
300c4ecb0f [SECURITY] bump packages with security vulnerabilities (#8573)
* bump packages with security velnerabilities

* bring back cypress

* remove cypress
2019-11-19 23:34:13 -08:00
ʈᵃᵢ
9d36fa348f Move from MVC FAB menu to Superset React menu (#8289)
* adds react based menu for welcome view

* bump fab

* better logic in common_bootstrap_payload

* split up files

* fix spacing and module scope styles

* lint

* render correct template for welcome
2019-11-19 22:56:27 -08:00
ʈᵃᵢ
54d9154a14 increase z-index on filter box to fix bleeding of filter indicator (#8579)
* increase z-index on filter box to fix bleeding of filter indicator

* convert to less and use variables

* add comment and port value to variable
2019-11-19 22:55:03 -08:00
Evan Rusackas
03d5a82137 Using Prettier for CSS (#8606)
* Adding clean-css npm script, and calling it in the lint-fix script for good measure.

* resulting cleanup
2019-11-19 22:33:38 -08:00
Evan Rusackas
ac665d360c showing version and SHA (subtly) in user menu. (#8562)
* showing version and SHA (subtly) in user menu.

* not using VERSION_INFO_FILE after all.

* cleanup... excess linebraks...

* Just trying to make you happy, Black!

* adding some spaces before opening brackets for CSS selectors

* setting version_sha from appbuilder.app.config['VERSION_SHA']
2019-11-19 21:35:18 -08:00
Will Barrett
d70e0fc359 Fix for BigQuery connection checks and CSV uploads (#8511)
* Fix for BigQuery connection checks and CSV uploads

* Don't assume encrypted_extra will be populated

* Fix undefined method error

* Refactor to avoid circular import strangeness
2019-11-19 14:50:47 -08:00
Beto Dealmeida
3b97ae3b9d Set owner when creating SQL Lab view (#8597)
* Set owner when creating SQL Lab view

* Add unit test

* Small fix
2019-11-19 10:48:42 -08:00
Daniel Vaz Gaspar
3b13fb4143 [docs] Improve and automate apache source releases (#8584) 2019-11-19 15:44:38 +00:00
ashun
71c5c0f366 fix for issue#8269 (#8270) 2019-11-19 07:13:47 -08:00
Caahlo
07058c5a12 add Liechtenstein to country selection (#8605)
add Liechtenstein to country selection and document its municipalities as regions
2019-11-19 07:06:17 -08:00
Grace Guo
f42aae843c [dashboard scoped filter] Reduce calls to expensive safeStringify (#8595)
* [dashboard scoped filter] Reduce calls to expensive safeStringify

* better handle empty or null scope settings
2019-11-18 20:49:28 -08:00
Erik Ritter
7d14b71a93 [lint] Add lint rule enforcing React Fragment shorthand (#8585) 2019-11-18 16:17:12 -08:00
Grace Guo
ff6ab10893 [Feature] Dashboard scoped filter (#8590)
* [WIP][dashboard scoped filter] part 1: scope selector modal (#8557)

* filter scope selector modal

* add single-field-edit in multi-edit mode switch

* fix code review comments (round 1)

* refactory after design review

* fix a few props initial value

* [WIP][dashboard scoped filter] part 2: add algorithm to convert checked ids to scope object (#8564)

* convert ids to scope object

* use lodash helpers to make code readable

* [WIP][dashboard scoped filter] part 3: merge filter scope settings into dashboard redux state (#8522)

* merge filter scope settings into dashboard redux state

* fix/add unit tests

* minor bug fixes

* fix save filter Scopes behavior

* resolve review comments

* fix save filter scope settings

* minor comments

* [dashboard scoped filter] Improve scrollbar inside modal (#8553)

* improve scroll inside modal

* make left pane and right pane scroll separately

* fix review comments

* force show filter_box as unchecked (#8587)
2019-11-18 13:02:25 -08:00
Caahlo
c87a140734 add Switzerland to country selection (#8592)
add Switzerland to country selection and document Swiss cantons as regions
2019-11-18 10:13:53 -08:00
Wu Junhao
1ee08c991f adding bilibili in readme (#8591) 2019-11-18 17:16:12 +02:00
Evan Rusackas
3d0c0f5028 [css] adding spaces before opening curlies. (#8572)
* adding spaces before opening curlies.

* adding stylelint config to catch these brackets

* moving stylelint rules to package.json
2019-11-15 16:35:48 -08:00
Beto Dealmeida
9c82ff8b96 Fix async queries with SQLLAB_BACKEND_PERSISTENCE (#8586) 2019-11-15 10:34:56 -08:00
Rob DiCiuccio
fc12e53ff5 Bump pyarrow to 0.15.1 due to CVE (#8583) 2019-11-15 09:08:23 -08:00
Daniel Vaz Gaspar
4290f79640 [docs] Improve tests for an Apache release candidate (#8570)
* [docs] Improve tests for an Apache release candidate

* [docs] Fix phrase
2019-11-15 13:44:07 +00:00
Daniel Vaz Gaspar
efb44ba59d [druid] Fix, pydruid forced dependency (#8566)
* [druid] Fix, forced pydruid dependency

* [druid] Fix, more type annotation that force pydruid dependency
2019-11-15 09:25:23 +00:00
Beto Dealmeida
71ac788b20 Fix error when templateParams is undefined (#8581) 2019-11-14 20:22:06 -08:00
Conglei
dc42015e69 feat: bump superset ui table version (#8582) 2019-11-14 17:13:56 -08:00
Beto Dealmeida
9044f210ee Do not autorun query on tab duplicate (#8577)
* Pass autorun argument to cloneQueryToNewTab

* Accept autorun argument

* Fix unit test
2019-11-14 17:08:03 -08:00
Beto Dealmeida
26c55bd57a Copy template params when duplicating query (#8580) 2019-11-14 17:07:30 -08:00
Beto Dealmeida
2f77c9f33e Math.max(...array) considered harmful (#8575)
* Do not use Math.max

* Small fix
2019-11-14 17:07:18 -08:00
Beto Dealmeida
78f41b38e1 Fix more places where feature flags are serialized (#8567) 2019-11-14 10:01:57 -08:00
Beto Dealmeida
d66bc5ad90 SIP-23: Persist SQL Lab state in the backend (#8060)
* Squash all commits from VIZ-689

* Fix javascript

* Fix black

* WIP fixing javascript

* Add feature flag SQLLAB_BACKEND_PERSISTENCE

* Use feature flag

* Small fix

* Fix lint

* Fix setQueryEditorSql

* Improve unit tests

* Add unit tests for backend sync

* Rename results to description in table_schema

* Add integration tests

* Fix black

* Migrate query history

* Handle no results backend

* Small improvement

* Address comments

* Store SQL directly instead of reference to query

* Small fixes

* Fix clone tab

* Fix remove query

* Cascade delete

* Cascade deletes

* Fix tab closing

* Small fixes

* Small fix

* Fix error when deleting tab

* Catch 404 when tab is deleted

* Remove tables from state on tab close

* Add index, autoincrement and cascade

* Prevent duplicate table schemas

* Fix mapStateToProps

* Fix lint

* Fix head

* Fix javascript

* Fix mypy

* Fix isort

* Fix javascript

* Fix merge

* Fix heads

* Fix heads

* Fix displayLimit

* Recreate migration script trying to fix heads

* Fix heads
2019-11-14 09:44:57 -08:00
ʈᵃᵢ
59bc220602 bump legacy-preset-chart-nvd3 to 0.11.5 (#8558) 2019-11-13 12:18:34 -08:00
Conglei
e14ca1a423 feat: switch to new table (#8560) 2019-11-13 12:18:03 -08:00
Maxime Beauchemin
2b53ace8a4 docs: remove Gitter link from README (#8549) 2019-11-13 11:19:05 -08:00
Erik Ritter
1a5c2573b7 [Dashboard Import] Log error on dashboard import failure (#8550) 2019-11-13 09:41:48 -08:00
Ville Brofeldt
90275fe991 Add convert_dttm method to SnowflakeEngineSpec (#8551) 2019-11-13 11:13:49 +02:00
John Bodley
7bfa24d0da [fix] Re-cleanup legacy filters (#8523) 2019-11-12 12:29:00 -08:00
Beto Dealmeida
a58b3920db Encode feature flags to JSON pessimistically (#8529)
* Encode feature flags to JSON pessimistically

* Add unit test

* Remove old imports
2019-11-12 11:10:36 -08:00
Evan Rusackas
1b3e40feac Clickable checkbox labels (#8534)
* passing onClick prop to header with the existing onChange method.

* basic test checking that label click fires the onChange method.

* cleaning up stuff caught by linting.
2019-11-12 10:22:17 -08:00
Erik Ritter
a867d41d2a Upgrade superset-ui/time-format (#8541) 2019-11-12 10:22:08 -08:00
Daniel Vaz Gaspar
b7b655e180 [docs] 0.35.0 CHANGELOG (#8547)
* [docs] Update CHANGELOG with 0.35.0

* [docs] Fix, github md problem
2019-11-12 10:21:56 -08:00
axuew
763f59fc58 Add support for database engine SAP Hana (#8411)
* Add support for database engine SAP Hana

* Support hana services

Increase time, minute, and second

* Fix hana return string

* Fix formatting errors
2019-11-12 08:42:44 +02:00
Paul Vickers
62476c5901 Allow customization of documentation icon and text (#8507)
* Allow customization of documentation icon and text

* Set icon width to 100%

* Use double quotes for strings
2019-11-11 17:35:19 -08:00
ʈᵃᵢ
6bce4f9877 fab 2.2.0 (#8517) 2019-11-11 17:34:08 -08:00
John Bodley
64de9aa056 [docs] Updating slice parameter documentation. (#8535)
* Update CONTRIBUTING.md

* Update CONTRIBUTING.md
2019-11-10 11:31:11 -08:00
Daniel Vaz Gaspar
650c848243 [cli] Fix, import datasources exported by UI (#8477)
* [cli] Fix, import datasources exported by UI
2019-11-10 16:29:51 +00:00
francishemingway
5ed2190ebd [docs] User tutorial (#8459)
* added user tutorial and rearranged docs hierarchy

* added license header, renamed admin tutorial file

* fixed image url issue

* Fix spelling

* Tweaks to text based on feedback

* guilabel and menu test

* added guilabel and upload csv section

* tidy up of rst formatting
2019-11-08 15:45:06 -08:00
John Bodley
c4c01d601c [docs] Adding Slice parameter documentation (#8531)
* [CONTRIBUTING.md] Adding Slice parameter documentation

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md
2019-11-08 14:19:22 -08:00
Ville Brofeldt
49ea232c3a [fix] Improve csv upload functionality (#8457)
* [fix] csv upload when table metadata present

* Remove table from hive spec

* Move upload before table metadata creation

* Refine upload logic, dd unit tests and fix translations

* Use ALLOWED_EXTENSIONS from config

* Address review comments

* Fix error message grammar

* Add return type to hive csv upload and replace first with one_or_none
2019-11-07 20:03:42 +02:00
Ville Brofeldt
397e1e3d40 Replace hardcoded default colors with defaults in setupColors.js (#8510) 2019-11-07 20:01:59 +02:00
Juliette Tisseyre
ec476fc67e Default page: remove title attribute to fall back on appbuilder.app_name (#8427) 2019-11-06 13:10:39 -08:00
John Bodley
1e3d833b02 [sip-15] Fixing time range endpoints from dashboards (#8513) 2019-11-06 09:15:58 -08:00
Conglei
d78e59b75c revert tablevis (#8515) 2019-11-05 23:08:44 -08:00
Erik Ritter
571c4745f5 Make Report a bug link open in a new tab (#8509) 2019-11-05 15:30:02 -08:00
Beto Dealmeida
7e7f55386d Remove tabs (#8508) 2019-11-05 10:55:35 -08:00
John Bodley
0e64dc84de [SIP-15] Making sure the toast link opens in a new tab (#8503)
* [SIP-15] Ensuring toast opens in a new tab

* Update config.py
2019-11-05 07:02:18 -08:00
Daniel Vaz Gaspar
926dca3214 [docs] Small fixes on the release docs (#8500)
* [docs] Small fixes on the release docs

* [docs] Fix, remove deprecated app parameter from fab create-admin
2019-11-05 08:44:06 +00:00
Paul Vickers
e8af9459ab Update query tab's title when saving a new query (#8484)
* Update query tab's title when saving a new query

Just like it does when you opt to update an existing query

* Remove trailing whitespace
2019-11-04 23:39:33 -08:00
Will Barrett
0730261342 Fix column type on dbs.encrypted_extra, add instructions for testing migration downgrades (#8493)
* Fix column type on dbs.encrypted_extra

* Add instructions for testing migration downgrades

* Account for non-Postgres DBs in migration

* Use batch_alter_table to make SQLite happy

* Another CI-appeasing tweak
2019-11-04 23:13:21 -08:00
liuyanpunk
5617f8721d Updating pip with default timeout (#8492)
* Updating pip with default timeout

Most of the time, the pip default site is realiable but we do see timeouts pops out when network is busy or temporary unavaliable .

The default value was 15 and that's way too short. So adding --default-time and set it to 1000 should be long enough to mitigate

* Update Dockerfile
2019-11-04 23:05:39 -08:00
John Bodley
5dba2f4b56 [SIP-15] Adding grace period (#8490) 2019-11-04 12:00:41 -08:00
Beto Dealmeida
338a2b1a51 Allow user to customize query cost estimate (#8470)
* Allow user to customize query estimate

* Add docs; run black

* Update docs with types
2019-11-04 11:08:00 -08:00
serenajiang
9a29116d6b [typing] superset/models/core.py (#8284) 2019-11-04 21:04:53 +02:00
Marcus
4c35de1d1f build: bump dompurify version because of nasty xss bypass. (#8498) 2019-11-04 10:30:46 -08:00
Paul Vickers
5df1fcb7bd Add Duplicate Tab option (#8485)
* Add `Duplicate Tab` option

Adds an option to duplicate the current tab's setting/content into a new tab. Useful if you're iterating on a query.

* Add test
2019-11-04 09:05:10 -08:00
Taeshik Hwang
51c22900db feat: add korea(South) info on CountryMap viz and bump legacy-plugin-chart-country-map to v0.11.4 (#8478) 2019-11-04 07:45:43 -08:00
francishemingway
a305b1a2c5 Change Fedora installation instructions + some small formatting changes (#8496) 2019-11-03 18:02:14 -08:00
John Bodley
fda2333cf2 [SIP-15] Updating ISO 8601 regex match to make time optional (#8494) 2019-11-01 17:44:28 -07:00
Grace Guo
acad66dad1 [datasource editor] Only one click target for edit action (#8495) 2019-11-01 17:22:38 -07:00
Conglei
d46b47a5d8 feat(TableVis): Switch to the new table plugin (#8446)
* use new table comp

* remove commented code

* update lock file

* fix lint

* bump version

* update lock file

* fix lock issue
2019-11-01 15:58:29 -07:00
John Bodley
554a6d82db [sip-15] Adding database level python-date-format (#8474) 2019-10-31 07:13:41 -07:00
John Bodley
eb150eba1f [sip-15] Fix time range endpoints encoding (#8481) 2019-10-31 07:11:48 -07:00
Christoph Lingg
06a4108a7d Enhance docs for email reporting (#8486)
* extend documentation about setting up email reporting

* mention EMAIL_REPORTS_USER
2019-10-30 22:37:13 -07:00
Marcus
a8f1589dbf fixing typo. (#8487) 2019-10-30 22:30:06 -07:00
Will Barrett
1ccfa4f11e Re-enable DRUID_IS_ACTIVE flag (#8482)
* Re-enable DRUID_IS_ACTIVE flag

* Make CI happy
2019-10-30 22:16:51 -07:00
Will Barrett
e4ca44e95f Use config[] not config.get() (#8454)
* Typo fix in CONTRIBUTING.md

* Alter references to config.get('FOO') to use preferred config['FOO']

* Set missing configuration constants in superset/config.py

* Misc. CI fixes

* Add type annotation for FEATURE_FLATGS
2019-10-30 16:19:16 -07:00
Kim Truong
3cba1bd990 feat: add expand_data parameter (#8472)
* feat: add expand_data parameter

* fix: reformat files
2019-10-30 11:45:35 -07:00
Maxime Beauchemin
18c6d17b24 docs: more release instructions (#8432) 2019-10-30 10:24:18 -07:00
John Bodley
0a3b121244 [sql] Fixing datetime SQL literal (#8464) 2019-10-29 23:24:48 -07:00
John Bodley
7afda6e4f5 Update UPDATING.md (#8465) 2019-10-29 18:01:49 -07:00
Grace Guo
5fb0bcb854 [Datasource Editor] A few small UI changes in modal to prevent accidental edits (#8471) 2019-10-29 15:26:11 -07:00
Will Barrett
1adf7426c2 Provide documentation for using a Service Account to connect to BigQuery (#8462)
* Provide documentation for using a Service Account to connect to BigQuery

* Alter line wrapping for shorter lines

* Whitespace commit to trigger another build (flake)

* Another meaningless whitespace change to trigger another build
2019-10-29 12:31:45 -07:00
John Bodley
8b74745f9e [SIP-15] Adding initial framework (#8398)
* [sip-15] Adding initial framework

* [toast] Addressing etr2460's comments

* [fix] Addressing etr2460's comments
2019-10-28 14:23:12 -07:00
John Bodley
f7f0be502d [SIP-15] Making client time use UTC as the local time (#8450)
* [fix] Making client time UTC

* Update UPDATING.md
2019-10-28 13:05:01 -07:00
Daniel Vaz Gaspar
a757b43164 [db engine] Add support for Elasticsearch (#8441)
* [db engine] Add support for Elasticsearch
2019-10-28 16:04:14 +00:00
Will Barrett
148cec4690 Add UI-only database configuration method for extended authorization scenarios (#8448)
* Add encrypted_extra to dbs

* WIP - UI-based BigQuery connection configuration

* Fix 500 bubbling to the surface when adding a database connection

* Add check for valid json

* black formatting:

* isort

* Incorporate PR feedback. Thanks all!

* black

* Typo fix in CONTRIBUTING.md
2019-10-28 15:49:40 +00:00
Daniel Vaz Gaspar
c1810aab15 [docs] Crafting a new release (#8433)
* [docs] Crafting a new release
2019-10-28 10:17:10 +00:00
Alexandre Brilhante
eaeed0c93a removed repeated word (#8458) 2019-10-26 19:47:22 +03:00
Beto Dealmeida
e704e29174 Allow fetching all rows from results endpoint (#8389)
* Allow bypassing DISPLAY_MAX_ROW

* Add unit tests and docs

* Fix tests

* Fix mock

* Fix unit test

* Revert config change after test

* Change behavior

* Address comments
2019-10-25 10:22:16 -07:00
Daniel Vaz Gaspar
59889a4436 [setup] Fix, download_url (#8439)
* [setup] Fix, download_url
2019-10-25 08:59:06 +01:00
Will Barrett
82b174701f Split up tests/db_engine_test.py (#8449)
* Split up db_engine_specs_test.py into a number of targeted files

* Remove db_engine_specs_test.py

* isort
2019-10-24 20:46:45 -07:00
Christoph Lingg
1d5718a1a8 introduce a space in command line option (#8438)
see https://docs.celeryproject.org/en/latest/userguide/optimizing.html
2019-10-24 16:00:33 -07:00
Christoph Lingg
a39c24ef6a explain the need to enable async queries (#8444) 2019-10-24 09:52:16 -07:00
Austin Pray
19d2ea2c8c spelling fix (#8442) 2019-10-24 19:32:51 +03:00
John Bodley
786d7706e7 [fix] Updating parse_human_timedelta typing (#8436) 2019-10-23 16:04:46 -07:00
Ville Brofeldt
08c6b61a2e [fix] refine release instructions (#8381)
* Separate RC from VERSION

* Fix pypi_push.sh and refine instructions

* Add SUPERSET_ prefix to env variables

* Finalize release instructions

* Change one-off to First Time Only

* Add tagging of final version

* Convert some remaining env variables and add a check step to pypi deploy
2019-10-23 16:43:04 +03:00
Maxime Beauchemin
cde17a8c9d docs: Add an 'Orientation' section to CONTRIBUTING.md (#8422) 2019-10-22 21:44:11 -07:00
Maxime Beauchemin
a0db22bdf3 docs: add a note to RELEASING about Slack Channel (#8419) 2019-10-22 21:42:12 -07:00
John Bodley
b91205d991 [pydruid] Bumping the pydruid version (#8430) 2019-10-22 15:19:37 -07:00
Maxime Beauchemin
8f246cec34 chore: disable another flaky cypress test (#8423)
Also fix isort issue on master
2019-10-22 11:50:23 +01:00
Beto Dealmeida
cca689b712 Add improved typed casting to BigQuery (#8331) 2019-10-21 09:19:24 -07:00
Marcus
4cfd6b3ce1 [tests] Fix, removing deprecated function for future Python release compatibility. (#8353)
* removing deprecated function for future Python release compatibility.

* also removed assertNotEquals per @dpgaspar
2019-10-21 15:49:12 +01:00
francishemingway
1e533db3a2 fixed typo in installation instructions (#8413) 2019-10-20 21:21:40 -07:00
John Bodley
9fc37ea9f1 [ci] Deprecate flake8 (#8409)
* [ci] Deprecate flake8

* Addressing @villebro's comments
2019-10-18 14:44:27 -07:00
John Bodley
a19990185d [sqla] Enforcing ISO 8601 date/timestamp formats (#7702) 2019-10-17 10:06:42 -07:00
Erik Ritter
d3406e0a04 [Config] Cache static resources (#8370) 2019-10-17 09:09:25 -07:00
Daniel Vaz Gaspar
c62b2f4340 [docs] CTAS on PostgreSQL needs commit to apply (#8367)
* [docs] New, document need for PG to use autocommit for CTAS
2019-10-17 14:54:02 +01:00
Rob DiCiuccio
c422b492eb Update Slack invitation link (#8399)
* Update Slack invitation link

* Update remaining Slack links
2019-10-16 08:33:43 -07:00
serenajiang
876d329474 [fix] make names non-nullable (#8371) 2019-10-15 16:51:04 -07:00
John Bodley
fcb39f9091 [form-data] Deleting obsolete Superset.get_form_data method (#8390)
* Update core.py

* Update core.py
2019-10-15 09:11:55 -07:00
Ville Brofeldt
2117d1ef9d Add 0.34.1 PRs to CHANGELOG (#8376) 2019-10-12 18:08:58 +03:00
John Bodley
03b35b3c11 [migration] Migrating since/until to time_range (#8372) 2019-10-11 13:41:23 -07:00
Erik Ritter
558680d6ac [Cypress] Skip another flaky sqllab test (#8374) 2019-10-11 13:02:28 -07:00
Ville Brofeldt
9a186ffba3 Add incubating to NOTICE (#8369) 2019-10-10 23:41:25 +03:00
Erik Ritter
7133429a3f [Docs] Put superset users in abc order (#8368) 2019-10-10 13:37:52 -07:00
Christoph Lingg
66e3708af6 Update README.md (#8365) 2019-10-10 10:50:22 -07:00
serenajiang
7e7ea3d9a0 Revert "[fix] make datasource names non-nullable (#8332)" (#8363)
This reverts commit 65a05ca47e.
2019-10-09 11:38:57 -07:00
Grace Guo
8b85a8f398 [dashboard] show less filter indicators (#8345) 2019-10-07 22:34:09 -07:00
Ville Brofeldt
c09e3e7e46 Fix pypi link and replace gitter badge with slack (#8330) 2019-10-06 14:06:51 -07:00
John Bodley
edec8745b8 Revert "[init] Setting up cache before registering blueprints (#7992)" (#8005)
This reverts commit c6867d22b9.
2019-10-06 13:31:00 -07:00
kevang
783667168b Add support for Exasol (#8343)
* Add support for Exasol

* add time grain functions for Exasol

* remove duplicate of

* override ExasolEngineSpec's fetch_data method

* remove duplicate https

* simplify super call
2019-10-06 14:43:45 +03:00
David Aaron Suddjian
b093406536 fix saving new sql lab queries (#8351)
* fix saving new sql lab queries

* allow freshly saved queries to be updated immediately
2019-10-04 16:43:05 -07:00
Beto Dealmeida
04c3d1f58d Remove unused methods from Presto (#8350)
* Remove unused methods from Presto

* Remove tests

* Fix bug in PRESTO_SPLIT_VIEWS_FROM_TABLES

* Fix lint
2019-10-04 11:22:02 -07:00
Will Barrett
ec86d9de17 Fix lint in superset/db_engine_spec (#8338)
* Enable lint checking for files in db_engine_spec that have few to no
lint issues

* Enable lint and fix issue in db_engine_spec/mysql.py

* Enable pylint and fix lint for db_engine_spec/pinot.py

* Enable lint and fix issues for db_engine_specs/hive.py

* Enable lint and fix for db_engine_spec/presto.py

* Re-enable lint on base.py, fix/disable specific failures, including one
bad method signature

* Make flake8 happy after a number of pylint fixes

* Update db_engine_spec_test test cases related to Presto to support
different method naming

* automated reformatting

* One more pylint disable for druid.py

* Find the magic invocation that makes all the lint tools happy
2019-10-04 09:19:21 -07:00
serenajiang
65a05ca47e [fix] make datasource names non-nullable (#8332) 2019-10-04 09:13:25 -07:00
Bhargava Vadlamani
b6b6a753e2 Add Fanatics to companies that use Superset (#8344)
* Add Fanatics to companies that use Superset

We at Fanatics use Apache Superset to visualize data stored in Apache Druid. I wanted to add my firm's name to this list since we are very happy with the performance and visualization features provided by Apache Superset.

* Update README.md
2019-10-04 18:28:28 +03:00
Juliette Tisseyre
46227b75a7 [docs] Add Deepomatic in organization list (#8347) 2019-10-04 18:08:35 +03:00
Oskar Hinc
9596935c44 feat: Set moment library language during app setup (#8296)
* #8294: Set moment library language during app setup

* #8294: Added 'local-storage' to superset/assets/package.json

* #8294: change 'locale' in localStorage when language is set

* #8294: Fixed eslint issues

* #8294: Removed localStorage usage
2019-10-01 23:12:21 -07:00
Maxime Beauchemin
4a8799b918 fix: npm audit fix bumps handlebars 4.1.2->4.3.1 (#8299) 2019-10-01 21:54:08 -07:00
John Bodley
05b67673c3 [metric] Adding security for restricted metrics (#8175) 2019-10-01 16:52:15 -07:00
Erik Ritter
8c708037e8 [Presto] Handle uncaught exception in get_create_view (#8304) 2019-10-01 07:45:12 -10:00
Erik Ritter
f21cc63030 [SQL Lab] Improve autocomplete (#8305) 2019-10-01 06:07:34 -10:00
David Aaron Suddjian
fbbc5f0577 Allow overwriting a SQLLab query that has previously been saved (#8298)
* ignore direnv

* allow overwriting saved queries

* simplify state management a little bit

* fix tests and linting
2019-09-30 23:09:45 -07:00
Krist Wongsuphasawat
d55fe54198 refactor: remove unused code (#8300) 2019-09-30 16:57:35 -07:00
Nabin Khadka
25e2517dcb Update RunQueryActionButton.jsx (#8320) 2019-09-30 16:55:56 -07:00
Craig Rueda
cff10ebfcb Adding explicit Flask session cookie options to default config (#8317)
* Adding explicit Flask session cookie options to default config

* Blacking
2019-09-30 00:11:22 +01:00
Daniel Vaz Gaspar
d59e0c4641 [superset] Fix, missing return on error and improved query (#8239) 2019-09-30 00:09:30 +01:00
ʈᵃᵢ
7ea769228e allow non-relative LOGO_TARGET_PATH (#8307) 2019-09-27 19:47:20 -07:00
Matthew Mutiso
3764d43f7f Add safaricom to companies using superset (#8311) 2019-09-27 17:55:45 +03:00
Ville Brofeldt
52a84d2581 Add explicit support for python 3.7 (#8309) 2019-09-27 17:54:45 +03:00
Kartik Khare
0a8f3eb43f Fix: Missing time series datapoints in druid show up as absurd values in line chart (#8271)
* Adding support for filter box in annotations

* Fixing tox lint errors

* fixing lint errors

* superset should skip empty time buckets

* removing whitespace
2019-09-24 17:46:34 -07:00
Ville Brofeldt
6d418308c7 Refine release instructions (#8272)
* Refine release instructions

* Add version to svn message
2019-09-24 08:34:43 +03:00
Erik Ritter
11935ce118 Add commit to attempt to resolve query table lock (#8262) 2019-09-23 14:37:50 -07:00
Maxime Beauchemin
09bbdd277c chore: skip flaky SQL Lab test (#8282)
Tried 2-3 difference approaches to fix the flaky SQL Lab test that has
been biting us for a while. My guess is that the flakiness comes from
brace (the editor). Hoping a future release of brace and/or cypress
may help with this.

But for now, no test is better than a flaky one.
2019-09-23 11:28:10 -07:00
John Bodley
d46510779f [migration] Stripping leading and trailing whitespace (#8261) 2019-09-23 09:13:01 -07:00
John Bodley
5d1bf4245d [sql_json] Ensuring the request body is JSON encoded (#8256) 2019-09-23 09:09:12 -07:00
Daniel Vaz Gaspar
f3065a763f [database] Improve form and API validation for invalid URI (#8240)
* [database] Improve form and API validation for invalid URI

* [database] Added missing EOL

* [database] lint
2019-09-23 08:28:08 -07:00
kuckjwi
6a08f25b15 Fixed korean translation error. (#8265) 2019-09-22 16:25:56 -07:00
Ben
bc83b5fbe6 More intuitive display of negative time deltas (#8274) (#8276)
* WIP - Add easily interpretable negative timedelta formatting

* Add unit tests for utils.core.timedelta_f

* Reformat tests.utils_tests.test_timedelta_f test code. Fixes #8274.

* Add type annotations to utils.core.timedelta_f (#8274)

* Replace recursion with absolute value in utils.core.timedelta_f (#8274)

* Rename utils.core.timedelta_f to format_timedelta (#8274)

* Fix small typo (#8274)
2019-09-22 19:37:43 +03:00
Beto Dealmeida
7090725de9 Fix no data in Presto (#8268)
* Fix no data in Presto

* Fix test
2019-09-20 14:31:13 +02:00
Krist Wongsuphasawat
731c19b630 refactor: use deck.gl plugins from npm package (#8258)
* refactor: use deck.gl plugins from npm package

* fix: remove test files
2019-09-19 16:55:44 -07:00
serenajiang
dfb3bf69a0 [typing] add typing for superset/connectors and superset/common (#8138) 2019-09-19 16:51:01 -07:00
Daniel Vaz Gaspar
8bc5cd7dc0 [SQLLab] Refactor sql json endpoint (#8163)
* [superset] sql_json endpoint refactor

* [superset] sql_json endpoint refactor sync

* [superset] Fix, wrong parameter name

* [superset] flake8 and black

* [SQLLab] Don't need to pass request to helper SQLJsonParams

* [SQLLab] try except on query add

* [SQLLab] Remove unwanted changes

* [SQLLab] refactor (cont.)

* [superset] black

* [SQLLab] Remove SQLJsonParams class

* [SQLLab] Fix, add missing type annotations

* [superset] Better exception handling when saving query

* [superset] Remove unnecessary commit

* [superset] one or none instead of first

* [superset] Fix, missing return on error sql_json

* [superset] Fix, black

* [database] Use f strings
2019-09-19 12:15:40 -07:00
Yongjie Zhao
2cd631a26c Fix sync failed when datasource is schema-less (#8223) 2019-09-19 09:11:21 -07:00
Beto Dealmeida
6df74c6b8e Remove __row_id (#8257) 2019-09-18 20:32:33 -07:00
Erik Ritter
799e08d76f Update another pypi case from superset to apache-superset (#8250) 2019-09-18 16:36:08 -07:00
Maxime Beauchemin
115bc83b28 docs: reflect the pypi move from superset to apache-superset (#8244) 2019-09-18 14:55:20 -07:00
serenajiang
0c94f0fd82 [sqllab] create query slightly earlier (#8224) 2019-09-18 14:29:07 -07:00
Beto Dealmeida
8e1fc2b0ba Fix array casting (#8253) 2019-09-18 13:32:58 -07:00
Beto Dealmeida
12fb8e70cc Show Presto views as views, not tables (#8243)
* WIP

* Implement views in Presto

* Clean up

* Fix CSS

* Fix unit tests

* Add types to database

* Fix circular import
2019-09-18 12:47:10 -07:00
Beto Dealmeida
4088a84eb4 Small fix for Presto dtype map (#8251)
* Small fix for Presto dtype map

* Add unit test
2019-09-18 12:46:50 -07:00
MaiTiano
8d04e1f55f Update README.md (#8246) 2019-09-18 08:15:47 -07:00
1AB9502
0cd4ef54f8 Add RegisteredLookupExtraction support to extraction function (#8185)
* Add RegisteredLookupExtraction support to extraction function

* Fix formatting issues

* Reformat druid_func_tests through black
2019-09-17 23:45:47 -07:00
Beto Dealmeida
88777943fa Better distinction between tables and views, and show CREATE VIEW (#8213)
* WIP

* Add missing file

* WIP

* Clean up

* Use label instead

* Address comments

* Add docstring

* Fix lint

* Fix typo

* Fix unit test
2019-09-17 14:24:38 -07:00
Beto Dealmeida
4132d8fb0f Simplify and improve expand_data in Presto (#8233)
* WIP

* Working version, needs cleanup

* Add unit tests to split

* Small fixes

* Dedupe array columns

* Fix lint
2019-09-17 14:04:14 -07:00
Beto Dealmeida
8847e10529 Allow users to estimate query cost before executing it (#8172)
* WIP

* Basic functionality working

* Enable per DB

* Show error message

* Small improvements

* Fix lint

* Address comments

* Address comments

* Remove logging, fix exception

* Fix tests

* Bump FAB requirements
2019-09-17 09:09:40 -07:00
Beto Dealmeida
b9be01fcd8 Handle int64 columns with missing data in SQL Lab (#8226)
* Handle int64 columns with missing data in SQL Lab

* Fix docstring

* Add unit test

* Small fix

* Small fixes

* Fix cursor description update

* Better fix

* Fix unit test, black

* Fix nan comparison in unit test
2019-09-17 08:16:09 -07:00
Erik Ritter
1ad17936ba [SQL Lab] Fix bug when filtering on results that include nulls (#8231) 2019-09-16 21:05:58 -07:00
Krist Wongsuphasawat
bf7ce62166 refactor: prepare control panel configs for separation into plugins (#8222)
* move paired t-test

* fix: remove nvd3sections

* move more controls
2019-09-13 15:52:51 -07:00
Krist Wongsuphasawat
1522d3fbaa fix: initialize control state for inline control config object (#8221) 2019-09-13 10:36:53 -07:00
John Bodley
762edf430b [talisman] Enforcing HTTP for status checks (#8214) 2019-09-12 15:54:57 -07:00
Krist Wongsuphasawat
c566141f25 feat: read control panel configs from registry (#8173)
* feat: read control panel configs from registry

* fix: order imports

* fix: remove index.js and get items on-the-fly, remove extraOverrides

* fix: lint

* fix: unit tests

* fix: unit tests

* fix: lint

* fix: unit tests
2019-09-11 08:58:24 -07:00
Maxime Beauchemin
30483cee31 chore: fix version info (#8196)
* Fix version info

Ran into Cypress issues while getting too ambitious in #8157
this is a simplified more targeted version of it

* include package.json (but not under static/)
* use package.json as single source of truth for version info

* typo
2019-09-10 22:25:58 -07:00
Maxime Beauchemin
cb6abe343b fix: attempt to fix the flaky SQL Lab test (#8212)
* fix: attempt to fix the flaky SQL Lab test

https://docs.cypress.io/api/commands/clear.html#Syntax

doubling our chances to selectall and clear the text box

* Add {force: true}

* fix typo

* more clears
2019-09-10 22:16:26 -07:00
klxiang
50cd558d40 Update messages.json (#8210) 2019-09-10 15:51:51 -07:00
Grace Guo
b4a1234670 [feature][dashboard] Show/hide filter indicator on the applicable charts when filter options are open/close (#8166)
* show ellipsis for long filter name in tooltip

* show filter indicator color bar when filter is applied

* show/hide filter indicator when filter is showing/hiding options

* use component local state to hide/show chart outline

* fix review comments + unit tests
2019-09-10 15:29:13 -07:00
garnservo
296f3e81a7 Update README.md (#8206)
Corrected typos
2019-09-10 11:11:42 -07:00
Maxime Beauchemin
b8819226b9 chore: update UPDATING.md with a 0.34.0 section (#8208)
Also documenting this step under RELEASING/README.md
2019-09-10 10:36:07 -07:00
John Bodley
84bf5b40fa [viz] Adding get_def typing (#8034) 2019-09-10 09:55:17 -07:00
Daniel Vaz Gaspar
83f7038374 [examples] Fix, sf population polygons div by zero error (#8209) 2019-09-10 09:53:27 -07:00
Maxime Beauchemin
9d4b955cc7 chore: deprecate restricted metrics (#8197)
* chore: deprecate restricted metrics

An early community contribution added the concept of restricted metrics.

The idea was to allow for some metrics to be restricted, and if a metric
was tagged as such, a user would need to be given access to that metric
more explicitely, through a special perm we would maintain for that
metric.

Now since the new concept of "Adhoc Metrics", the popover that lets a
user pick a column and an aggregate function or to write their own SQL
expression inline, this restriction is completely bypassed. Adhoc
metrics was developed without the restricted metrics in mind.

Anyhow, in the near future, we'll be rethinking the ideas behind
data-access permissions, and things like column-level or row-level
security will be redesigned from scratch.

By deprecating this feature, we're removing a confusing and mostly broken
feature, and making it easy to move forward

* Use context manager to drop columns

* disable jest's maxWorkers
2019-09-09 17:20:32 -07:00
klxiang
7546ea3191 Update messages.json (#8198)
"dashboards" 有的翻译成"看板", 有的翻译成"仪表盘". 为了统一现在全部改为"看板".
2019-09-09 11:25:01 -07:00
Dave Smith
1a02d61582 change log from csv_export to data_export; fix db name in log (#8204)
* change log from csv_export to data_export; fix db name in log

* add exported_format field to data_export event log
2019-09-09 11:08:47 -07:00
serenajiang
4e2d1c1a62 more detailed async error messages (#8164) 2019-09-09 09:09:15 -07:00
Erik Ritter
c053e23397 [Config] Disable celery acks late (#8182) 2019-09-09 09:07:38 -07:00
Daniel Vaz Gaspar
055d2ef252 Bump FAB to 2.1.13 (#8176)
* Bump FAB to 2.1.13

* [SQLLab] dummy commit

* [SQLLab] remove dummy commit

* [SQLLab] test

* [SQLLab] bump back to 13
2019-09-08 22:06:24 -07:00
Maxime Beauchemin
68c4c3a0b9 Prevent 'main' database connection creation (#8038)
* prevent 'main' database connection creation

* fix tests

* removing get_main_database

* Kill get_main_database

* Point to examples tables
2019-09-08 10:18:09 -07:00
Garrett Bates
9d350aadf0 ignore formatting for <Select> (#8187) 2019-09-08 10:16:07 -07:00
Paul Vickers
22302e341f Bump flask-appbuilder to 2.1.13 (#8174)
* Bump flask-appbuilder to 2.1.12

To pick up this fix https://github.com/dpgaspar/Flask-AppBuilder/pull/1095 which addresses https://github.com/apache/incubator-superset/issues/7739

* Bump FAB again to 2.1.13
2019-09-08 09:58:59 -07:00
Ville Brofeldt
3250c5ac94 [bugfix] fix timegrain addon regression (#8165)
* Fix regression in time grain addons

* Revert privatization of time_grain_functions

* Fix test

* Rename variable

* Fix test

* Fix typing error

* Refactor and add tests

* Add TODO
2019-09-08 08:34:40 +02:00
John Bodley
9dfa0a3f8e Update core.py (#8191) 2019-09-07 23:32:17 -07:00
serenajiang
be33934b83 [fix] retry stop_query on all exceptions (#8184) 2019-09-06 10:16:08 -07:00
Ville Brofeldt
15e623898d Make orderby native sqla construct (#8180) 2019-09-06 13:05:17 +03:00
Ville Brofeldt
4e1e54b538 [bugfix] Correctly quote table and schema in select_star (#8181)
* Fix select_star table quoting bug

* Add unit test for fully qualified names in select_star

* Rename main_db to db

* Rename test function
2019-09-05 22:44:34 +03:00
klxiang
8f071e8f7e Update messages.json (#8179)
"Pop"这里应该翻译成"弹出",而不是"流行"。
2019-09-05 11:25:24 -07:00
ericandrewmeadows
ae0dc30c0a Fix to Werkzeug ProxyFix; expose ProxyFix configuration items (#8117)
* Fix to werkzeug proxy; expose additional configuration items

* Forced to all x-forwarded configurations ON; black done

* added comments related to x_port after testing

* Updated UPDATING.md

* Removed accidental notebook; added *.ipynb to gitignore

* Delete Untitled-checkpoint.ipynb
2019-09-04 10:21:13 -07:00
Maxime Beauchemin
650de93752 Bump cypress from 3.1.5 to 3.4.1 (#8158) 2019-09-03 23:56:50 -07:00
serenajiang
00257b9433 [sqllab] add retries for stop_query (#8139)
* [sqllab] add retries for stop_query

* use backoff for retries

* address PR comments

* import statement order
2019-09-03 16:37:42 -07:00
Erik Ritter
436261e703 [Codemod] Rename react unsafe lifecycles (#8143)
* [Codemod] Rename react unsafe lifecycles

* Fix lint errors

* [Codemod] Rename react unsafe lifecycles

* Fix lint errors
2019-09-03 14:13:58 -07:00
Maxime Beauchemin
ee24539bd2 chore: remove PY3 conditional logic (#8149) 2019-09-02 12:46:18 -07:00
Maxim Sukharev
522e8015cf Forward SIGTERM signal to gunicorn (#8156)
Currently docker entrypoint is a bash script.
`docker stop` command (or restart in kubernetes) sends SIGTERM to the
container but it isn't catched by gunicorn.
So gunicorn can't start graceful shutdown which may lead to killing
user's connection and also adds 10s (default value) delay for stopping
until docker sends SIGKILL.
Using `exec` replaces the shell with the process being opened and
signals are propagated correctly.

Ref: https://docs.docker.com/engine/reference/commandline/stop/
Ref: https://unix.stackexchange.com/questions/146756/forward-sigterm-to-child-in-bash
2019-09-02 12:43:03 -07:00
Craig Rueda
2abec1908e Adding explicit include for version_info.json (#8148) 2019-08-30 15:43:30 -07:00
Erik Ritter
96f21d3cb6 Revert "Fix tooltips not visible for NVD3 charts on Firefox (#7822) (#7929)" (#8147)
This reverts commit 6df2a713e4.
2019-08-30 15:25:37 -07:00
Erik Ritter
96eb51f0e1 Revert "Allow resizing width of SQL Lab left bar / editor (#8099)" (#8146)
This reverts commit ed3360b135.
2019-08-30 15:19:01 -07:00
Erik Ritter
1b031fc7d7 Revert "Fixed Histogram visualization bug. (#8077)" (#8145)
This reverts commit 7ac1a290eb.
2019-08-30 14:11:46 -07:00
ʈᵃᵢ
7f17ba7ee2 removes unused state values and redundant presence checks (#8130) 2019-08-29 21:29:34 -07:00
Ville Brofeldt
149d6344ac Add duration formatter for numeric data (#8136)
* Add duration formatter

* Remove sec and min formatters and add subMillisecond option
2019-08-29 21:29:08 -07:00
Krist Wongsuphasawat
b150b3d5e6 remove unused files (#8140) 2019-08-29 15:19:05 -07:00
Daniel Vaz Gaspar
6aa10dc016 [setup] use new python requires metadata key (#8135) 2019-08-28 10:12:46 -07:00
Craig Rueda
de6d963432 Moving towards a whitelist approach for MANIFEST.in (#8109)
* Moving towards a whitelist approach for MANIFEST.in when it comes to static resources

* Tuning static exclude

* Fix for fetching version string from package.json, which no longer exists

* Adding package.json fallback for unit tests
2019-08-27 14:51:35 -07:00
Rob DiCiuccio
7595d9e5fd [SQL Lab] Async query results serialization with MessagePack and PyArrow (#8069)
* Add support for msgpack results_backend serialization

* Serialize DataFrame with PyArrow rather than JSON

* Adjust dependencies, de-lint

* Add tests for (de)serialization methods

* Add MessagePack config info to Installation docs

* Enable msgpack/arrow serialization by default

* [Fix] Prevent msgpack serialization on synchronous queries

* Add type annotations
2019-08-27 14:23:40 -07:00
Krist Wongsuphasawat
56566c2645 feat: bump superset-ui dependencies to v0.12 and plugins to v0.11 (#8115)
* feat: bump superset-ui dependencies to v0.12 and plugins to v0.11

* fix: update transformProps

* fix: update hooks

* fix: pin lunar version

* fix: lint

* fix: revert table
2019-08-27 13:42:18 -07:00
Ville Brofeldt
1982b74af2 Add check for calls to cache_key_wrapper (#8128)
* Add check for calls to cache_key_wrapper to avoid unavoidable compilation of query

* Add fetch_values_predicate to check

* Only check relevant attributes

* Address nit
2019-08-27 13:36:05 -07:00
Dave Smith
6dc760a054 Add LogConfigurator, and add logging for CSV export (#8085)
* Add LogConfigurator, and add logging for CSV export

* tweak for PR feedback

* fix linter issue
2019-08-27 13:22:18 -07:00
Evan Rusackas
2085e897f5 adding spaces missing from string concatenations (#8126) 2019-08-27 10:37:40 -07:00
Marcus
b1269c31f7 removed database deps from reqs-dev.txt and typo. (#8111)
* removed database deps from reqs-dev.txt and typo.

* Revert requirements-dev.txt to limit scope
2019-08-26 16:13:58 -07:00
serenajiang
624449816f [logging] add query id to SQL Lab logs (#8104)
* [logging] add query id to logs

* add query_id to hive and presto logging
2019-08-26 10:35:18 -07:00
Erik Ritter
5d8da6aeae [Hive Engine Spec] Fix latest partition logic (#8098) 2019-08-26 10:29:25 -07:00
Beto Dealmeida
ed3360b135 Allow resizing width of SQL Lab left bar / editor (#8099)
* wip

* Finish PR

* Remove annoying snap

* Fix lint

* Fix js tests
2019-08-26 10:07:47 -07:00
kuckjwi
7ac1a290eb Fixed Histogram visualization bug. (#8077)
* Fix HistogramViz bug.

* Fix ci black error.
2019-08-24 20:52:38 +03:00
Erik Ritter
ee75d03df4 Fix cache set kwargs (#8106) 2019-08-23 16:54:37 -07:00
Erik Ritter
01aa17cb70 Fix sqla query cache keys function (#8105) 2019-08-23 14:14:38 -07:00
felixcodes
6ca3e347d2 refactor: separate vis-specific controls from centralized controls (#7569)
* Separate vis-specific controls from centralized controls

* Remove comment

* Update state's vizType when switching to a new visualization. This fixes the renderTrigger bug.

* Rename functions for better readability

* Fix lint issues

* Fix nits

* Fix vscode rename mistake
2019-08-23 13:41:35 -07:00
Maxime Beauchemin
610b35a01b docs: remove unused release instruction (#8100)
Turns out since we use `git archive`, there's no need for `git clean`
which was pretty disruptive.
2019-08-23 09:03:55 -07:00
friendzis
fd119c187e Move Darwin-specific JS libs to optional (#8093) 2019-08-22 22:37:36 -07:00
serenajiang
e6956f84b4 [fix] checks for stopped queries (#8097) 2019-08-22 22:23:44 -07:00
Maxime Beauchemin
279307c602 fix: minor release/license related issues (#8087) 2019-08-22 18:16:12 -07:00
Maxime Beauchemin
763af85d04 CHANGELOG for 0.30...0.34 (#8089) 2019-08-22 18:15:49 -07:00
Krist Wongsuphasawat
0d76fc755c feat: replace table and box plot vis with new plugins (#8083)
* add new chart plugins

* fix: pin aphrodite version

* fix: package

* fix: unit test dependencies

* fix: memory
2019-08-22 12:15:54 -07:00
Ville Brofeldt
fb51632e18 Add docstrings and typing to db_engine_specs and sql_parse (#8058)
* Add typing to db_engine_specs

* Add more type annotations and docstrings

* Add docstrings and typing to sql_parse and db_engine_specs

* Refine select_star

* Fix execute and add more docstrings

* Revert kwargs change from execute

* Remove redundant or

* Align view and table getter schema types

* Fix return type of latest_partition

* Remove some typing from presto

* Improve docstring for __extract_from_token
2019-08-22 06:29:32 +03:00
Grace Guo
40776bd547 [Feature] Dashboard filter indicators (#7908)
* dashboard filter indicators

* add/fix unit tests
2019-08-21 17:34:08 -07:00
aspedrosa
0fd7364503 Remove gevent installation as a separate layer (#8078) 2019-08-21 11:07:39 -07:00
serenajiang
638fbb1a5c fix: handle case where result exists but corresponding query cannot be found (#8037)
* fix: handle case where result exists but query cannot be found

* changed error code to 404 for query not found
2019-08-20 18:30:33 -07:00
Dave Smith
995b96fc52 remove idna req from setup.py (#8067) 2019-08-20 18:04:59 -07:00
Beto Dealmeida
aae9b56232 Move more Presto nested types behind feature flag (#8075)
* Move more stuff behind ff

* Fix unit tests

* Fix more tests

* Fix lint
2019-08-20 16:10:55 -07:00
Maxime Beauchemin
d872511e2b bump a set of test-related JS libs (#8051)
* bump a set of test-related JS libs

Mostly upgrading jest as I was trying to tackle issues related to
wrong source-maps reporting in jest. This addresses it

* Bumping more things

* lint

* using core-js/stable

* pointing to the right place
2019-08-20 15:32:50 -07:00
Grace Guo
319c1df120 [Explore view] Fix extra data fetch when user clicks Run Query (#8070) 2019-08-20 11:48:15 -07:00
fzzylogic
c97a71b6b9 Make package.json cross platform (#8035)
* Fix: Chain var declaration and webpack invocation

* enh: Add cross-env to make package.json work cross-platform

* Fix: Update lock-file for new package cross-env

* Chores: Update lock-file for new package cross-env
2019-08-20 00:57:41 -07:00
Kartik Khare
ae16e69ebf Adding support for filter box in annotations (#8057)
* Adding support for filter box in annotations

* Fixing tox lint errors

* fixing lint errors
2019-08-20 00:56:04 -07:00
Maxime Beauchemin
4e7ea3f3e2 Improve birth example dashboard (#8042)
* Improve birth example dashboard

* Fix tests

* pylint
2019-08-18 22:36:27 -07:00
Grace Guo
51bd34704c [sql lab] persist tables list in localStorage (#8054)
* [sql lab] persist tables list in localStorage

* persist ediotor panel size setting
2019-08-16 14:12:35 -07:00
John Bodley
46f4da5fbe [viz] Revert dropna logic for pivot tables (#8040) 2019-08-16 11:25:57 -07:00
Beto Dealmeida
478d0969a8 Add feature flag for Presto expand data (#8056)
* Add feature flag for Presto expand data

* Fix unit tests

* Fix black

* Revert temporary file change
2019-08-15 20:10:05 -07:00
michellethomas
ef1d4a6aa1 Set disableErrorBoundary in SuperChart to fix chart error handling (#8052) 2019-08-15 14:42:03 -07:00
Maxime Beauchemin
5e0c91ef49 fix: onSave datasource raises React error (#8049)
* fix: datasource save raises React error

* add test
2019-08-15 14:13:18 -07:00
Ville Brofeldt
8773fdceb2 [bugfix] Fix deck_polygon metric bug and update examples chart (#8025)
* Fix deck_polygon bug and update examples chart

* Change js elevation to native ad-hoc metric

* Move scale from metric to native multiplier

* Remove redundant js_columns and change color scheme
2019-08-15 09:20:49 -07:00
Maxime Beauchemin
ed8bb1b694 fix: issues #8041 - bubble support for complex metrics (#8044) 2019-08-14 09:27:18 -07:00
Maxime Beauchemin
40c21dc1d7 Disable flaky cypress test (#8039)
ref: https://travis-ci.org/mistercrunch/superset/jobs/571524160
```
  1) Dashboard top-level controls should allow dashboard level force refresh:
     CypressError: Timed out retrying: expected '<li>' to have class 'disabled'
      at Object.cypressErr (http://localhost:8081/__cypress/runner/cypress_runner.js:65283:11)
      at Object.throwErr (http://localhost:8081/__cypress/runner/cypress_runner.js:65248:18)
      at Object.throwErrByPath (http://localhost:8081/__cypress/runner/cypress_runner.js:65275:17)
      at retry (http://localhost:8081/__cypress/runner/cypress_runner.js:58816:16)
      at http://localhost:8081/__cypress/runner/cypress_runner.js:50924:18
      at tryCatcher (http://localhost:8081/__cypress/runner/cypress_runner.js:127195:23)
      at Promise._settlePromiseFromHandler (http://localhost:8081/__cypress/runner/cypress_runner.js:125213:31)
      at Promise._settlePromise (http://localhost:8081/__cypress/runner/cypress_runner.js:125270:18)
      at Promise._settlePromise0 (http://localhost:8081/__cypress/runner/cypress_runner.js:125315:10)
      at Promise._settlePromises (http://localhost:8081/__cypress/runner/cypress_runner.js:125390:18)
      at Async._drainQueue (http://localhost:8081/__cypress/runner/cypress_runner.js:122119:16)
      at Async._drainQueues (http://localhost:8081/__cypress/runner/cypress_runner.js:122129:10)
      at Async.drainQueues (http://localhost:8081/__cypress/runner/cypress_runner.js:122003:14)
      at <anonymous>
```
2019-08-14 07:44:55 -07:00
semantiDan
a852eaaa59 Added WPSemantix to list of companies using Apache Superset in README.md file (#8045) 2019-08-14 17:28:03 +03:00
Grace Guo
613dcf5def [fix] Allow dashboard viewer auto refresh dashboard (#8014) 2019-08-13 13:49:39 -07:00
serenajiang
17f0740692 Fix bug where lists in queries cannot contain multiple types (#8032)
* use set instead of sorted to check equality of lists

* run black
2019-08-13 23:06:44 +03:00
Kshira Saagar
075b5a5d33 Two more organisations using Superset - Zalora, GFG (#8026) 2019-08-12 22:37:11 -07:00
Erik Ritter
0754f294e9 [Dashboard] Hide slice titles when they're empty (#8018) 2019-08-12 21:55:46 -07:00
Maxime Beauchemin
5375745193 Improve release instructions (#8016) 2019-08-12 14:01:15 -07:00
Erik Ritter
f039e17cd3 [SQL Lab] Improve perf for filterable table rendering (#8011) 2019-08-12 12:24:45 -07:00
Tom Hunter
2476814a6a [feat] Add d3 legend formatting for Arc, Polygon and Scatter deck.gl maps (#7951)
* Legend formatting for Arc, Polygon and Scatter

* fix typo

* refactor from d3-format to superset-ui
2019-08-10 18:55:56 -07:00
Arthur P
2ab8e15ddf Fix: There was an issue fetching the favorite status of this dashboard #6824 (#8013)
Issue: When Superset is running behind a reverse proxy and the dashboard page is requested with HTTPS protocol, the frontend can't retrieve the favorite status of the dashboard and, instead, displays the following toast message: 'There was an issue fetching the favorite status of this dashboard.'

Cause: While the API exposes the /favestar/Dashboard/{id}/count/ endpoint, the frontend executes an API call to /favestar/Dashboard/{id}/count, which leads to a redirect to an endpoint with HTTP protocol

Fix: Call the correct endpoint
2019-08-09 15:44:38 -07:00
schoel-bis
6df2a713e4 Fix tooltips not visible for NVD3 charts on Firefox (#7822) (#7929)
This bug was introduced by #7102

Using `position:absolute` on body gives `document.documentElement` a height of 0 which propagates to `clientHeight` on Firefox. This leads to a wrong calculation of the tooltip position in NVD3.

The solution proposed here is to use `min-height: 100vh` instead of the current technique for stretching the body element to the full window height, thus keeping body and html together.
2019-08-09 13:31:51 -07:00
semantiDan
aebffe0b44 Added better display of NULL values in FilterableTable (as in SQL Lab Results) (#8003)
* Added better display of NULL values in FilterableTable (Reults table as in SQL Lab results) and changed sorting order so that NULL values always come last

* fixed syntax according to elint recommendations

* changed code style and logic in getContentCell according to @etr2460 code review

* remvoved 'null-cell' class and replaced it with 'text-muted' as per @mistercrunch review
2019-08-09 19:07:59 +03:00
Dave Smith
9233a63a16 Event logger config takes instance instead of class (#7997)
* allow preconfigured event logger instance; deprecate specifying class

* add func docs and simplify conditions

* modify docs to reflect EVENT_LOGGER cfg change

* commit black formatting fixes and license header

* add type checking, fix other pre-commit failues

* remove superfluous/wordy condition

* fix flake8 failure

* fix new black failure

* dedent warning msg; use f-strings
2019-08-08 13:47:18 -07:00
Dave Smith
cd544fa6bc Local config no longer fails to import silently (#8006)
* Local config no longer fails to import silently

* fix types, use f-strings

* fix unhelpful pylint import error

* tweaked comment
2019-08-08 13:36:27 -07:00
Daniel Vaz Gaspar
73cdad2375 [SQLLab] Fix, database api unlimited page size v2 (#8002)
* [database] Fix, Removes the limit for the page size, Bump FAB to 2.1.8

Old FAB API had no limits by default, this will keep this behaviour
but only for this endpoint

* [sqllab] Add test for database API

* [sqllab] Add test for database API

* [sqllab] Include page zero on request

* [sqllab] Fix, Black and requirements

* [sqllab] Make database API return unlimited results

* [sqllab] just a test

* [sqllab] Bump FAB to 2.1.9

* [sqllab] Remove unused import
2019-08-08 11:37:00 -07:00
Maxime Beauchemin
2f2a3b79b4 Setup FOSSA as part of CI (#7999)
* Setup FOSSA as part of CI

* Add comments and links to FOSSA docs on script
2019-08-07 21:08:10 -07:00
Matthew Mutiso
cbfd1302c0 Update to fix the broken blueprints link (#7949)
* Updated to fix the broken blueprints link

The current link is http://flask.pocoo.org/docs/0.12/blueprints/ which redirects to a non-existent page. The new link is https://flask.palletsprojects.com/en/1.1.x/tutorial/views/.

* Link to the current Flask version(1.0.x)
2019-08-07 14:31:22 -07:00
Ville Brofeldt
8cd8ec16d5 Fix Pandas 0.24 DateOffset bug pt. 2 (#7981)
* Fix pandas 0.24 DateOffset bug

* Add try-catch for DateOffsets that don't support normalize
2019-08-07 14:17:23 -07:00
Erik Ritter
cd6de3a1d8 [Jinja] Make Presto template functions backwards compatible (#7993) 2019-08-07 09:35:16 -07:00
Grace Guo
b380879c41 [fix] reduce content in sql lab localStorage (#7998) 2019-08-06 21:23:40 -07:00
Maxime Beauchemin
af2b92d147 Fix #7984 (#7985)
See https://github.com/apache/incubator-superset/issues/7984 for more
details
2019-08-06 21:15:47 -07:00
Erik Ritter
e830474e5b Revert "Bump FAB to 2.1.8 (#7986)" (#7996)
This reverts commit 0c817e5fa9.
2019-08-06 16:56:02 -07:00
Erik Ritter
b62c122b4d Revert "[database] Fix, Removes the limit for the page size (#7987)" (#7995)
This reverts commit 8db419fe99.
2019-08-06 16:14:27 -07:00
Erik Ritter
4543898e29 Bump nvd3 charts for tooltip fix (#7994) 2019-08-06 15:23:54 -07:00
John Bodley
c6867d22b9 [init] Setting up cache before registering blueprints (#7992)
* [init] Setting up cache before registering blueprints

* Update __init__.py
2019-08-06 14:45:39 -07:00
Krist Wongsuphasawat
e455f1d86a Bump @superset-ui versions (#7989)
* starting

* fix: upgrade chart error

* fix: address comments

* fix: package lock

* fix: bump typescript version
2019-08-06 10:41:37 -07:00
Daniel Vaz Gaspar
8db419fe99 [database] Fix, Removes the limit for the page size (#7987)
Old FAB API had no limits by default, this will keep this behaviour
but only for this endpoint
2019-08-05 22:52:43 -07:00
Daniel Vaz Gaspar
0c817e5fa9 Bump FAB to 2.1.8 (#7986) 2019-08-05 22:52:17 -07:00
John Bodley
fdb62e9865 [flake8] Ignoring I202 (#7988) 2019-08-05 15:01:33 -07:00
Erik Ritter
d58dbad076 [DB Engine] Support old and new Presto syntax (#7977) 2019-08-05 11:56:56 -07:00
John Bodley
f7af50c399 [security] Adding docstrings and type hints (#7952) 2019-08-05 11:24:13 -07:00
Ville Brofeldt
b856666ae2 Remove collation info from MSSQL column type (#7963) 2019-08-05 17:08:58 +03:00
Ville Brofeldt
a1261d7f9a Bump sqlparse to 0.3.0 (#7973)
* Black

* Bump sqlparse to 0.3.0

* Convert str.format() to f-string
2019-08-05 17:08:05 +03:00
Beto Dealmeida
b8ca0783ff Fix for new Pandas API (#7975) 2019-08-02 15:28:39 -07:00
Gianluca Ciccarelli
e23920b8ba 7620: Start removing dependencies on requests (#7643)
* 7620: Start removing dependencies on requests

* Patch urllib.request.urlopen instead of requests.get

* Try to fix flake8

* More work on flake8 import errors

* First attempt at using urllib with cookies

* Fix pylint/flake8

* Fix test_deliver_slice_csv_attachment

* Fix test_deliver_slice_csv_inline

* Import requests and pydruid conditionally, remove dependency on prison

* Fix flake errors

* Fix load_examples

* Please flake

* Skip tests depending on optional deps

* Try to please flake

* Address review comments

* Remove Druid-related UI

* Revert "Remove Druid-related UI"

This reverts commit d7e0f166cc3f3dd2496b4a666e177f0c191aeb0f.

* Skip a few tests more

* Put imports in right order

* Apply black patch

* Please flake

* Please black, silence flake

* Use flake8 silencing the right way

* Add deps for CI
2019-08-02 10:01:28 -07:00
Ville Brofeldt
cbac428b28 Bump python requirements file (#7965)
* Bump requirements.txt

* Cap gunicorn to <19.9.0 due to X-Forwarded-Proto regression

* Remove python-dotenv from requirements-dev.txt

* Cap sqlparse due to regression in 0.3.0
2019-08-01 13:41:07 -07:00
Ville Brofeldt
1f121183fb Use python3 for black to support py>=3.6 (#7964) 2019-08-01 18:06:43 +03:00
Beto Dealmeida
a09f258379 Fix createDatasource (#7955) 2019-08-01 11:01:46 +03:00
Beto Dealmeida
10f00cdde3 [fix] Isolate and improve performance on tagging system (#7858)
* Fix tag perf

* Add ASF header

* Make script idempotent

* Add CLI to sync tags

* Add missing file

* Merge heads

* Fix lint

* Remove script
2019-07-31 09:19:39 -07:00
John Bodley
9b7261f101 Update .travis.yml (#7943) 2019-07-30 07:45:25 -07:00
Erik Ritter
dcef5a25b1 Bump nvd3 chart plugin (#7932) 2019-07-29 16:56:03 -07:00
Tom Hunter
b7b517a102 [fix] bug on FixedOrMetricControl component causing issues with deck.gl polygon height + deck.gl scatter radius controls (#7924)
* [WIP] bug fix for FixedOrMetricControl not rendering

* Updated value preview and type selection

* fix metric control not on setting polygon elevation data

* Updated layout of FoM comp

* linting fixes

* linting fix pt. 2

* linting fix pt. 3

* fix scatter tooltip to work with metric control

* Fixed tests
2019-07-29 16:53:52 -07:00
Grace Guo
06d547fbac [feature flag] Enforce csrf protection on explore_json endpoint (#7935)
also added a section for featured flags in http://superset.incubator.apache.org/installation.html
2019-07-29 16:22:47 -07:00
Sayed Mohammad Hossein Torabi
d37b7cdce8 fixing error related to install codecove in travis (#7940) 2019-07-29 11:18:12 -07:00
John Bodley
af462fe79f [revert] Partial revert of #7888 (#7933) 2019-07-29 09:19:21 -07:00
Daniel Vaz Gaspar
994ac04c1f [cli] New, command line option to create or set a db URI (#7918)
* [cli] New, command line option to create or set a db URI

* [tests] New, get or create db on utils

* [tests] flake8 and black

* [tests] Fix, remove dummy comments

* [cli] dummy commit to re-trigger build

* [cli] dummy commit to re-trigger build
2019-07-27 17:43:39 -07:00
Maxime Beauchemin
5f98d661f8 Fix #7130 - SQL Lab table name autocomplete (#7926) 2019-07-27 17:42:41 -07:00
Daniel Vaz Gaspar
54875756bb [log] Disable Log view when FAB security views are disabled (#7920)
* [log] Disable Log view when FAB security views are disabled

* [tests] New, config flag SUPERSET_LOG_VIEW to have more control

* [tests] Fix, flake8

* [log] Fix, pylint

* [log] Fix, pylint at log module

* [log] Fix, pylint at log module

* [log] Fix, black
2019-07-27 17:42:10 -07:00
Daniel Vaz Gaspar
eb891dc5b8 [sqllab] Fix, #7928 query async not working (#7930)
* [sqllab] Fix, #7928 query async not working

* [sqllab] Fix, allow_ctas and allow_multi_schema_metadata_fetch missing

* [sqllab] Fix, removed column selection on database selector

* [sqllab] Fix, removed config
2019-07-27 09:26:03 -07:00
Maxime Beauchemin
f1d566a90c Fixing the build after travis upgraded Ubuntu (#7931)
* Fixing the build after travis upgraded Ubuntu

It seems Travis has been updated/ing its build environment to Ubuntu
16.04 from Ubuntu 14 in the past few days. This broke a bunch of things
on our side.

* postgres -> postgresql

* Fix java

* Try openjdk8

* Fix, license check oracle and python

* Fix, license check oracle and python v2

* Fix, license check oracle and python v3

* Fix, license check oracle and python v4

* dummy commit, just to trigger the build
2019-07-27 08:33:03 -07:00
Grace Guo
df9efa8ed9 [dashboard] fix chart showing loading icon when filter updated immuned fields (#7895) 2019-07-25 10:37:44 -07:00
Erik Ritter
51b34e4751 [Profile] Fix 5xx when user not found (#7864) 2019-07-24 09:16:05 -07:00
Ville Brofeldt
72d1011023 [sqllab] Fix limit parsing bug when using limit-offset comma notation (#7912)
* Fix limit parsing bug when using limit-offset comma notation

* Use native sqlparse semantics to find limit

* black
2019-07-24 08:18:39 +03:00
Ville Brofeldt
07a76f83b1 [Bugfix] Remove prequery properties from query_obj (#7896)
* Create query_obj for every filter

* Deprecate is_prequery and prequeries from query_obj

* Fix tests

* Fix typos and remove redundant ; from sql

* Add typing to namedtuples and move all query str logic to one place

* Fix unit test
2019-07-23 22:13:58 +03:00
Maxim Sukharev
2221445f44 Fix incorrect datasource_name in dashboard export (#7892)
The bug was introduced in #7773

It uses filter by `cls.table_name == datasource_name`:
https://github.com/apache/incubator-superset/pull/7773/files#diff-a8dd5ec8d8decda2e3c5571d1ec0cdb6R740

But export puts `slc.datasource.name` into exported json:
https://github.com/apache/incubator-superset/pull/7773/files#diff-ceeb7eee8d573333109e0037299c9711L673

`slc.datasource.name` in case of `SqlaTable` is `"{}.{}".format(self.schema, self.table_name)`
2019-07-22 22:31:47 -07:00
Maxim Sukharev
648f9fa54b Set owner to dashboards and charts on import (#7894)
* Allow to pass user for dashboard import cli

Dashboard import assign current user from flask context during import.
But in case of cli import there is no flask user and imported charts
don't have an owner which prevents ability to edit them.

* Reset ownership on dashboard import

For overriding existing charts it requires `owners` property to be set.

* Add tests for reset ownership

* Use ORM to decode dashboards json

Creating instances using ORM allows to normally work with relations

* Fix test_import_dashboard_1_slice test

Previously tests used side-effect of slices import which kept id from
json on insert into db.
2019-07-22 22:30:28 -07:00
Daniel Vaz Gaspar
b65ab51b63 [api] [database] New, migrate to new FAB API side by side (#7665)
* [api] [database] New, migrate to new FAB API side by side

* [database] view and api module reorganization

* [style] Fix, flake8

* [test] [database] Fix, tests for new database view structure

* [style] [database] black

* [database] Fix, missing apache license

* Migrate databaasync api to the new api

* flake8

* More efficient api call

* Revert querySearch to old API, test

* dummy commit

* revert config.py commit

* Remove unused import

* Remove old API view

* Remove new API view

* Add database filter

* Add database filter

* Add database filter

* Remove comments on js

* Fix JS test

* Fix pylint

* QuerySearch new databaseasync API endpoint

* Fix, query search new api endpoint

* Reintroduce old API for smooth side by side migration

* Better naming and use common hooks for view and API

* black it

* Fix, database mixin must come first

* Fix, lint
2019-07-22 21:25:16 -07:00
Grace Guo
9dd6a385e6 [migration] add unique constraint on dashboard_slices table (#7880)
1. remove duplicated entries in many-to-many relation tbl dashboard_slices
2. add unique constraint on tbl
3. update the model to include the uniqueness constraint
2019-07-22 16:48:41 -07:00
Erik Ritter
92eed8a529 Bump nvd3 charts for responsive y axis fix (#7915) 2019-07-22 14:47:47 -07:00
Erik Ritter
7a1dcaae8a [SQL Lab] Fix TableSelector perf for large option sets (#7868) 2019-07-22 14:39:12 -07:00
Arpit
ee3430cce5 [Bugfix] Response header and response mismatch on explore result from sqllab (#7907)
* fix(sql-lab explore):   fixed response data and header type to be aligned

* fix(sql-lab explore):   fixed test error caused by incorrect test at master

* fix(sql-lab explore):   reformatted

* fix(sql-lab explore):   removed unused import
2019-07-22 08:47:34 +03:00
Ville Brofeldt
4568b2a532 Add cache_key_wrapper to Jinja template processor (#7816) 2019-07-20 09:12:35 -07:00
Grace Guo
f570b459f2 [test] Fix test data remove slice_name (#7898)
* [text] Fix test data remove slice_name

* fix review comment
2019-07-19 15:36:19 -07:00
John Bodley
ccedbea506 [fix] Adding space after -- for SQL comments (#7897) 2019-07-18 13:17:26 -07:00
Bruno Santos
fce11665f4 Fix missing gevent extra dependency in Docker setup (#7744)
* Fix missing `gevent` extra dependency in Docker setup

* Add missing ASF header
2019-07-18 13:13:08 -07:00
John Bodley
2b3e7fe4de [sqla] Adding check for invalid filter columns (#7888) 2019-07-18 08:51:41 -07:00
Maxim Sukharev
174a48ab55 Sort dashboards exported json (#7883)
It makes easier to review changes in dashboards and use git diff
2019-07-17 22:23:04 -07:00
Maxim Sukharev
b512502d72 Remove unnecessary fields from dashboard exported json (#7879)
* Remove unnecessary fields from dashboard exported json

This commit makes export respect export_fields and doesn't export
unnecessary relations (like users with passwords hashes) which are
ignored during the import.

* Allow to import dashboard without position_json

In case charts were added from chart-edit page and wasn't re-ordered on
the dashboard position_json field is empty and import was failing with
error.

* Update export/import tests
2019-07-17 22:22:10 -07:00
TheLastSultan
a993da6628 Corrected ISO codes on India Country Map (#7882) 2019-07-17 22:14:56 -07:00
Maxime Beauchemin
32f33f2a4d [sql lab] improve TableElement controls (#7881)
* [sql lab] improve TableElement controls

Making TableElement (table metadata shown in left panel in SQL Lab) show
controls only on hover, and use caret to expand/collapse

* Lint
2019-07-17 22:14:15 -07:00
Maxime Beauchemin
d65b039219 Improve examples & related tests (#7773)
* [WiP] improve load_examples

related to #7472, longer term we will generate the examples by exporting
them into tarball as in #7472. In the meantime, we need this subset of
the features:

* allowing specifying an alternate database connection for examples
* allowing a --only-metadata flag to `load_examples` to load only
  dashboard and chart definitions, no actual data is loaded

* Improve logging

* Rename data->examples

* Load only if not exist

* By default do not load, add a force flag

* fix build

* set published to true
2019-07-16 21:36:56 -07:00
michellethomas
86fdceb236 Avoid removing custom sql adhoc metric when columns change (#7877)
* Avoid removing custom sql adhoc metric when columns change

* Add tests to confirm sql metric does not get removed
2019-07-16 16:23:12 -07:00
Ali Bahjati
a36c136f4a Fix docker configurations and docker installation guide. (#7827)
* Add Auto option to point radius to make it work as expected since the example using this didn't work because of this (and also as the tooltip says the auto option should be available)

* Remove trailing space

* Fix docker configurations and docker installation guide.
- Fix installation guide regarding passing enviromental variable to docker-compose.
- Add gevent installation command in Dockerfile. (Didn't add it in requirements because it's not really a requirement for the whole project)
- Add user: root:root to allow superset service to work in development mode. Since access to binded superset directory to local requires root user.
- Also add localhost to postgres and redis services to reduce unintended security risk.

* Fix docker configurations and docker installation guide.
- Fix installation guide regarding passing enviromental variable to docker-compose.
- Add gevent installation command in Dockerfile. (Didn't add it in requirements because it's not really a requirement for the whole project)
- Add user: root:root to allow superset service to work in development mode. Since access to binded superset directory to local requires root user.
- Also add localhost to postgres and redis services to reduce unintended security risk.
2019-07-16 14:00:46 -07:00
Michał Misiewicz
9b8bfbbe7f DruidEngineSpec: set allows_subquery to True (#7863) 2019-07-16 13:59:39 -07:00
Tom Hunter
a27b8b7638 fix: add check to re-render only if underlying layers change (#7878) 2019-07-16 09:25:36 -07:00
Rahul Rahul
b99a3a193b bug fix for all_database_access() call (#7875) 2019-07-15 21:31:28 -07:00
Daniel Vaz Gaspar
78d46fa18d [docs] Advise about celery 4.3.0 requirement on redis (#7872) 2019-07-15 10:22:20 -07:00
Grace Guo
eed99b13a2 [cypress] Disable chromeWebSecurity globally (#7853) 2019-07-14 22:59:59 -07:00
Ville Brofeldt
f53acd84a7 Bump pandas to 0.24 (#7852) 2019-07-14 08:38:11 -07:00
Tom Hunter
1197d25c3c [wip] fix: multi deck.gl bug fixes (pt 2) (#7866)
* fix: update polygon example data to work with multi deck.gl 

- both "point_radius_fixed" and "multiplier" attributes were not set during load_examples so these charts were failing when viewing as a multi deck.gl chart

* fix: unify deck.gl getLayers api to fix multi deck.gl tooltips

- various deck.gl layers implemented getLayers slightly differently which caused issues with generating default tooltips when the layers are viewed in a multi deck.gl chart

* fix: cleanup formData variable in scatter chart for consistency

* linting fix + polygon regression fix

* additional linting fixes
2019-07-13 14:25:04 -07:00
John Bodley
fc8268b086 Update tox.ini (#7867) 2019-07-12 16:20:01 -07:00
Rob DiCiuccio
df051813d5 Adds the ability to replace/extend caching backend (#7856)
* Add ability to override cache backend with custom module

* Tests for setup_cache

* Add custom CACHE_CONFIG documentation

* Fix linter errors and documentation link

* Fix black formatting errors
2019-07-12 14:06:56 -07:00
Tom Hunter
7946165e6e fix: multi deck.gl bug fixes (#7854)
* fix: multi deck.gl viewport frozen

add onViewportChange method to handle changes to the viewport

* fix: add max_radius to deck.gl scatter example

- causes multi deck.gl to fail to render scatter without max_radius attribute
2019-07-12 11:33:15 -07:00
Maxime Beauchemin
87f50ba0d8 Make SHOW_STACKTRACE config apply across the board (#7845) 2019-07-12 08:58:44 -07:00
Daniel Vaz Gaspar
5ebc5a69d9 [celery] Bump celery to 4.3.0 (#7848)
* [celery] Bump celery to 4.3.0

* re-triggering CI

* re-trigger CI

* Bump redis to 3.2.1
2019-07-12 08:41:58 -07:00
1AB9502
9eccae3b4f Update down_revision to fix migrations (#7850) 2019-07-11 12:32:34 -07:00
Beto Dealmeida
a0ad18c8ba Quick fix (#7843) 2019-07-11 10:50:32 -07:00
Tresdon Jones
97ffb762d0 Add "Published" feature to dashboards (#4725)
* Allow users to publish dashboards

* Rework publish dashboards feature

- The eye next to the title has been replaced with a [draft] badge
- Published status is now toggled in the Header Action Dropdown
- CRUD list shows published status

* Fix linter errors

* Update javascript tests

* Add tests and change DashboardFilter

Add some tests to make sure the published status is rendered and
Make it so that users cannot see dashboards that are published
if they don't have access to any of the slices within

* Fix some linter errors

* Remove commas from core.py

* Fix some failing tests

* More linter errors I introduced

* Fix more linter errors I introduced

* update alembic migration

* Update design of publish dash feature

* Upgrade migration version

* Secure publish endpoint

* Remove bad quotes

* Give publish span its own style

* fix publish rendering

* Add new test for publish feature

* Update migration

* update slug in test

* Update migration

* Address reviwer comments

* Fix linter errors

* Add licenses

* Remove fetchPublished(), use bootstrap data

* Update migration

* Update croniter to existing version

* Fix linter errors

* Upgrade DB Revisions

* Fix flake8 linter error

* Set all dashboards to published on migration

* Migration proper line spacing

* Fix migration to work with postgres

* UPDATE statement works with postgresql and sqlite hopefully

* Update wording to kick off travis
2019-07-10 23:14:13 -07:00
John Bodley
8d81c3049a Update requirements.txt (#7835) 2019-07-09 08:29:26 -07:00
Taylor Miller
8c9b4b5cf5 * hacky string coercion to fix bug in cli datasource export (#7728) 2019-07-08 21:10:45 -07:00
Thoralf Gutierrez
953e5c7a72 Refactor testconn to use get_sqla_engine (#7717)
Creating the database connection will actually go through the get_sqla_engine path so that's what should be used to test the connection. This was triggered by realizing that testconn was not using the DB_CONNECTION_MUTATOR hook.

See #7668
2019-07-08 21:09:06 -07:00
michellethomas
51ff0e168d Updating superset-ui/legacy-preset-chart-nvd3 to 0.10.35 (#7837) 2019-07-08 17:43:21 -07:00
Maxime Beauchemin
16b6ccace9 Set up a few more pre-commit hook (#7830) 2019-07-08 09:38:36 -07:00
Daniel Vaz Gaspar
1ab04190cd [log] New, make action log configurable and generic (#7705)
* [log] New, make action log configurable and generic

* [log] Fix, missing apache license

* [log] Fix, user_id is a required parameter on event logs

* [log] Fix, Rename Action to Event

* [log] Fix, flake8

* [logger] Change all log_this decorators to new abstract one

* [logger] [docs] Simple docs to show how to override the event log

* [style] Fix, single quote to double quote

* [style] Fix, single quote to double quote
2019-07-08 09:38:12 -07:00
Daniel Vaz Gaspar
f5839c413e Bump FAB to 2.1.6 (#7832) 2019-07-08 09:33:40 -07:00
Maxime Beauchemin
d08efd39d3 Add missing 'babies.png' image (#7817) 2019-07-04 13:23:48 -07:00
Maxime Beauchemin
ab8af536b0 Fixing the examples (#7376)
Fixing a few failing examples, examples were referencing metrics that
were getting auto-generated in the past (like `sum__num`),
that we now prevent from getting created.
2019-07-04 13:23:02 -07:00
Marcelo Novaes
39f83b5490 Add source{d} to user list in README.md (#7821) 2019-07-04 21:26:18 +03:00
Maxime Beauchemin
5c7a50c104 Improvements related to ASF release process (#7539)
* [WiP] Improvements related to ASF release process

* Removing translation binaries (.mo)
* Working on 2 docker files to help package and validate releases
  * Dockerfile.from_tarball: takes a VERSION as input, downloads
    official source release fro svn and bakes it into a functional
    docker image that can be validated
  * Dockerfile.make_tarball: helps a maintainer to package and sign a
    release candidate or release

* Address COPYRIGHT + LICENSE issues

(cherry picked from commit 5ae2836b25)

* Add Roboto font to LICENSE, remove glyphicons files

(cherry picked from commit 9615f39f7a556afe217b4e3288c9116f8ffaab91)

* remove unused LICENSE entries

* Change babytux to open image in birth dashboard

(cherry picked from commit 2776d11893596a029b8af37b96fd6ce1a9f12059)

* Improve instructions

* Docker tweaks

(cherry picked from commit df6e6462458ea8cff1482c142921b20f5607ad8e)

* Include image
2019-07-03 22:33:14 -07:00
Maxime Beauchemin
08b4a1735a fix: unicode word cloud example (#7747)
closes #7339
2019-07-03 22:32:30 -07:00
Daniel Serkowski
8c17c19279 Added possibility to translate the phrase 'No results found' in FilterBox (#7796) 2019-07-03 21:52:34 -07:00
Maxim Sukharev
2fa071a3ac fix: Better error message for dashboard import (#7621)
Common mistake is trying to import dashboard without creating
datasources first. Currently it causes error 500 with a message

> sqlalchemy.orm.exc.NoResultFound: No row was found for one()

which is difficult to understand.

This commit catches NoResultFound error and returns human readable error
using flash('danger').

Ref: #2992
2019-07-03 21:52:00 -07:00
Grace Guo
9b8996038e [dashboard] Fix URLShortLinkButton position after click anchor link (#7812) 2019-07-03 15:05:51 -07:00
John Bodley
9dac805e7e [schema] Deprecating the table_columns.database_expression column (#7653) 2019-07-03 14:05:59 -07:00
Ville Brofeldt
346638a339 Add second and minute grains (#7810) 2019-07-03 23:04:34 +03:00
Ville Brofeldt
0125ba40ef Improve documentation (#7813)
* Improve documentation and add type annotations for jinja context

* Fix linting errors

* Move requirements to correct place and remove redundant line change

* Make example query more ANSI SQL
2019-07-03 19:54:03 +03:00
John Bodley
6d7701e684 [fix] Updating Pandas resample logic (#7799) 2019-07-02 11:10:50 -07:00
Marcus
56eac687f8 Add Table List Refresh Button (#7502)
* Keep Search button because previously it disappeared + formatting.

* more stylistic consistency.

* more reliable event listener

* revert auto-formatting
2019-07-01 18:29:12 -07:00
John Bodley
ffa7c617ad [travis] Adding Black tox environment (#7809) 2019-07-01 18:05:15 -07:00
Yongjie Zhao
459276f00d [Viz] transpose pivot table (#7325) 2019-07-01 15:44:01 -07:00
Jesus EKIE
3b2ac20396 Update messages.json (#7435) 2019-07-01 15:28:11 -07:00
Kim Truong
963dce6421 Autocomplete in the table browser in SQL lab is broken - Fix part 2 (#7770)
* fix: table autocomplete and update unit tests

* fix: linting issues

* fix: disable tests properly

* empty commit

* fix: align structure across fe and be
2019-07-01 12:44:46 -07:00
John Bodley
e0d040c377 [fix] Handling of non-existent datasource (#7755) 2019-07-01 11:55:25 -07:00
Erik Ritter
15426febbe Improve performance for add slice container (#7791) 2019-07-01 10:55:12 -07:00
Chris
d1158d6f4b add new user (#7801) 2019-07-01 10:53:36 -07:00
Beto Dealmeida
34ca2aefbe Truncate data that is expanded (#7777)
* Truncate data that is expanded

* Fix object check

* Small optimizations
2019-07-01 10:36:40 -07:00
Erik Ritter
fc6a53eda9 [SQL Lab] Add hard time limit fallback for async queries (#7783) 2019-07-01 10:02:37 -07:00
Christopher Guan
61281d1836 Fix SQL editor tooltip to not cut off long column names (#7788) 2019-06-28 12:07:01 -07:00
Rahul Rahul
4740086bd7 Change kv content-type to text/plain (#7467)
* Change kv content-type to text/plain

* use single quote to fix linter errors
2019-06-28 18:24:11 +03:00
michellethomas
d27fbd6718 Updating legacy-plugin-chart-heatmap to fix an issue with heatmap (#7787) 2019-06-27 15:33:38 -07:00
Kim Truong
5994e432d4 feat: query based on all partitions (#7782)
* feat: query based on all partitions

* fix: address Beto's comments
2019-06-27 11:19:55 -07:00
Ville Brofeldt
ebb7fbc5f0 bugfix: Oracle timegrains fail to render when wrapped in outer query (#7767)
* Add check if TimegrainExpression col is None

* Clean up TimestampExpression proxying logic

* Remove redundant optionality from init
2019-06-26 08:56:19 +03:00
John Bodley
5c58fd1802 [format] Using Black (#7769) 2019-06-25 13:34:48 -07:00
John Bodley
0c9e6d0985 [testconn] Fixing response (#7753) 2019-06-24 23:07:41 -07:00
Rahul Rahul
d06b77c3fd Show generic error msg and hide stacktrace if feature flag is enabled (#7764)
* Show generic error msg and hide stacktrace if feature flag is enabled

* SHOW_STACKTRACE should not modify msg
2019-06-24 21:11:04 -07:00
Maxime Beauchemin
859d6e7c6a chore: taking db dependencies out of requirements-dev.txt (#7605)
* chore: taking db dependencies out of requirements-dev.txt

The deps on mysqlclient and psycopg2

* Fix unit tests

* fix tox.ini

* fix tests
2019-06-23 22:37:41 -07:00
Ville Brofeldt
1df4fa26c2 Fix deck.gl sample charts with js (#7749)
* Fix js_data_mutator

* Remove redundant line change

* Add missing line changes
2019-06-23 15:53:26 -07:00
jiten-github
9c0c16c71b fix(filterbox): fixed runtime exception in filterbox for allow multiple selection is false (#7011) 2019-06-23 14:22:07 -07:00
Ville Brofeldt
1c4092c61c Add csv upload support for BigQuery (#7756)
* Add extra_require for bigquery to setup.py

* Refactor df_to_db and add df upload capability for BigQuery

* Fix unit tests and clarify kwarg logic

* Fix flake8 errors

* Add minimum versions for bigquery dependencies

* wrap to_gbq in try-catch block and raise error if pandas-gbq is missing

* Fix linting error and make error more generic
2019-06-23 14:20:09 -07:00
Daniel Vaz Gaspar
90d156f186 [security] [ui] Make security views use superset's list widget (#7724) 2019-06-21 14:25:48 -07:00
Daniel Vaz Gaspar
f09c916879 Bump FAB to 2.1.5 (#7750) 2019-06-21 19:43:10 +03:00
Erik Ritter
0d248fe630 [SQL Lab] Add JSON modal when clicking on cells with JSON objects (#7720) 2019-06-21 09:12:09 -07:00
Beto Dealmeida
9abcdccf96 [fix] Force refresh table list broken (#7745) 2019-06-20 21:50:36 -07:00
Kim Truong
17c4b72183 Revert "Autocomplete in the table browser in SQL lab is broken (#7736)" (#7743)
* Revert "Autocomplete in the table browser in SQL lab is broken (#7736)"

This reverts commit d1b81e04ac.

* Kick off build
2019-06-20 19:47:39 -07:00
Kim Truong
d1b81e04ac Autocomplete in the table browser in SQL lab is broken (#7736)
* fix: explicitly provide value and label strings

* fix: spacing
2019-06-19 16:59:39 -07:00
Ville Brofeldt
43ea51b701 compile column names (#7646) 2019-06-19 21:48:45 +03:00
Erik Ritter
cddce63cad [SQL Lab] Polish side pane animation (#7722) 2019-06-19 10:44:06 -07:00
michellethomas
7a575ce20a Fixing time comparison to look for past deltas (#7616)
* Fixing time comparison to look for past deltas

* Adding note to updating about time_compare
2019-06-19 10:10:18 -07:00
Ville Brofeldt
437ca09f94 Bump sqla to 1.3.5 (#7729) 2019-06-19 09:50:10 -07:00
michellethomas
5864ddc079 Allowing withVerification to remove all options if none are valid (#7652) 2019-06-18 14:06:05 -07:00
Maxime Beauchemin
f278faa8be css: add margin-top to ResultSet (#7679) 2019-06-17 22:57:40 -07:00
Erik Ritter
0b1a875708 [CSV Upload] Fix Index Column input filter (#7723) 2019-06-17 22:34:29 -07:00
Grace Guo
925b8dbb90 [dashboard] fix nested tab component visible logic (#7700) 2019-06-14 13:39:48 -07:00
Daniel Vaz Gaspar
b6ab691ebd [docker] Fix docker-init missing FLASK_APP (#7709) 2019-06-14 09:02:11 -07:00
Erik Ritter
0d122431b2 Update @superset-ui/legacy-preset-chart-nvd3 (#7701) 2019-06-13 10:58:09 -07:00
Daniel Vaz Gaspar
4b1452e15a [docs] Fix, flask fab cli does not need app parameter (#7696) 2019-06-13 09:34:52 -07:00
Erik Ritter
2a453e1878 [SQL Lab] Fix proptypes warning (#7691) 2019-06-12 21:54:47 -07:00
Beto Dealmeida
5cf06331fe Render columns dynamically on wide tables (#7693)
* Use grid for wide tables

* WIP

* Fix CSS issues

* Add unit test

* Add constant

* Improve ref

* Remove wrong refs; no longer need extra height

* Revert number of columns
2019-06-12 10:09:04 -07:00
Kate
f3181ca6dc Add Intercom to Superset users (#7687)
Add Intercom in the list of organisations that use Superset.
2019-06-12 09:18:22 -07:00
CoryChaplin
4e3975e229 Adding 6play as users (#7688) 2019-06-12 09:17:17 -07:00
John Bodley
8d6257afcd [epoch] Remove non-UTC epoch logic (#7667) 2019-06-11 22:34:53 -07:00
John Bodley
541db94133 Update index.rst (#7672) 2019-06-11 09:46:27 -07:00
John Bodley
49390b3232 Revert "Allow bigint to be used as time column in Presto" #7670 (#7678) 2019-06-10 16:10:20 -07:00
John Bodley
c6179b195f [connectors] Make cluster/database and datasource/table unselectable in CRUD view (#7073) 2019-06-10 10:25:13 -07:00
Marcus
f486f435b4 adding command for seeing changes reflected. (#7598) 2019-06-09 19:13:43 -07:00
Daniel Vaz Gaspar
6eb60ed89d Bump FAB to 2.1.4 (#7478)
* Bump FAB to 2.1.0

* Bump FAB to 2.1.1

* Bump FAB to 2.1.2

* Test revert to 2.1.1

* again to 2.1.2

* Bump FAB to 2.1.4
2019-06-09 18:25:31 -07:00
Evan Rusackas
514c308bcf Fixed SQL Lab Query Search scrolling issue(#7526) (#7674) 2019-06-09 16:05:43 -07:00
Ville Brofeldt
95291facff Break up db_engine_specs (#7676)
* Refactor db_engine_specs into package

* Rename bigquery class and add epoch funcs

* Fix flake8 errors

* Dynamically load all engine specs

* Fix linting errors and unit tests

* Implement Snowflake epoch time funcs

* Implement Teradata epoch time func

* Fix presto datasource query and remove unused import

* Fix broken datasource query

* Add mypy ignore for false positive

* Add missing license files

* Make create_time_grains_tuple public

* Fix flake8 quote

* Fix incorrect licence header
2019-06-08 11:27:13 -07:00
Thoralf Gutierrez
f3e5805b92 Remove duplicate paragraph in celery tasks documentation (#7392) 2019-06-08 09:20:49 -07:00
Ville Brofeldt
38abf4e073 Add epoch funcs for BigQuery (#7567) 2019-06-07 20:01:58 -07:00
Erik Ritter
f7812a3f27 [SQL Lab] Clarify SQL Lab query and display limits (#7641) 2019-06-07 17:16:38 -07:00
Grace Guo
f3091c525e [dashboard] pass dashboard filters to share chart url in dropdown (#7642) 2019-06-07 15:22:56 -07:00
Grace Guo
39d67cbc59 [SQL Lab] Show warning when user used up localStorage (#7572) 2019-06-07 14:27:57 -07:00
Derek Flionis
883a02ae19 docs: Add Tenable to the List of Users (#7610) 2019-06-07 08:28:39 -07:00
Rahul Rahul
2793bdd294 Apply DashboardFilter to the dashboards in SliceModeView (#7475)
* Apply dashboardFilter to dashboards

* added missing comma
2019-06-06 23:20:42 -07:00
1AB9502
271612cfec Add new escape characters to OnPasteSelect (#7638)
* Add new escape characters to OnPasteSelect

* Add Unit Tests to onPasteSelect_spec

* Update new line to tab escape character

* Fix indentation in 2 cases
2019-06-06 22:24:50 -07:00
Daniel Vaz Gaspar
de9f61e934 [docs] Fix, deprecate fabmanager cli (#7660) 2019-06-06 22:15:00 -07:00
Kim Truong
d62c37b895 Revert "Boxplot should not require a datetime column (#5096)" (#7655)
This reverts commit 1ae000a262.
2019-06-05 15:05:26 -07:00
Enrico Berti
1cd0e7f3f4 [SQL Lab] CTAS now uses the right async configuration (#7175)
Closes #6224
2019-06-04 22:59:36 -07:00
Erik Ritter
25da4c773b [Profile] Fix react gravitar size prop type warning (#7647) 2019-06-04 22:46:05 -07:00
Derek Flionis
5470d10155 Add Filter on DatabaseView that filters DBs Based on Role Access (#7618)
* Add Filter on DatabaseView that filters DBs Based on Role Access

* Update with mistercrunch's feedback
2019-06-04 22:37:22 -07:00
Grace Guo
f99ae1ad24 [dashboard] click tab anchor link (#7640) 2019-06-03 16:57:21 -07:00
Beto Dealmeida
ddd7f8fb17 Fix colors in ellipsis (#7632)
* Fix colors in ellipsis

* Change method name to align with convention

* Fix js lint
2019-06-03 15:40:36 -07:00
michellethomas
6d1f6e9df9 Adding codecov targets and thresholds (#7433)
* Adding codecov targets and thresholds

* Changing diff coverage rules to 1% threshold

* Changing codecov threshold to 0 and removing ignore
2019-06-03 15:26:42 -07:00
John Bodley
45b41aadcc [fix] SQL parsing of table names (#7490) 2019-06-03 11:07:57 -07:00
Jim Horng
78c1674dc7 make filter_values() macro to properly accept value from filter box with single value setting (#7494) 2019-06-03 09:54:07 -07:00
Maxime Beauchemin
45b9880516 fix: SqlaColumn.type overflow on mysql (#7606)
* fix: SqlaColumn.type overflow on mysql

Hitting a new error when loading examples around a datatype that exceeds
the 32 chars limit on SqlaColumn.type

Type includes the 'COLLATE utf8mb4_general_ci' suffix which is too
verbose and not needed in that context.

* fix tests
2019-06-03 09:52:25 -07:00
Daniel Vaz Gaspar
7dd66358f6 [query] Fix, remove not possible to order columns (#7636) 2019-06-02 12:10:59 -07:00
Charles S. Givre
257c100c59 Fixed Time Grain and Added Drill to README (#7635)
* Fixed Time Grain and Added Drill to README

* Capitalization Fix
2019-06-02 16:13:59 +03:00
Maxime Beauchemin
1dc17f357c fix: address issue #7458 (#7593) 2019-06-01 13:33:06 -07:00
Maxime Beauchemin
eb4293654e [FAB] set AppBuilder to update_perms=False (#7561)
* [FAB] set AppBuilder to update_perms=False

Upon start, by default, FAB tries to go and update the permission list
in the database based on the list of views, models and menu items that
exist in the code.

Really this should happen once per deployment/upgrade and
not in module scope, so we have `superset init` for this.

The intent was always to set to False by default, but I think we forgot
to add this flag back in
https://github.com/apache/incubator-superset/pull/7323

* Add superset init to tox
2019-06-01 10:19:49 -07:00
Maxime Beauchemin
4b5931f637 Alternative fix for #7559 (#7575)
* Alternative fix for #7559

Just an idea...

* logging
2019-06-01 09:21:35 -07:00
Maxime Beauchemin
687f205508 Wrapping up #7130 (#7633)
* [SQL Lab] Adds autocomplete on table names and auto-add to schema browser

Closes #7059

* Wrapping up #7130

For more details see #7130, this PR addresses the merge conflicts.
2019-06-01 09:02:42 -07:00
Erik Ritter
722043c672 Allow trailing spaces in simple filter values (#7617) 2019-05-31 17:06:41 -07:00
John Bodley
15d0361148 [requirements] Bumping pydruid version (#7622) 2019-05-31 16:28:40 -07:00
Erik Ritter
5895d8c8e1 [SQL Lab] Prevent failed query error from disappearing (#7624) 2019-05-31 15:27:08 -07:00
Grace Guo
5701629d95 [SQL Lab] Old query showing success state but not showing results (#7628) 2019-05-31 15:26:41 -07:00
John Bodley
c82a7f42e1 Update bug_report.md (#7583) 2019-05-31 13:47:30 -07:00
Kim Truong
9acafd5b75 fix: handle presto columns with whitespace (#7630) 2019-05-31 13:38:05 -07:00
Kim Truong
d2967340d9 View Presto row and array objects clearly in the data grid (#7625)
* feat: rough check in for Presto rows and arrays

* fix: presto arrays

* fix: return selected and expanded columns

* fix: add helper methods and unit tests

* fix: only allow exploration of selected columns

* fix: address Beto's comments and add more unit tests
2019-05-31 11:25:07 -07:00
Beto Dealmeida
d408e30594 Show expanded columns in gray in SQL Editor (#7627)
* Show expanded columns in gray

* Remove payload mocking

* Remove empty line

* Safety fallback if expanded_columns is not in the payload

* Fix typo
2019-05-31 10:17:13 -07:00
Ville Brofeldt
c1712e5d10 Add relative start param for time filters (#7525)
* Add relative start param for time filters

* Fix typo and add types to parse_human_datetime

* Add relative start/end to query_object

* Fix linting error
2019-05-31 16:55:26 +03:00
Grace Guo
dbdb6b093a [SQL Lab] fix unnecessary offline action (#7594) 2019-05-30 10:38:49 -07:00
Erik Ritter
145d72c52b Fix SQL Lab window resizing layout bug (#7615) 2019-05-30 10:37:24 -07:00
Ville Brofeldt
34407e8962 Make timestamp expression native SQLAlchemy element (#7131)
* Add native sqla component for time expressions

* Add unit tests and remove old tests

* Remove redundant _grains_dict method

* Clarify time_grain logic

* Add docstrings and typing

* Fix flake8 errors

* Add missing typings

* Rename to TimestampExpression

* Remove redundant tests

* Fix broken reference to db.database_name due to refactor
2019-05-30 08:28:37 +03:00
Charles S. Givre
fc3b043462 Add support for Apache Drill (#6610)
* Add support for Apache Drill

* Updated Docs

* Removed Extraneous Functions

* Removed Extraneous Functions

* Final Mods

* Fixed Unit Test Error

* Fixed Epoch Conversion Functions
2019-05-28 21:16:09 -07:00
Maxime Beauchemin
fd5befee38 Bump python libs, address insecure releases (#7550)
* Bump python libs, address insecure releases

Using
https://requires.io/github/mistercrunch/superset/requirements/?branch=apache_release_improv
to identify insecure, old releases we're using and bumping.

* redis <3.0

* fix new flakes
2019-05-28 21:03:49 -07:00
Ali Bahjati
2a2f395e94 Add "Auto" option to Mapbox visualization point radius (#7579)
* Add Auto option to point radius to make it work as expected since the example using this didn't work because of this (and also as the tooltip says the auto option should be available)

* Remove trailing space
2019-05-28 17:07:40 -07:00
Luca Toscano
b21f8ec804 Remove the use of Pandas' iloc() in WorldMapViz (#7379)
When the same metric is used in a World Map panel for both bubble size
and an axis (either X or Y), it currently breaks the rendering.

The change in behavior was introduced in:
71e0c07904 (diff-f451672348fc6071e8d627778bdc4e96L1730)

The use of .iloc() is not needed anymore since the code that used
to duplicate the metric is not there anymore.

Should fix #7006
2019-05-28 14:19:04 -07:00
Ville Brofeldt
f7d3413a50 Add support for period character in table names (#7453)
* Move schema name handling in table names from frontend to backend

* Rename all_schema_names to get_all_schema_names

* Fix js errors

* Fix additional js linting errors

* Refactor datasource getters and fix linting errors

* Update js unit tests

* Add python unit test for get_table_names method

* Add python unit test for get_table_names method

* Fix js linting error
2019-05-26 06:13:16 +03:00
michellethomas
47ba2ad394 Remove aggregates from metric options if datasource has no columns (#7586) 2019-05-24 11:10:35 -07:00
Grace Guo
20143293eb [sql lab]revert #4833 (#7498) 2019-05-23 17:39:40 -07:00
TheLastSultan
e4f8444f82 add American Express to list of users on readme (#7576) 2019-05-23 17:32:16 -07:00
Beto Dealmeida
265e117a4a Add link to scheduled pipeline (#7584)
* Add link to scheduled pipeline

* Split utils into separate file

* Fix unit test

* Fix separator recursion
2019-05-23 11:22:15 -07:00
Beto Dealmeida
f68f979052 Fix for polling queries (#7559)
* Fix for polling queries

* Revert changes due to https://github.com/apache/incubator-superset/pull/7575
2019-05-23 09:17:00 -07:00
Beto Dealmeida
9c8f494c9d A few improvements to scheduling queries (#7585)
* Better message for scheduling queries

* Only allow scheduling after success

* Ask for query name and description

* Use CSS instead of <br />
2019-05-23 09:15:04 -07:00
michellethomas
421183d3f4 Adding controls for verifying options (#7468)
* Creating withVerification HOC

* Updating to use componentDidMount and componentDidUpdate and adding propTypes

* Adding tests to withVerification

* Adding documentation to withVerification
2019-05-22 16:39:01 -07:00
John Bodley
e5739fbbd2 [testconn] Explicit closing engine connection (#7570) 2019-05-22 09:42:03 -07:00
John Bodley
6b9790c8b1 [ad-hoc] Fixing type for count distinct (#7573) 2019-05-22 09:41:25 -07:00
Grace Guo
efb085ad03 [cypress] fix accessing a cross-origin frame error (#7552) 2019-05-21 16:02:46 -07:00
Maxime Beauchemin
551fe926cf Add dotenv to dependencies (#7330) 2019-05-21 13:21:05 -07:00
Axel Mathéi
1ae000a262 Boxplot should not require a datetime column (#5096)
See https://github.com/apache/incubator-superset/issues/2222
2019-05-20 22:14:23 -07:00
Daniel Vaz Gaspar
74704f68c7 [security] New, deprecate merge_perm, FAB method is fixed (#7355)
* [security] New, deprecate merge_perm, FAB method is fixed

* [style] Fix, flakes

* [tests] Fix, change merge_perm to add_permission_view_menu

* [security] Fix, maintain merge_perm for compatibility

* [security] New, deprecation warning on merge_perm method

* [style] Fix, flake8 C812
2019-05-20 17:30:00 -07:00
Russell Jurney
023faf3b56 Rjurney master docs update (#7426)
* resolved conflict

* Docs updated re: Anaconda/certifi issue re #7373

* Removed --console-log "not working" note

* A note about Anaconda virtualenvs

* Make anaconda comment fit on page

* Added README to docker directory

* Added install doc reference to master copy of contrib/docker/README.md

* merged master, removed mysqlclient

* Removed mysql dependency, Anaconda and --console-log references

* Add cypress install command to cypress test instructions

* Fixed cypress instructions re: port 8081

* Removed anaconda reference, runserver references

* Remove anaconda reference

* Added back a self-contained version of mysqlclient to dev requirements

* Added ASF license to docker README.md
2019-05-20 17:06:08 -07:00
Maxime Beauchemin
1fdc96a381 Disabling flask-talisman by default (#7535)
flask-talisman was enabled recently and while it may be virtuous in some
cases, it seems to break things out of the box.

Locally and in dev mode, upon my first redirect it sends to HTTPS and
things it crashes.

I think it should be opt-in, maybe we can recommend turning this on in
production in the docs?
2019-05-20 16:58:36 -07:00
Kim Truong
c79077d85d feat: add header tooltip (#7556)
* feat: add header tooltip (#7531)
2019-05-20 12:04:42 -07:00
Beto Dealmeida
dcafabd183 Show scheduled queries (#7545)
* Show scheduled queries

* Remove column

* Secure views

* Add import

* Fix unit tests

* Reuse existing db connection from view

* Remove unnecessary import
2019-05-17 17:31:02 -07:00
Beto Dealmeida
f0f719cb8d Validate start/end when scheduling queries (#7544)
* Validate start/end when scheduling queries

* Use chrono instead of Sugar
2019-05-17 17:30:13 -07:00
Craig Rueda
21a467094b Talisman config (#7529)
* Making Talisman configurable

* Fixing double quotes

* Fixing flake8

* Removing default
2019-05-16 22:55:59 -05:00
Grace Guo
7f858e4566 [sql lab] Fix new query stuck at pending state (#7523) 2019-05-16 15:22:23 -07:00
Alex Berghage
9423e9a8be chore: Truncate progressbar percentage decimals (#7499) (#7517) (#7519)
This change makes the query progress bar only show
whole number percentage changes, instead of numbers
like 12.13168276%.
2019-05-15 15:33:30 -07:00
Alex Berghage
156b0aaa07 feat: Live query validation in the SQL Lab UI (#7461) (#7516) (#7518)
* [WIP] Live query validation, where supported

This builds on #7422 to build check-as-you-type sql
query validation in Sql Lab. This closes #6707 too.

It adds a (debounced) call to the validate_sql_json
API endpoint with the querytext, and on Lyft infra is
able to return feedback to the user (end to end) in
$TBD seconds.

At present feedback is provided only through the
"annotations" mechanism build in to ACE, although
I'd be open to adding full text elsewhere on the
page if there's interest.

* fix: Unbreak lints and tests
2019-05-15 15:32:40 -07:00
Conglei
fda1002654 fix: cache issue for api/v1/query (#7507) 2019-05-14 14:21:05 -07:00
Felix Ouk
5243182129 Change Visual Properties tab label to Customize (#7506) 2019-05-14 10:57:28 -07:00
Felix Ouk
a4d18e70ca Flatten legacy preset charts (#7500)
* Flatten MapChartPreset, HierarchyChartPreset, and CommonChartPreset charts into LegacyChartPreset class

* Rename LegacyChartPreset class to MainPreset to reflect new chart preset hierarchy
2019-05-14 10:30:15 -07:00
John Bodley
a4392c8fcd [security] Adding Flask-Talisman (#7443) 2019-05-13 17:08:24 -07:00
Maxime Beauchemin
d8be0a7dd5 Break line before LIMIT statement to prevent trailing comment issue (#7485)
* Break line before LIMIT statement to prevent trailing comment issue

This may not be a perfect solution but it addresses the issue in 7483

closes https://github.com/apache/incubator-superset/issues/7483

* fix tests
2019-05-13 00:34:34 -05:00
cscainiao
4377328e39 Add Chinese translation (#7481)
* add chinese translate

* edit chinese translation

* Add Chinese translation

* Revised Chinese translation

* restore .json
2019-05-11 21:48:43 -07:00
Luca Toscano
51fd43a47b druid connector: avoid using 'dimensions' for scan queries (#7377)
After the following PyDruid change (contained in version 0.5.2)
the Superset Histogram charts rendered with Druid data are
broken:

druid-io/pydruid@0a59a70

Bump the pydruid requirements accordingly in setup.py

Issue: apache#7368
2019-05-09 00:25:34 -05:00
cscainiao
f59ed026e4 Revised Chinese translation (#7464)
* add chinese translate

* edit chinese translation
2019-05-08 14:34:59 -07:00
Beto Dealmeida
ef13500d1a Refactor ConsoleLog (#7428) 2019-05-08 13:05:01 -07:00
Kim Truong
ca48f32a07 fix: alter sql columns to long text #7463 (#7476)
Merge lyft-release-sp8@7bfe7bc to master
2019-05-08 10:30:43 -07:00
Grace Guo
6b8bda6096 [dashboard] After update filter, trigger new queries when charts are visible (#7233)
* trigger query when chart is visible

* add integration test
2019-05-07 23:41:18 -07:00
Ville Brofeldt
959c35d506 bugfix: Improve support for special characters in schema and table names (#7297)
* Bugfix to SQL Lab to support tables and schemas with characters that require quoting

* Remove debugging prints

* Add uri encoding to secondary tables call

* Quote schema names for presto

* Quote selected_schema on Snowflake, MySQL and Hive

* Remove redundant parens

* Add python unit tests

* Add js unit test

* Fix flake8 linting error
2019-05-08 00:37:44 -05:00
Maxime Beauchemin
a3f091263a fix: calendar heatmap examples (#7375)
Fixing a set of examples that trip on ValueError vs TypeError
2019-05-08 00:35:14 -05:00
Maxime Beauchemin
e2be0221b7 Late import for optional lib pyhive (#7471)
* Late import for optional lib pyhive

* fix
2019-05-07 19:16:27 -05:00
Russell Jurney
f3d8e8a424 Adds missing metric sum__SP_RUR_TOTL (#7452) 2019-05-07 10:46:27 -05:00
Alex Berghage
24970485cf feat: Add validate_sql_json endpoint for checking that a given sql query is valid for the chosen database (#7422) (#7462)
merge from lyft-release-sp8 to master
2019-05-06 10:21:02 -07:00
Dave Smith
5cf454b464 feat: Scheduling queries from SQL Lab (#7416) (#7446)
* Merge lastest from master into lyft-release-sp8 (#7405)

* filter out all nan series (#7313)

* improve not rich tooltip (#7345)

* Create issue_label_bot.yaml (#7341)

* fix: do not save colors without a color scheme (#7347)

* [wtforms] Strip leading/trailing whitespace (#7084)

* [schema] Updating the datasources schema (#5451)

* limit tables/views returned if schema is not provided (#7358)

* limit tables/views returned if schema is not provided

* fix typo

* improve code performance

* handle the case when table name or view name does not present a schema

* Add type anno (#7342)

* Updated local dev instructions to include missing step

* First pass at type annotations

* [schema] Updating the base column schema (#5452)

* Update 937d04c16b64_update_datasources.py (#7361)

* Feature flag for client cache (#7348)

* Feature flag for client cache

* Fix integration test

* Revert "Fix integration test"

This reverts commit 58434ab98a.

* Feature flag for client cache

* Fix integration tests

* Add feature flag to config.py

* Add another feature check

* Fix more integration tests

* Fix raw HTML in SliceAdder (#7338)

* remove backendSync.json (#7331)

* [bubbles] issue when using duplicated metrics (#7087)

* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04 (#7359)

* SUPERSET-8: Update text in docs copyright footer (#7360)

* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04

* SUPERSET-8: Extra text in docs copyright footer

* [schema] Adding commits and removing unnecessary foreign-key definitions (#7371)

*  Store last selected dashboard in sessionStorage (#7181)

* Store last selected dashboard in sessionStorage

* Fix tests

* [schema] Updating the base metric schema (#5453)

* Fix NoneType bug & fill the test recipients with original recipients if empty (#7365)

* feat: see Presto row and array data types (#7391)

* feat: see Presto row and array data types

* fix: address PR comments

* fix: lint and build issues

* fix: add types

* Incorporate feedback from initial PR (prematurely merged to lyft-release-sp8) (#7415)

* add stronger type hints where possible

* fix: lint issues and add select_star func in Hive

* add missing pkg init

* fix: build issues

* fix: pylint issues

* fix: use logging instead of print

* feat: view presto row objects in data grid

* fix: address feedback

* fix: spacing

* Workaround for no results returned (#7442)

* feat: view presto row objects in data grid (#7436)

* feat: view presto row objects in data grid

* fix: address feedback

* fix: spacing

* feat: Scheduling queries from SQL Lab (#7416)

* Lightweight pipelines POC

* Add docs

* Minor fixes

* Remove Lyft URL

* Use enum

* Minor fix

* Fix unit tests

* Mark props as required
2019-05-03 16:45:19 -07:00
Kim Truong
88e6ec992c feat: view presto row objects in data grid (#7445)
* Merge lastest from master into lyft-release-sp8 (#7405)

* filter out all nan series (#7313)

* improve not rich tooltip (#7345)

* Create issue_label_bot.yaml (#7341)

* fix: do not save colors without a color scheme (#7347)

* [wtforms] Strip leading/trailing whitespace (#7084)

* [schema] Updating the datasources schema (#5451)

* limit tables/views returned if schema is not provided (#7358)

* limit tables/views returned if schema is not provided

* fix typo

* improve code performance

* handle the case when table name or view name does not present a schema

* Add type anno (#7342)

* Updated local dev instructions to include missing step

* First pass at type annotations

* [schema] Updating the base column schema (#5452)

* Update 937d04c16b64_update_datasources.py (#7361)

* Feature flag for client cache (#7348)

* Feature flag for client cache

* Fix integration test

* Revert "Fix integration test"

This reverts commit 58434ab98a.

* Feature flag for client cache

* Fix integration tests

* Add feature flag to config.py

* Add another feature check

* Fix more integration tests

* Fix raw HTML in SliceAdder (#7338)

* remove backendSync.json (#7331)

* [bubbles] issue when using duplicated metrics (#7087)

* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04 (#7359)

* SUPERSET-8: Update text in docs copyright footer (#7360)

* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04

* SUPERSET-8: Extra text in docs copyright footer

* [schema] Adding commits and removing unnecessary foreign-key definitions (#7371)

*  Store last selected dashboard in sessionStorage (#7181)

* Store last selected dashboard in sessionStorage

* Fix tests

* [schema] Updating the base metric schema (#5453)

* Fix NoneType bug & fill the test recipients with original recipients if empty (#7365)

* feat: see Presto row and array data types (#7391)

* feat: see Presto row and array data types

* fix: address PR comments

* fix: lint and build issues

* fix: add types

* Incorporate feedback from initial PR (prematurely merged to lyft-release-sp8) (#7415)

* add stronger type hints where possible

* fix: lint issues and add select_star func in Hive

* add missing pkg init

* fix: build issues

* fix: pylint issues

* fix: use logging instead of print

* feat: view presto row objects in data grid

* fix: address feedback

* fix: spacing
2019-05-03 16:29:57 -07:00
Craig Rueda
c8bb7e0fe4 Quick fix to address deadlock issue (#7434) 2019-05-02 12:45:15 -07:00
cscainiao
598526a8a1 add chinese translate (#7402) 2019-05-01 22:36:25 -07:00
John Bodley
fb627ba376 [fix] Fixing SQL parsing issue (#7374) 2019-05-01 22:07:01 -07:00
Anne E. Ulrich
ee78fd7b3d Added additional German translations to string file (#6604)
* Added additional German translations to string file

Updates to German translation files as per directions

* Removed messages.json
2019-05-01 21:05:30 -07:00
Russell Jurney
f6ebd789bf Fixes dashboard export button missing download and #7353 (#7427) 2019-05-01 21:04:28 -07:00
Russell Jurney
70be44afe1 Removed --console-log and superset runserver (#7421) 2019-05-01 20:46:39 -07:00
Dave Smith
a6aabf8268 feature: see Presto row and array data types (#7413)
* Merge lastest from master into lyft-release-sp8 (#7405)

* filter out all nan series (#7313)

* improve not rich tooltip (#7345)

* Create issue_label_bot.yaml (#7341)

* fix: do not save colors without a color scheme (#7347)

* [wtforms] Strip leading/trailing whitespace (#7084)

* [schema] Updating the datasources schema (#5451)

* limit tables/views returned if schema is not provided (#7358)

* limit tables/views returned if schema is not provided

* fix typo

* improve code performance

* handle the case when table name or view name does not present a schema

* Add type anno (#7342)

* Updated local dev instructions to include missing step

* First pass at type annotations

* [schema] Updating the base column schema (#5452)

* Update 937d04c16b64_update_datasources.py (#7361)

* Feature flag for client cache (#7348)

* Feature flag for client cache

* Fix integration test

* Revert "Fix integration test"

This reverts commit 58434ab98a.

* Feature flag for client cache

* Fix integration tests

* Add feature flag to config.py

* Add another feature check

* Fix more integration tests

* Fix raw HTML in SliceAdder (#7338)

* remove backendSync.json (#7331)

* [bubbles] issue when using duplicated metrics (#7087)

* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04 (#7359)

* SUPERSET-8: Update text in docs copyright footer (#7360)

* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04

* SUPERSET-8: Extra text in docs copyright footer

* [schema] Adding commits and removing unnecessary foreign-key definitions (#7371)

*  Store last selected dashboard in sessionStorage (#7181)

* Store last selected dashboard in sessionStorage

* Fix tests

* [schema] Updating the base metric schema (#5453)

* Fix NoneType bug & fill the test recipients with original recipients if empty (#7365)

* feat: see Presto row and array data types (#7391)

* feat: see Presto row and array data types

* fix: address PR comments

* fix: lint and build issues

* fix: add types

* add stronger type hints where possible

* fix: lint issues and add select_star func in Hive

* add missing pkg init

* fix: build issues

* fix: pylint issues

* fix: use logging instead of print
2019-05-01 09:17:34 -07:00
Maxime Beauchemin
46579b1bd6 Refactor out controlUtils.js module + unit tests (#7350)
* [WiP]refactor out a controlUtils.js file

* unit tests

* add missing license

* Addressing comments
2019-04-30 11:45:06 -07:00
michellethomas
8703244198 Setting renderTrigger on label_colors (#7410) 2019-04-30 11:26:13 -07:00
Daniel Vaz Gaspar
f504568088 [annotations] Improves UX on annotation validation, start_dttm, end_dttm (#7326) 2019-04-30 09:08:07 -07:00
Daniel Vaz Gaspar
06c4610e8e Bump FAB to 2.0.0 (#7323)
* Bump FAB to 2.0.0

* [tests] whitelist SecurityApi login and refresh endpoints

* [style] Fix, C812 missing trailing commas

* [security] Remove SUPERSET_UPDATE_PERMS flag

Registering sources needs to be performed after the views are
initialized on UPDATE_PERMS=False configuration

* [docs] New, FAB_UPDATE_PERMS and flask fab cli

* [docs] Fix, db upgrade needs to come first, create-admin needs a db

* [cli] New, superset init bootstraps all permissions for FAB and Superset

* [style] Fix, flakes
2019-04-30 09:01:18 -07:00
Grace Guo
11408d0189 [SQL Lab] Increase timeout threshold for offline check (#7411) 2019-04-30 00:56:44 -07:00
Grace Guo
9e703f399b [dashboard] allow user re-order top-level tabs (#7390) 2019-04-30 00:40:35 -07:00
Kiplangat Victor
ca2996c78f Added living goods as among the users of Superset (#7407)
* Added living goods as among the users of Superset

Living Goods is a non profit organisation with operation in africa and the middle east. We work in community health use data heavily on day to day. Superset is our platform of choice for dashboards.

* Update README.md
2019-04-29 17:25:55 -07:00
ImPerat0R_
4fe152d156 Fix NoneType bug & fill the test recipients with original recipients if empty (#7365) 2019-04-24 22:36:10 -07:00
Maxime Beauchemin
929fb6bbb8 Merge branch 'lyftga' 2019-04-24 21:55:12 -07:00
John Bodley
f488a3281d [schema] Updating the base metric schema (#5453) 2019-04-24 21:50:14 -07:00
leakingoxide
f83b979342 Store last selected dashboard in sessionStorage (#7181)
* Store last selected dashboard in sessionStorage

* Fix tests
2019-04-24 14:43:13 -07:00
John Bodley
3a359fd892 [schema] Adding commits and removing unnecessary foreign-key definitions (#7371) 2019-04-24 12:33:33 -07:00
Andrew Musselman
7bc8355b75 SUPERSET-8: Update text in docs copyright footer (#7360)
* SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04

* SUPERSET-8: Extra text in docs copyright footer
2019-04-24 12:31:47 -07:00
Andrew Musselman
e8af852e67 SUPERSET-7: Docker compose config version breaks on Ubuntu 16.04 (#7359) 2019-04-24 11:47:07 -07:00
Maxime Beauchemin
e61a8ee6bf [bubbles] issue when using duplicated metrics (#7087) 2019-04-24 10:35:55 -07:00
Krist Wongsuphasawat
778812419b remove backendSync.json (#7331) 2019-04-24 10:35:13 -07:00
Maxime Beauchemin
fef5b5efb0 Fix raw HTML in SliceAdder (#7338) 2019-04-24 10:34:24 -07:00
Beto Dealmeida
cb7c8063f3 Feature flag for client cache (#7348)
* Feature flag for client cache

* Fix integration test

* Revert "Fix integration test"

This reverts commit 58434ab98a.

* Feature flag for client cache

* Fix integration tests

* Add feature flag to config.py

* Add another feature check

* Fix more integration tests
2019-04-23 20:03:57 -07:00
John Bodley
f58e7b204e Update 937d04c16b64_update_datasources.py (#7361) 2019-04-23 18:34:41 -07:00
John Bodley
1388452169 [schema] Updating the base column schema (#5452) 2019-04-23 18:06:21 -07:00
Craig Rueda
48b2af471c Add type anno (#7342)
* Updated local dev instructions to include missing step

* First pass at type annotations
2019-04-23 16:37:52 -07:00
Thomas Wang
4bc69c0a61 limit tables/views returned if schema is not provided (#7358)
* limit tables/views returned if schema is not provided

* fix typo

* improve code performance

* handle the case when table name or view name does not present a schema
2019-04-23 13:51:46 -07:00
John Bodley
621cef7048 [schema] Updating the datasources schema (#5451) 2019-04-23 13:22:29 -07:00
John Bodley
cf87173c21 [wtforms] Strip leading/trailing whitespace (#7084) 2019-04-23 12:04:50 -07:00
Kim Truong
5f14b559e2 fix: do not save colors without a color scheme (#7347) 2019-04-22 15:46:24 -07:00
Hamel Husain
845218dd88 Create issue_label_bot.yaml (#7341) 2019-04-22 14:11:35 -07:00
Thomas Wang
8fd7d4b670 improve not rich tooltip (#7345) 2019-04-22 11:53:08 -07:00
Maxime Beauchemin
36a219da7f Allow Gamma and Alpha to access '/users/userinfo/' (#6936)
* Allow Gamma and Alpha to access '/users/userinfo/'

closes https://github.com/apache/incubator-superset/issues/4919

* Fix unit test

* Fix test
2019-04-22 11:23:54 -07:00
Maxime Beauchemin
aa1d9ae303 [table] highlight selected <td>s (#7013) 2019-04-22 10:40:12 -07:00
Connor Hogendorn
0ea8291b77 fixes #6353 by changing tag on base image (#7335) 2019-04-20 13:17:52 -07:00
Maxime Beauchemin
5db20e3545 Fix #7056 'Unhashable type' in paired t-test chart (#7076) 2019-04-20 10:26:37 -07:00
Maxime Beauchemin
eb9295d97f [docs] improve the RELEASING.md docs (#7329)
* [docs] improve the RELEASING.md docs

* more tweaks
2019-04-20 10:26:01 -07:00
Thomas Wang
7192d36513 filter out all nan series (#7313) 2019-04-19 08:59:19 -07:00
Maxime Beauchemin
5f28027ce7 Merging lyftga into master 2019-04-18 22:47:47 -07:00
leakingoxide
07d9dbd963 fix: typos in translations placeholders (#7161) 2019-04-18 15:14:44 -07:00
Maxime Beauchemin
97718daea3 Fix control validation handling (#7231)
Fixes a series of unexpected things around control validation.

* when a chart opens in a state where a control is invalid, it still
  runs the query, and sometimes gets stuck in what appears to be a 'running'
  state. After this change, no query is run, and a warning is displayed
  in the chart panel body, just like any other error would
* validation used to be done in the <Control> component and alter the
  redux store as it went. Clearly this is not the right approach, now
  validation occurs on loading the initial redux state, as well as in
  the reducer when controls are changed
* currently, when going from a invalid control state to a valid one
  (user addresses what is needed), it auto-triggers a query which can be
  unexpected. After this change, the error message disappears, and the
  "Run Query" overlay gets displayed
* when changing viz type, it's common to get new validation
  errors, and currently when that occurs it will still go ahead and run
  a query with invalid inputs, which often results in errors
  that are not well handled, since much of the logic
  assumes control-validated input.
* prettier control validation messages

(cherry picked from commit a3212eba5df95bca834d8d6d98c11d522d9172f3)
2019-04-18 11:36:38 -07:00
michellethomas
51068f007e Adding permission for can_only_access_owned_queries (#7234)
* Adding permission for can_only_access_owned_queries

* Fixing lint adding typing to variable

* Adding test for queryview and enabling /queryview/api/read

* Fixing issues with python typing
2019-04-17 16:11:11 -07:00
Kim Truong
81a1e5322b fix: propagate color mapping from dashboard to charts (#7289)
* fix: propagate color map from dashboard to chart

* fix: handle cache scenario

* fix: give default values
2019-04-17 15:36:59 -07:00
Maxime Beauchemin
38dd33e979 Remove LICENSE entry around dataset (#7318) 2019-04-17 14:12:33 -07:00
Krist Wongsuphasawat
ab8f4afff7 feat: bump superset-ui versions to 0.11 (#7294)
* feat: bump superset-ui versions to 0.11

* fix: update version number again

* fix: package-lock.json

* test: disable large number test

* fix: revert cors
2019-04-17 14:10:54 -07:00
Maxime Beauchemin
3d08266714 [load_examples] download data at runtime (#7314)
* [load_examples] download data at runtime

When running `superset load_examples` to load example data sets,
Superset used to load from the local package. This created a few issues
notably around licensing (what are these datasets licensed as?) and
around package size.

For now, I moved the data sets here:
https://github.com/apache-superset/examples-data

Altered the logic to download the data from where it is stored.

* flakes
2019-04-17 13:19:14 -07:00
michellethomas
9341995803 fix: time series table (#7302) (#7312)
* fix: time series table

* fix: add default value for label

* fix: use prop values if defined

* fix: revert CollectionControl changes

(cherry picked from commit 5dab983fd8)
2019-04-17 12:37:45 -07:00
Fan Donglai
7aa6c4e9ca Update AceEditorWrapper.jsx (#7315)
THEN is also a keyword in SQL
2019-04-17 08:11:21 -07:00
Daniel Vaz Gaspar
1ffd3b1161 [slice] Fix, remove duplicate label_columns property (#7113) 2019-04-17 08:10:47 -07:00
Kim Truong
5dab983fd8 fix: time series table (#7302)
* fix: time series table

* fix: add default value for label

* fix: use prop values if defined

* fix: revert CollectionControl changes
2019-04-16 10:33:12 -07:00
Kim Truong
154f6abf97 Revert "bugfix: improve 'Time Table' (#6959)" (#7304)
This reverts commit 9b4f5ad8e1.
2019-04-16 10:32:43 -07:00
Maxime Beauchemin
d253c5ca0f Add details to release instructions (#7296) 2019-04-15 12:48:51 -07:00
Maxime Beauchemin
9dfa80d5c8 Add all database access permission to 'Alpha' role (#7271)
* Add all database access permission to 'Alpha' role

* Grant all database access to Alpha
2019-04-15 09:22:54 -07:00
Kim Truong
0f1702b88e chore: update legacy packages (#7293) 2019-04-12 16:43:28 -07:00
Maxime Beauchemin
b1ebfbc577 Bump nvd3 dep and 'npm audit fix' (#7292) 2019-04-12 09:55:54 -07:00
Maxime Beauchemin
9b4f5ad8e1 bugfix: improve 'Time Table' (#6959)
* [WiP] debugging and improving 'Time Table'

closes https://github.com/apache/incubator-superset/issues/6948

* Lint

* Remove passing down props from CollectionControl

* Declarative passthrough of props

* remove console.error
2019-04-11 23:36:48 -07:00
Maxime Beauchemin
14647fc2ed Minor improvements to <Hotkeys /> component (#7261)
* left align, close to button it's related to
* text-muted, so it's a bit more subtle
* fix required func props, where no func it actually passed
2019-04-11 23:08:38 -07:00
Yongjie Zhao
763db8fd76 Improve code smell, use py3k super() call (#7100) 2019-04-11 21:48:35 -07:00
Krist Wongsuphasawat
80070d0eaf fix: make the bot more descriptive (#7279) 2019-04-10 11:02:10 -07:00
Krist Wongsuphasawat
f9db605e0d fix: make SIPs exempt from stale bots (#7278)
* fix: make SIPs exempt from stale bots

* update pr template
2019-04-10 09:24:45 -07:00
Maxime Beauchemin
0c3e46f8ae Deprecate npm run backend-sync and related logic (#7211) 2019-04-10 08:46:05 -07:00
Krist Wongsuphasawat
6c38cb1a09 chore: add bot config files and update issue templates (#7249)
* chore: add bot config files and update issue templates

* fix: exclude SIP
2019-04-09 22:45:58 -07:00
Maxime Beauchemin
b225507bca Run 'npm audit fix' to address vulnerabilities (#7263) 2019-04-09 22:45:42 -07:00
Kim Truong
65cc0e513c chore: update big number package (#7268) 2019-04-09 20:52:39 -07:00
Beto Dealmeida
9856800cee Do not add tag to non-saved objects (#7266) 2019-04-09 20:51:42 -07:00
Maxime Beauchemin
79dbb3f1fe [SQL Lab] fix table metadata loading spinner (#7121)
* [SQL Lab] fix table metadata loading spinner

The loading spinner used to be close to the new table name that was just
added, and recently flickers and disappears early.

This puts the spinner where it's expected to be.

* Use class

* Addressing comments

* adapt CSS

* add missing license
2019-04-09 20:51:35 -07:00
Beto Dealmeida
e505e326b2 Revert "Fix issues around Database permissions (#7009)" (#7267)
This reverts commit f5274a9c7f.
2019-04-09 20:39:24 -07:00
Beto Dealmeida
984b04d1e5 Add extra bucket when max outside range (#7264) 2019-04-09 19:35:13 -07:00
Beto Dealmeida
05afe1b8c2 Bump pydruid to 0.5.2 (#7260) 2019-04-09 17:39:24 -07:00
Grace Guo
1104aca5bd update migration Revision for #6945 (#7258) 2019-04-09 17:38:12 -07:00
Beto Dealmeida
078a9774ce Pass viz type to GET requests (#7255)
* Pass viz type to GET requests

* Fix integration tests
2019-04-09 16:54:37 -07:00
Kim Truong
2a67e8e457 fix: Handle rendering a single point (#7256)
* fix: Handle rendering a single point

* fix: typo
2019-04-09 15:46:47 -07:00
Grace Guo
c50e6bc981 feat(dashboard): direct link to single chart/tab/header in dashboard (#6964)
* direct display for pre-selected tab

* update parents

* add AnchorLink component

* add unit tests
2019-04-09 15:42:46 -07:00
Grace Guo
139f299ab3 add parent ids into Dashboard layout metadata (#6945) 2019-04-09 15:41:57 -07:00
John Bodley
92166399da [cache] Render label when cached (#7164) 2019-04-09 15:00:35 -07:00
Maxime Beauchemin
149b31d296 fix: Remove ASF license from github templates (PR and issues) (#7217)
* Remove ASF license from github templates (PR and issues)

It shows as people open issues and PRs and it's confusing...

* add to rat-excludes
2019-04-09 13:18:30 -07:00
Beto Dealmeida
7c80cf58eb Fix refresh frequency (#7248)
* Fix refresh frequency

* Fix unit tests
2019-04-09 11:22:28 -07:00
Beto Dealmeida
51472e9035 Improve cache (#7227)
* Improve cache

* Improve code, add docs

* Simplify flow

* Update docstring
2019-04-09 11:05:44 -07:00
Beto Dealmeida
51544212b6 Add link to documentation (#7251) 2019-04-09 09:40:19 -07:00
Beto Dealmeida
821860ea7d Fix partition query in Presto (#7250) 2019-04-09 08:44:44 -07:00
Maxime Beauchemin
5192270f26 Fix logo / branding files (#7105)
* Fix logo / branding files

SVG was busted in the branding folder. Files were partly corrupt.

This takes back the original logo, and offers a with-Apache and
without-Apache option. SVG renders nicely. The pngs are also bigger.

* add ASF license
2019-04-08 23:49:02 -07:00
Beto Dealmeida
23ef41ffaa Fix spinning in Welcome page (#7247) 2019-04-08 16:43:56 -07:00
Thomas Wang
ad7cc01922 increment version numbers (#7245)
* increment version numbers

* increment version numbers

* increment nvd3
2019-04-08 15:45:39 -07:00
Maxime Beauchemin
442cfc692a Tweaks to word cloud controls (#7212) 2019-04-08 15:31:21 -07:00
michellethomas
5ef2712e16 [filter_box] allow empty filters list (#7220) (#7244)
in some cases, people want a time filter only on filter box, without
specifying dimensions (filters), this allows that

(cherry picked from commit e39b169949)
2019-04-08 15:08:47 -07:00
michellethomas
52473c5d34 Fix race condition when fetching results in SQL Lab (#7198) (#7242)
* Fix race condition when fetching results in SQL Lab

* Fix lint

(cherry picked from commit ca6a73b028)
2019-04-08 15:08:32 -07:00
Beto Dealmeida
c6876f7829 Fix for tagging backend (#7240) 2019-04-08 11:06:45 -07:00
Thomas Wang
74bdc3248a increment version number for nvd3 (#7232)
* increment version number for nvd3

* fix: update package-lock.json

* fix: update package-lock.json

* remove package-lock.json created by accident
2019-04-04 23:05:14 -07:00
Maxime Beauchemin
e39b169949 [filter_box] allow empty filters list (#7220)
in some cases, people want a time filter only on filter box, without
specifying dimensions (filters), this allows that
2019-04-04 22:17:35 -07:00
Kim Truong
b4915caa6e fix: give a more accurate time (#7221) 2019-04-04 12:57:57 -07:00
Beto Dealmeida
43874b3750 Fix time grain after revert (#7228) 2019-04-03 21:16:23 -07:00
Kim Truong
a875239259 fix: add check for polygon tooltips (#7226) 2019-04-03 18:44:03 -07:00
Beto Dealmeida
4ab89dbcf7 Celery task for warming up cache (#7148)
* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Fix the white background shown in SQL editor on drag (#7021)

This PR sets the background-color css property on `.ace_scroller` instead of `.ace_content` to prevent the white background shown during resizing of the SQL editor before drag ends.

* Show tooltip with time frame (#6979)

* Fix time filter control (#6978)

* Enhancement of query context and object. (#6962)

* added more functionalities for query context and object.

* fixed cache logic

* added default value for groupby

* updated comments and removed print

(cherry picked from commit d5b9795f87)

* [fix] /superset/slice/id url is too long (#6989)


(cherry picked from commit 6a4d507ab6)

* [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027)


(cherry picked from commit cc58f0e661)

* feat: add ability to change font size in big number (#7003)

* Add ability to change font sizes in Big Number

* rename big number to header

* Add comment to clarify font size values

* Allow LIMIT to be specified in parameters (#7052)

* [fix] Cursor jumping when editing chart and dashboard titles (#7038)


(cherry picked from commit fc1770f7b7)

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145b1f)

* [db-engine-spec] Aligning Hive/Presto partition logic (#7007)


(cherry picked from commit 05be866117)

* [fix] explore chart from dashboard missed slice title (#7046)


(cherry picked from commit a6d48d4052)

* fix inaccurate data calculation with adata rolling and contribution (#7035)


(cherry picked from commit 0782e831cd)

* Adding warning message for sqllab save query (#7028)


(cherry picked from commit ead3d48133)

* [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)

* Update datasource.py

* Update datasource.py

(cherry picked from commit c771625f10)

* [csv-upload] Fixing message encoding (#6971)


(cherry picked from commit 48431ab5b9)

* [sql-parse] Fixing LIMIT exceptions (#6963)


(cherry picked from commit 3e076cb60b)

* Adding custom control overrides (#6956)

* Adding extraOverrides to line chart

* Updating extraOverrides to fit with more cases

* Moving extraOverrides to index.js

* Removing webpack-merge in package.json

* Fixing metrics control clearing metric

(cherry picked from commit e6194051f4)

* [sqlparse] Fixing table name extraction for ill-defined query (#7029)


(cherry picked from commit 07c340cf82)

* [missing values] Removing replacing missing values (#4905)


(cherry picked from commit 61add606ca)

* [SQL Lab] Improved query and results tabs rendering reliability (#7082)

closes #7080

(cherry picked from commit 9b58e9f492)

* Fix filter_box migration PR #6523 (#7066)

* Fix filter_box migration PR #6523

* Fix druid-related bug

(cherry picked from commit b210742ad2)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd2ec)

* [forms] Fix handling of NULLs

(cherry picked from commit e83a07d3df)

* handle null column_name in sqla and druid models

(cherry picked from commit 2ff721ae07)

* Use metric name instead of metric in filter box (#7106)


(cherry picked from commit 003364e74e)

* Bump python lib croniter to an existing version (#7132)

Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.

This PR bumps to a more recent existing version of the library

(cherry picked from commit 215ed392a1)

* Revert PR #6933 (#7162)

* Celery worker for warming up cache

* Remove testing changes

* Add documentation

* Fix lint

* WIP dashboard filters

* Use new cache so it works with dashboards

* Add more unit tests, fix old ones

* Fix flake8 and docs

* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145b1f)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd2ec)

* Celery worker for warming up cache

* Remove testing changes

* Add documentation

* Fix lint

* WIP dashboard filters

* Use new cache so it works with dashboards

* Add more unit tests, fix old ones

* Fix flake8 and docs

* Fix bad merge and pylint
2019-04-03 16:57:59 -07:00
Kim Truong
1132c3cbde feat: [lyftga] add tooltips to deck.gl viz types (#7206)
* Add tooltips to deck.gl viz types

* Handle text overflow

* Use .css file instead of .less

* fix: add tooltip component

* Add tooltips to deck.gl viz types

* Handle text overflow

* Use .css file instead of .less

* fix: add tooltip component

* fix: casing, types, and keys
2019-04-03 13:35:27 -07:00
Maxime Beauchemin
e714dc19fe Merge branch 'master' into lyftga 2019-04-03 13:31:34 -07:00
Maxime Beauchemin
e767e4d9ef Fix <Select> clearable (#7215)
closes https://github.com/apache/incubator-superset/issues/7213
related to
https://github.com/apache/incubator-superset/pull/6722#issuecomment-479366738
2019-04-03 13:25:49 -07:00
Beto Dealmeida
6998b1014a Allow bigint to be used as time column in Presto (#7218) 2019-04-03 12:43:39 -07:00
Beto Dealmeida
538776b470 Fetch charts with GET to benefit from browser cache and conditional requests (#7032)
* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Fix the white background shown in SQL editor on drag (#7021)

This PR sets the background-color css property on `.ace_scroller` instead of `.ace_content` to prevent the white background shown during resizing of the SQL editor before drag ends.

* Show tooltip with time frame (#6979)

* Fix time filter control (#6978)

* Enhancement of query context and object. (#6962)

* added more functionalities for query context and object.

* fixed cache logic

* added default value for groupby

* updated comments and removed print

(cherry picked from commit d5b9795f87)

* [fix] /superset/slice/id url is too long (#6989)


(cherry picked from commit 6a4d507ab6)

* [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027)


(cherry picked from commit cc58f0e661)

* feat: add ability to change font size in big number (#7003)

* Add ability to change font sizes in Big Number

* rename big number to header

* Add comment to clarify font size values

* Allow LIMIT to be specified in parameters (#7052)

* [fix] Cursor jumping when editing chart and dashboard titles (#7038)


(cherry picked from commit fc1770f7b7)

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145b1f)

* [db-engine-spec] Aligning Hive/Presto partition logic (#7007)


(cherry picked from commit 05be866117)

* [fix] explore chart from dashboard missed slice title (#7046)


(cherry picked from commit a6d48d4052)

* fix inaccurate data calculation with adata rolling and contribution (#7035)


(cherry picked from commit 0782e831cd)

* Adding warning message for sqllab save query (#7028)


(cherry picked from commit ead3d48133)

* [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)

* Update datasource.py

* Update datasource.py

(cherry picked from commit c771625f10)

* [csv-upload] Fixing message encoding (#6971)


(cherry picked from commit 48431ab5b9)

* [sql-parse] Fixing LIMIT exceptions (#6963)


(cherry picked from commit 3e076cb60b)

* Adding custom control overrides (#6956)

* Adding extraOverrides to line chart

* Updating extraOverrides to fit with more cases

* Moving extraOverrides to index.js

* Removing webpack-merge in package.json

* Fixing metrics control clearing metric

(cherry picked from commit e6194051f4)

* [sqlparse] Fixing table name extraction for ill-defined query (#7029)


(cherry picked from commit 07c340cf82)

* [missing values] Removing replacing missing values (#4905)


(cherry picked from commit 61add606ca)

* [SQL Lab] Improved query and results tabs rendering reliability (#7082)

closes #7080

(cherry picked from commit 9b58e9f492)

* Fix filter_box migration PR #6523 (#7066)

* Fix filter_box migration PR #6523

* Fix druid-related bug

(cherry picked from commit b210742ad2)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd2ec)

* [forms] Fix handling of NULLs

(cherry picked from commit e83a07d3df)

* handle null column_name in sqla and druid models

(cherry picked from commit 2ff721ae07)

* Use metric name instead of metric in filter box (#7106)


(cherry picked from commit 003364e74e)

* Bump python lib croniter to an existing version (#7132)

Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.

This PR bumps to a more recent existing version of the library

(cherry picked from commit 215ed392a1)

* Revert PR #6933 (#7162)

* Add decorator for etag cache

* Fetch charts with GET

* Small fixes

* Fix typo

* Compute correct cache key; fix logging

* Check perms on cached response

* Revert change

* If perms fail, return naked response

* Fix lint

* Compute cache key from all form data

* Pass extra_filters in GET request

* Fix pylint

* Fix flake8

* Use ETags even if no cache is set

* Handle adhoc filters

* Raise in debug mode

* Rename actions

* Fix integration tests

* Do POST request on new charts

* Set extra/adhoc filters only in GET requests

* Raise if check_perms fails

* Refactor auth

* Fix flake8

* Fix js unit tests

* Fix js unit tests that fail in lyftga

* Fix js

* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145b1f)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd2ec)

* Add decorator for etag cache

* Fetch charts with GET

* Small fixes

* Fix typo

* Compute correct cache key; fix logging

* Check perms on cached response

* Revert change

* If perms fail, return naked response

* Fix lint

* Compute cache key from all form data

* Pass extra_filters in GET request

* Fix pylint

* Fix flake8

* Use ETags even if no cache is set

* Handle adhoc filters

* Raise in debug mode

* Rename actions

* Fix integration tests

* Do POST request on new charts

* Set extra/adhoc filters only in GET requests

* Raise if check_perms fails

* Refactor auth

* Fix flake8

* Fix js unit tests

* Fix js unit tests that fail in lyftga

* Fix js

* Fix bad merge

* Use far future when max_age=0
2019-04-03 12:11:08 -07:00
Christine Chambers
8e14807b2a chore: revert bignumber.js patch for charts and reapply the original bignumber.js change to SQL editor in an opt-in fashion (#7210)
* revert: bignumber patch to prevent rendering regression in charts

* Revert "Fix rendering regression from the introduction of bignumber (#6937)"

* fix: consume the bignumber.js reversion -- apply the bignumber conversion in `actions/sqlLab.js` where it is needed (aka opt into bignumber.js).

* Revert "Fix deck.gl form data (#6953)" b/c formData now returns snake_cased properties for deck vizzes.
2019-04-03 11:19:56 -07:00
agrawaldevesh
8830d3f96e [Data Source Editor] Use type of NUMERIC instead of NUMBER and make editor accept freeform types (#7123) 2019-04-03 10:33:59 -07:00
Kim Truong
200efacc36 fix: [lyftga] pass the latest deckgl props (#7208) 2019-04-02 17:13:18 -07:00
Kim Truong
74a0b57d80 Update necessary packages (#7205) 2019-04-02 15:00:11 -07:00
Kim Truong
62cfb2d2e3 Change number format default (#7137)
* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Fix the white background shown in SQL editor on drag (#7021)

This PR sets the background-color css property on `.ace_scroller` instead of `.ace_content` to prevent the white background shown during resizing of the SQL editor before drag ends.

* Show tooltip with time frame (#6979)

* Fix time filter control (#6978)

* Enhancement of query context and object. (#6962)

* added more functionalities for query context and object.

* fixed cache logic

* added default value for groupby

* updated comments and removed print

(cherry picked from commit d5b9795f87)

* [fix] /superset/slice/id url is too long (#6989)


(cherry picked from commit 6a4d507ab6)

* [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027)


(cherry picked from commit cc58f0e661)

* feat: add ability to change font size in big number (#7003)

* Add ability to change font sizes in Big Number

* rename big number to header

* Add comment to clarify font size values

* Allow LIMIT to be specified in parameters (#7052)

* [fix] Cursor jumping when editing chart and dashboard titles (#7038)


(cherry picked from commit fc1770f7b7)

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145b1f)

* [db-engine-spec] Aligning Hive/Presto partition logic (#7007)


(cherry picked from commit 05be866117)

* [fix] explore chart from dashboard missed slice title (#7046)


(cherry picked from commit a6d48d4052)

* fix inaccurate data calculation with adata rolling and contribution (#7035)


(cherry picked from commit 0782e831cd)

* Adding warning message for sqllab save query (#7028)


(cherry picked from commit ead3d48133)

* [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)

* Update datasource.py

* Update datasource.py

(cherry picked from commit c771625f10)

* [csv-upload] Fixing message encoding (#6971)


(cherry picked from commit 48431ab5b9)

* [sql-parse] Fixing LIMIT exceptions (#6963)


(cherry picked from commit 3e076cb60b)

* Adding custom control overrides (#6956)

* Adding extraOverrides to line chart

* Updating extraOverrides to fit with more cases

* Moving extraOverrides to index.js

* Removing webpack-merge in package.json

* Fixing metrics control clearing metric

(cherry picked from commit e6194051f4)

* [sqlparse] Fixing table name extraction for ill-defined query (#7029)


(cherry picked from commit 07c340cf82)

* [missing values] Removing replacing missing values (#4905)


(cherry picked from commit 61add606ca)

* [SQL Lab] Improved query and results tabs rendering reliability (#7082)

closes #7080

(cherry picked from commit 9b58e9f492)

* Fix filter_box migration PR #6523 (#7066)

* Fix filter_box migration PR #6523

* Fix druid-related bug

(cherry picked from commit b210742ad2)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd2ec)

* [forms] Fix handling of NULLs

(cherry picked from commit e83a07d3df)

* handle null column_name in sqla and druid models

(cherry picked from commit 2ff721ae07)

* Use metric name instead of metric in filter box (#7106)


(cherry picked from commit 003364e74e)

* Bump python lib croniter to an existing version (#7132)

Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.

This PR bumps to a more recent existing version of the library

(cherry picked from commit 215ed392a1)

* Revert PR #6933 (#7162)

* [bugfix] SQL Lab 'Filter Results' doesn't stick (#7104)

When using a "Search Results" criteria, the subset of rows that match
the criteria get displayed. While this the filter is applied, if another
query is run, the filter is still active, but not displayed in the input
text box. After this change, the state of the input box sticks after
subsequent queries.

(cherry picked from commit d5e8d663dc)

* Injectable statsd client (#7138)

* Add ability to inject statsd client; some py test/reqs updates

- Updated the metrics logger to allow construction with an existing
statsd client, so that it can be configured by external systems or libs.
- added requirements to requirements-dev.txt which are needed to run
  tests-eg coverage, nose
- removed dependency on mock lib, it is in python stdlib now
- updated tox.ini to remove the now-superfluous deps

* add license to test file, and remove blank line at EOF

(cherry picked from commit ba19a62412)

* [Lyft-GA] Enable color consistency in a dashboard (#7135)

* Enable color consistency in a dashboard

Moved actions, minor UI, allowed dashboard copy

Fix linting errors

Undo unintentional change

Updated and added unit tests

Fail quietly if package has not been updated

Fail quietly on dashboard copy if package is old

* Update packages

* Remove unnecessary code

* Addressed Grace's comments

* Small fix for item key

* Reset chart's color during exploration

* Do not reset chart form data when exploring chart

* Fix double scroll bars when content of sql result table overflows horizontally (#7168)

The PR substracts the scrollbar height from the height of the container of the react virtualized table so we don't see double scrollbars.

(cherry picked from commit 7ffcabd5c0)

* Change number format default

* Use smart formatter instead

* fix merge issues

* Use SMART_NUMBER
2019-04-01 22:04:31 -07:00
Beto Dealmeida
ca6a73b028 Fix race condition when fetching results in SQL Lab (#7198)
* Fix race condition when fetching results in SQL Lab

* Fix lint
2019-04-01 22:04:31 -07:00
Beto Dealmeida
82cf55375d Revert PR #6933 (#7162) 2019-04-01 22:04:31 -07:00
Kim Truong
e974a23f90 [Lyft-GA] Enable color consistency in a dashboard (#7135)
* Enable color consistency in a dashboard

Moved actions, minor UI, allowed dashboard copy

Fix linting errors

Undo unintentional change

Updated and added unit tests

Fail quietly if package has not been updated

Fail quietly on dashboard copy if package is old

* Update packages

* Remove unnecessary code

* Addressed Grace's comments

* Small fix for item key

* Reset chart's color during exploration

* Do not reset chart form data when exploring chart
2019-04-01 22:04:31 -07:00
Beto Dealmeida
f66b598d37 Allow LIMIT to be specified in parameters (#7052) 2019-04-01 22:04:31 -07:00
Kim Truong
7d95036554 feat: add ability to change font size in big number (#7003)
* Add ability to change font sizes in Big Number

* rename big number to header

* Add comment to clarify font size values
2019-04-01 22:04:31 -07:00
Beto Dealmeida
7488b4d329 Fix time filter control (#6978) 2019-04-01 22:04:31 -07:00
Beto Dealmeida
fb9fdc87d7 Show tooltip with time frame (#6979) 2019-04-01 22:04:31 -07:00
Thomas Wang
a717a90577 fix: deck.gl polygon tooltip (#7188) 2019-04-01 21:26:30 -07:00
Maxime Beauchemin
c5bdbc0964 [security] make it easier to redefine Alpha/Gamma (#7036)
* [security] make it easier to redefine Alpha/Gamma

While talking about some security aspect and as to how you'd alter Alpha
or Gamma role in a specific environment, I realized that these
module-scoped constants would be much more useful as class attributes.

This way, someone can override these sets in their security manager
to alter base roles.

* fix

* flake8
2019-04-01 18:06:40 -07:00
Grace Guo
a1d4635627 [fix] a typo in variable name (#7197) 2019-04-01 17:55:40 -07:00
Enrico Berti
37d7b2c040 feat: added i18n statements to sqllab (#7194)
Closes #7193
2019-04-01 13:43:22 -07:00
Krist Wongsuphasawat
2af9a84d09 fix: do not crash when a vis type is disabled. (#7180)
* fix: make vis type control handle unregistered type

* fix: hide when not needed

* fix: do not try to read controlpanelconfig for invalid type

* feat: add t
2019-04-01 13:37:40 -07:00
rasmi-ranjan-guavus
efede0af91 fix(sqllab): remove duplicate selector in style file (#7126) 2019-04-01 12:33:23 -07:00
Hannah Squier
03752af4e8 fix PRODUCT-67916 Click OK button cannot close error message modal (#7179) 2019-04-01 10:00:22 -07:00
John Bodley
f13e0a8d58 Update __init__.py (#7166) 2019-04-01 09:50:20 -07:00
Enrico Berti
03c95c86dd [SQL Lab] Show tooltip on schema and table select options (#7120)
Closes #7119
2019-03-30 11:45:53 -07:00
michellethomas
ceb86df063 chore: add main pull request template (#7176)
* Add main pull request template

* Removing individual pull request templates
2019-03-29 13:06:45 -07:00
michellethomas
7059c52a79 Adding pull request templates (#7159) 2019-03-29 08:52:28 -07:00
Christine Chambers
7ffcabd5c0 Fix double scroll bars when content of sql result table overflows horizontally (#7168)
The PR substracts the scrollbar height from the height of the container of the react virtualized table so we don't see double scrollbars.
2019-03-29 06:45:44 -07:00
Alan Carson
41c13152a9 docs: add cloudsmith to company list (#7158)
Thanks!
2019-03-28 22:24:27 -07:00
John Bodley
36a6fade90 [migration] Fixing issue with fb13d49b72f9 downgrade (#7145)
* [migration] Fixing issue with fb13d49b72f9 downgrade

This PR fixes an issue with the downgrade step of migration fb13d49b72f9 which wrongfully labeled the field `metrics` rather than `metric`.

to: @graceguo-supercat @michellethomas @mistercrunch

* Update fb13d49b72f9_better_filters.py
2019-03-28 10:07:55 -07:00
John Bodley
6e79e84b02 [migration] Fixing issue with c82ee8a39623 downgrade (#7144)
* [migration] Fixing downgrade

* Trigger notification
2019-03-27 22:23:21 -07:00
Maxime Beauchemin
d5e8d663dc [bugfix] SQL Lab 'Filter Results' doesn't stick (#7104)
When using a "Search Results" criteria, the subset of rows that match
the criteria get displayed. While this the filter is applied, if another
query is run, the filter is still active, but not displayed in the input
text box. After this change, the state of the input box sticks after
subsequent queries.
2019-03-27 17:53:32 -07:00
Dave Smith
ba19a62412 Injectable statsd client (#7138)
* Add ability to inject statsd client; some py test/reqs updates

- Updated the metrics logger to allow construction with an existing
statsd client, so that it can be configured by external systems or libs.
- added requirements to requirements-dev.txt which are needed to run
  tests-eg coverage, nose
- removed dependency on mock lib, it is in python stdlib now
- updated tox.ini to remove the now-superfluous deps

* add license to test file, and remove blank line at EOF
2019-03-27 14:08:36 -07:00
Enrico Berti
cd54a567dd fix: Superset logo link when logged out (#7118)
Closes #7107
2019-03-27 13:49:34 -07:00
John Bodley
ee36ce8b31 chore: updating extra requires (#7115) 2019-03-27 13:48:11 -07:00
Enrico Berti
c99d9b5d3c [SQL Lab] Avoid closing save query modal on backdrop click (#7111)
Closes #7110
2019-03-27 13:46:39 -07:00
Maxime Beauchemin
c2b971af91 [docs] CONTRIBUTING.md - how to setup SQL Lab in async mode (#7103) 2019-03-26 22:50:19 -07:00
Maxime Beauchemin
215ed392a1 Bump python lib croniter to an existing version (#7132)
Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.

This PR bumps to a more recent existing version of the library
2019-03-26 13:27:16 -07:00
Maxime Beauchemin
68d2880bce Remove super verbose logging.debug call (#7122)
I left this behind on a previous PR, and it gets kind of crazy on large
SQL statements, so decided it's probably a good thing to clean this up.
2019-03-26 08:42:13 -07:00
rasmi-ranjan-guavus
f556da80cb fix(useless-self-assignment): correct useless-self-assignment (#7090)
* fix(useless-self-assignment): correct useless-self-assignment

* udated code formatting
2019-03-26 08:35:44 -07:00
Maxime Beauchemin
ebb32101c9 Scripts & instructions to craft official Apache source releases (#7054)
* Apache Releases

https://github.com/mistercrunch/superset/blob/apache-releases/RELEASING.md#apache-releases

* npm run prod -> npm run build
2019-03-25 16:21:26 -07:00
Don Bowman
4c5e6ca208 Add HTTP Basic Auth for Druid (Issue #4776) (#6795)
* Add HTTP Basic Auth for Druid (Issue #4776)

This should resolve [Issue #4776](https://github.com/apache/incubator-superset/issues/4776)

Add HTTP Basic Auth to the Druid Broker.

Signed-off-by: Don Bowman <don@agilicus.com>

* Encrypt broker password in database

Signed-off-by: Don Bowman <don@agilicus.com>

* Merge from master, new migration needed

Signed-off-by: Don Bowman <don@agilicus.com>

* Do not expose hashed druid basic auth password

* docs: add description_columns for druid basic auth
2019-03-25 16:20:12 -07:00
Christine Chambers
71f1bbd2ec SQL editor layout makeover (#7102)
This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board
2019-03-25 15:19:43 -07:00
Maxime Beauchemin
87fae5c602 [docs] improve UPDATING.md around 0.31's [now] optional deps (#7117) 2019-03-25 15:03:08 -07:00
michellethomas
003364e74e Use metric name instead of metric in filter box (#7106) 2019-03-25 09:57:39 -07:00
John Bodley
b3c4bd95ef [forms] Fix handling of NULLs (#7078) 2019-03-25 00:24:26 -07:00
Ville Brofeldt
23e823f0c1 Bump SQLAlchemy to 1.3 (#7099)
* Bump sqla to >=1.3.1

* Refine mssql column types to only use N-prefixing when necessary

* make join explicit

* replace set with list

* Add additional test case for N-prefix

* Replace engine with dialect and fix linting error

* Remove unneeded import
2019-03-24 20:44:05 -07:00
John Bodley
80d6f5a090 [mypy] Adding mypy linting (#7053) 2019-03-24 20:35:48 -07:00
Grace Guo
60a7b6df59 handle null column_name in sqla and druid models (#7063) 2019-03-22 20:21:25 -07:00
Chris Williams
7457a35b12 [api] add available_domains/ endpoint (#7097)
* [api] add available_domains/ endpoint

* [available_domains] no trailing whitespaces
2019-03-22 17:51:28 -07:00
Yongjie Zhao
33d67dad79 [Dashboard] Keeping refresh frequency value in Dashboard (#5741)
* Keeping refresh frequency value in Dashboard

* fix eslint

* Fix arrow function

* Update ut

* start refresh when load dashboard
2019-03-22 14:29:18 -07:00
Krist Wongsuphasawat
4631b7b791 fix: bump pivot table version (#7088)
* fix: bump pivot table version

* fix: update package.json
2019-03-21 22:26:20 -07:00
hitdemo
5241486971 [bugfix] throw "TypeError: 'NoneType'..." when save chart to new/existing dash. (#5835) 2019-03-21 21:03:53 -07:00
Daniel Vaz Gaspar
10d003346f Bump FAB to 1.12.5 (#7085)
* Bump FAB to 1.12.5

* [requirements] New dependency pyJWT added on FAB 1.12.4 for OAuth redirect

* [requirements] Fix, pip-tools bump to 3.5.0 related to #714
2019-03-21 17:03:52 -07:00
Enrico Berti
9b58e9f492 [SQL Lab] Improved query and results tabs rendering reliability (#7082)
closes #7080
2019-03-21 15:13:42 -07:00
Maxime Beauchemin
b210742ad2 Fix filter_box migration PR #6523 (#7066)
* Fix filter_box migration PR #6523

* Fix druid-related bug
2019-03-20 21:41:33 -07:00
John Bodley
61add606ca [missing values] Removing replacing missing values (#4905) 2019-03-20 17:14:15 -07:00
Enrico Berti
30f88caf55 [SQL Lab] Fixed TableElement sorting functionality and tests (#7069) (#7070) 2019-03-20 08:32:04 -07:00
Enrico Berti
209e7a9d91 [SQL Lab] Copy to clipboard should work on the preview tab too (#7068) (#7071) 2019-03-20 08:26:56 -07:00
John Bodley
2524219f98 [tox] Enforcing consistent ordering (#7060) 2019-03-19 21:14:12 -07:00
Ville Brofeldt
c1c8e50360 Handle memoryview like bytes instances and decode bytes to utf8 (#7062) 2019-03-19 17:57:09 -07:00
Krist Wongsuphasawat
aa9e273900 docs: add hostnfly to company list (#7065)
From old PR #4011
2019-03-19 17:55:55 -07:00
bipinsoniguavus
84109be1bf fix: search for visualizations with case-insensitive keyword 2019-03-19 16:03:49 -07:00
Maxime Beauchemin
c7ffdd643f docs: fix RST issues while building docs (#7012) 2019-03-18 18:11:53 -07:00
Rosen Velikov
42a8a92c57 feat: add Bulgaria to country map (#6938) 2019-03-18 18:10:42 -07:00
Krist Wongsuphasawat
d56362f248 feat: bump superset-ui-plugins to v0.10.2 (#7051)
* feat: bump superset-ui-plugins version to 0.10.1

* fix: bump version again
2019-03-18 17:56:23 -07:00
michellethomas
ead3d48133 Adding warning message for sqllab save query (#7028) 2019-03-18 10:14:26 -07:00
John Bodley
c771625f10 [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)
* Update datasource.py

* Update datasource.py
2019-03-18 09:56:52 -07:00
Boris Hajduk
5137539a86 [fix] Use HTTPS, not HTTP wherever practical (#7040)
* Download RAT binary via HTTPS, not HTTP

* Merge branch 'patch-1' of github.com:hajdbo/incubator-superset into patch-1
2019-03-17 23:21:32 -07:00
Maxime Beauchemin
f5274a9c7f Fix issues around Database permissions (#7009) 2019-03-17 22:49:40 -07:00
Grace Guo
a6d48d4052 [fix] explore chart from dashboard missed slice title (#7046) 2019-03-16 10:44:14 -07:00
Enrique Macip
4a3009406a User can turn off download - export csv from a dashboard (#6821)
* User can turn off download - export csv from a dashboard

* Revert changes in the backendSync

* Fix space error in the MenuItem Export CSV
2019-03-16 10:33:45 -07:00
1AB9502
f760ba8d4c fix: groupable only columns populating in filters (#6993) 2019-03-15 15:20:53 -07:00
Grace Guo
fc1770f7b7 [fix] Cursor jumping when editing chart and dashboard titles (#7038) 2019-03-15 10:56:19 -07:00
John Bodley
07c340cf82 [sqlparse] Fixing table name extraction for ill-defined query (#7029) 2019-03-15 09:19:30 -07:00
Chris Williams
7d7210d6ce [api/v1][query_obj] add default prequeries array (#7039)
* [api/v1][query_obj] add default prequeries array

* [api/v1][query_obj] fix prequeries type
2019-03-15 00:22:29 -07:00
Ville Brofeldt
5e66008ba1 Add handling for memoryview (#6987) 2019-03-14 22:35:40 -07:00
bipinsoniguavus
4ca2cc1ef2 fix(css-selector): Fixed incorrect css-selector for CRUD page reported by sonarqube report as a critical vulnerability (#7034) 2019-03-14 17:51:16 -07:00
Conglei
0782e831cd fix inaccurate data calculation with adata rolling and contribution (#7035) 2019-03-14 14:05:06 -07:00
Tom Hunter
cc58f0e661 [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027) 2019-03-14 11:20:22 -07:00
John Bodley
05be866117 [db-engine-spec] Aligning Hive/Presto partition logic (#7007) 2019-03-13 13:22:28 -07:00
michellethomas
7f3c145b1f Changing time table viz to pass formatTime a date (#7020) 2019-03-13 09:34:51 -07:00
Maxime Beauchemin
d308c842f9 Bump sqlalchemy dependency (#7000)
* Bump sqlalchemy dep

* Addressing comments
2019-03-11 23:03:20 -07:00
Marcus
83b5dcc8c2 fixing a broken link for the ORM documentation (#7005) 2019-03-11 22:41:16 -07:00
Grace Guo
6a4d507ab6 [fix] /superset/slice/id url is too long (#6989) 2019-03-09 20:49:08 -08:00
Ville Brofeldt
0535a11fe6 Retrieve df from get_df_payload to hit cache (#6990) 2019-03-09 11:14:04 -08:00
Christine Chambers
e47a1b2868 Split tags migration (#7002)
This PR removes the iteration over charts, dashboards and saved queries to create tags in the original migration, leaving only the logic to create the tags and the tagged objects tables.
Tested locally by running `superset db downgrade` to revert to the previous migration and then running `superset db upgrade` to the current version.
2019-03-08 16:27:13 -08:00
ankursinghal2005
83b48a901e fix(fetch-datasource-meta-data): Chart data is not showing after in charts added by edit mode (#6980)
UIC-1046
2019-03-06 23:57:31 -08:00
Krist Wongsuphasawat
23f4c95d47 refactor: bump @superset-ui versions (#6982)
* feat: bump @superset-ui versions

* refactor: remove visUtils and use @superset-ui/dimension

* refactor: remove dead code

* fix: update package lock

* fix: lint two files

* fix: package lock
2019-03-06 22:30:05 -08:00
michellethomas
e6194051f4 Adding custom control overrides (#6956)
* Adding extraOverrides to line chart

* Updating extraOverrides to fit with more cases

* Moving extraOverrides to index.js

* Removing webpack-merge in package.json

* Fixing metrics control clearing metric
2019-03-06 15:04:04 -08:00
Maxime Beauchemin
c1ba914a41 docs: warn that docker installation instructions are contrib/ (#6925)
* [docs] warn that docker installation instructions are `contrib/`

* Words
2019-03-06 08:33:11 -08:00
Thomas Wang
8346e62dec Sort Chart Types based on Usage (#6849)
* initial commit for VIZ-58

* address @kristw's comments

* per @mistercrunch's comment to use a static list for now

* fix javascript test errors

* fix lint errors

* per @betodealmeida's comments

* remove unnecessary loop
2019-03-05 21:32:10 +02:00
John Bodley
3e076cb60b [sql-parse] Fixing LIMIT exceptions (#6963) 2019-03-05 09:36:08 -08:00
Maxime Beauchemin
0421786fed [dashboard editor] use the theme's btn-primary (#6859) 2019-03-04 20:54:17 -08:00
Maxime Beauchemin
ed79134e7f auto-set 'Is Temporal' to true where column_name == '__time' (#6857)
* auto-set 'Is Temporal' to true where column_name == '__time'

* Adress comments

* lint

* clarifying name and comments
2019-03-04 20:51:11 -08:00
Conglei
d5b9795f87 Enhancement of query context and object. (#6962)
* added more functionalities for query context and object.

* fixed cache logic

* added default value for groupby

* updated comments and removed print
2019-03-04 18:06:59 -08:00
John Bodley
aded70a156 [date-filter] Adding minus infinity (#6968)
* [date-filter] Adding minus infinity

* Update DateFilterControl.jsx

eqeqeq
2019-03-04 11:34:21 -08:00
John Bodley
48431ab5b9 [csv-upload] Fixing message encoding (#6971) 2019-03-03 15:27:08 -08:00
Kim Truong
0a8bc84a02 Exclude venv for python linter to ignore (#6965) 2019-03-01 13:38:06 -08:00
Beto Dealmeida
41041f2113 Show charts and dashboards based also on database permissions (#6933)
* Per database policies for slices

* Show charts and dashboards based on DB perms as well

* Revert indentation change

* Fix reference

* Fix pylint
2019-02-28 10:05:28 -08:00
Serg
6f82f974d2 re-added deleted example file (#6952) 2019-02-27 21:33:06 -08:00
Kim Truong
5026401171 VIZ-190 fix (#6958) 2019-02-27 21:00:56 -08:00
Benjamin
57ef1a06b2 All french translations (#6955) 2019-02-27 18:02:12 -08:00
Maxime Beauchemin
3ae02d1a54 Allow for dynamic feature flags (#6808)
* Allow for dynamic feature flags

Giving more control over feature flags, allowing administrator to define
custom logic around whether features are enabled for particular users /
roles.

The exposed function can be used for things like:
* progressive rollout of features (1%, 5%, 50%, 100%)
* experimentation
* role-based feature affectation (only admins see a particular feature)

* fix build

* Addressing comments

* Addressing @hughhh's comments
2019-02-27 15:11:38 -08:00
Beto Dealmeida
e0feec9117 Fix deck.gl form data (#6953)
* Fix deck.gl viz

* Fix more form data

* Fix a few more places

* Fix unit tests
2019-02-27 10:19:52 -08:00
Maxime Beauchemin
8f2ce75665 Remove Cypress from package.json (#6912)
* Remove Cypress from package.json

I'm building some Docker images these days and realizing just how big
the Cypress package is. Looks like its ~500mb or so.

I prefer adding it as needed only as opposed to having to play tricks as
in `npm ci && rm node_modules/cypress`

* Pin cypress version

* Add script entry install-cypress

* bump cypress and fix ts-jest warning
2019-02-26 15:51:14 -08:00
Maxime Beauchemin
0ffccb76bd [js deps] fix dependencies vulnerabilities (#6904)
* [js deps] fix dependencies vulnerabilities

* Addressing comments

* Fix bug with Mapbox default example
2019-02-26 15:16:13 -08:00
Maxime Beauchemin
ac198754f2 Erase previously shown chart on error (#6905)
* Erase previously shown chart on error

* Addressing comments

* lint
2019-02-26 15:15:44 -08:00
Prashant Shahi
3c2e3d7f97 Fixes #6842: Refreshes all metadata and datasource (#6944) 2019-02-25 17:44:47 -08:00
Christine Chambers
73cdb37f7e Fix rendering regression from the introduction of bignumber (#6937)
In superset-ui 0.8.0, we used bignumber.js to transform numbers in chartProps' payload from plain 64-bit floats to BigNumber instances. This causes a number of charts to render incorrectly when comparison functions in the rendering algorithms operate on BigNumber objects instead of floats. This PR uses the preTransformProps step in SuperChart to transform BigNumber instances back to floats so charts can render properly.
2019-02-25 16:14:56 -08:00
Jack Zhang
a0402b76c7 [datasource editor] Add description and label fields (#6927)
* Add description field for columns

* Add label for metrics
2019-02-25 14:21:41 -08:00
Ville Brofeldt
e112659173 Remove redundant UTC casts (#6786) 2019-02-23 10:33:21 -08:00
agrawaldevesh
b5d03c85c5 Do label name mutation before anything else on the dataframe (#6831)
This problem especially happens with pinot when you select two metrics
with different aliases but same function. For example, effectively the
sql like 'select type, count(*) as one, count(*) as two from bar group
by type'. In such a case, pinot will return two columns, both named
count_star.

So when we try to do a df['count_star'], the result is a Dataframe and
not a Series. This causes a KeyError in the get_df method.

So we push the DB specific label mutation inside get_df before we do any
other mutation.
2019-02-22 20:32:46 -08:00
Ignacio Pérez Vergara
5c484e78a2 [fix] fix for css not loading on docker dev mode (#6934) 2019-02-22 20:03:17 -08:00
Ville Brofeldt
ea9d22b2ec Force quotes on non-expression time grains on Postgres (#6897)
* Force quotes on non-expression time grains on postgres

* Change to or semantics

* Return lower case column name as unmutated

* Add testcases for postgres time grains

* Make expression MixedCase
2019-02-21 13:16:28 -08:00
Ville Brofeldt
f5277fe684 Refactor dataframe and column name mutation logic (#6847)
* Merge dataframe and column name mutation logic, add flag for disabling column aliases and add column name length checking

* Remove custome mutate_label from oracle spec

* Move hashing from mutate_label() to make_label_compatible()

* Remove empty line

* Make label mutating and truncating more robust

* Rename variables and make proposed changes from review

* Always execute labels_expected codepath

* Fix linting error

* Add comments and fix subquery errors

* Refine column compatibility

* Simplify label assignment

* Add unit tests for BQ and Oracle

* Linting
2019-02-20 23:05:35 -08:00
不知是哪个号
1cac31dcce Update CHANGELOG.md (#6920)
Update CHANGELOG.md
2019-02-20 22:16:18 -08:00
Grace Guo
16f4721a92 [fix] minor fix for Superset logger (#6922) 2019-02-20 15:38:45 -08:00
michellethomas
ba9523c7c4 Adding dropdown to DatasourceControl and ability to change datasource (#6816)
* Adding dropdown to DatasourceControl and ability to change datasource

* Style fixes

* Adding unit tests for datasource/get endpoint

* Fixing issue with dropdown overflow and style changes

* Fixing issues rebasing metadata button and fixing sort for datasource with no name
2019-02-20 14:32:33 -08:00
Christine Chambers
c04c0cd8f0 Add a safety check before getting clientHeight (#6923)
Seeing an intermittent repro of the `current` nodes of the sql editor and south pane refs returning null. Adding a safety check for both nodes.
2019-02-20 14:31:28 -08:00
Beto Dealmeida
25ec00b3c6 Fix database typeahead in SQL Lab (#6917)
* Fix database typeahead in SQL Lab

* Fix lint

* Use string interpolation
2019-02-19 16:10:17 -08:00
Beto Dealmeida
3f96b0c5c4 Fix tooltip (#6895) 2019-02-19 10:32:14 -08:00
Maxime Beauchemin
f715f36ed3 [box plot] add X tick layout control (#6903) 2019-02-19 09:47:04 -08:00
Christine Chambers
f8cf0fb7f3 Add show metadata button back to the explore view (#6911)
* Add show metadata button back to the explore view

- Add the show metadta button, accidentally removed from PR #6046, back to the explore view
- Remove dead code that is no longer reachable from DataSourceModal.jsx.

* Adding additional code back to make the button function and remove more dead code.
2019-02-19 09:44:35 -08:00
Ville Brofeldt
30cd0e3836 Raise exception if long or lat not set in mapbox viz (#6867) 2019-02-18 09:20:59 -08:00
Marcus
3956bd20c2 add Filters copy change (#6885) 2019-02-17 20:42:38 -08:00
Krist Wongsuphasawat
dce853d450 Fix npm warning by bumping @superset-ui version (#6894)
* Fix npm warning by bumping @superset-ui version

* bump one more time
2019-02-17 20:16:56 -08:00
Daniel Vaz Gaspar
a97f3b639e [fix] Typo on config comments for SILENCE_FAB (#6901) 2019-02-17 14:03:04 -08:00
Grace Guo
47f42ed351 Improve Superset logger (#6879)
* enable beacon

* add middleware

* add unit tests
2019-02-15 23:10:05 -08:00
Krist Wongsuphasawat
bd9a2c15e7 remove dead code (#6884) 2019-02-15 11:51:49 -08:00
John Bodley
5728946270 [sqla] Fixing order-by for non-inner-joins (#6862) 2019-02-15 11:23:02 -08:00
michellethomas
b0f7f51ab7 Adding template_params to datasource editor for sqla tables (#6869) 2019-02-15 11:16:04 -08:00
Maxime Beauchemin
49868748e6 [ci] take #2, improve build times by saving TerserPlugin cache (#6882)
The problem with the previous solution was that the `npm ci` command
nuke the `node_modules` folder, including the `.cache` that was used by
default. By moving the cache out of `node_modules`  we get to both run
`npm ci` and accelerate `TerserPlugin`
2019-02-15 08:53:06 -08:00
Christine Chambers
ec6657ab2d Relayout SQL Editor (#6872)
* Relayout SQL Editor

- Refactor SQL editor to remove usage of bootstrap col, row and collapse to simplify the layout
- Replace the react-split-pane libraray with react-split to allow custom styling of the gutter area without sacrifice correctness of the ace editor height calculation
- Rewrite the left pane animation via plain css transition and animate it to slide in and out
- General code and css clean up

* Smooth out the visual transition during dragging

(cherry picked from commit 19f82b729c7a939f12b1c5da6022c0fd76fa3ec9)

* Adjust how the height of the south pane is computed, fixing cypress tests
2019-02-14 18:03:43 -08:00
Krist Wongsuphasawat
8302b9a276 Update webpack config to facilitate debugging charts via npm link (#6880)
* Update webpack config to facilitate debugging charts via symlink and update babel plugin version

* update @superset-ui-legacy version

* update packages
2019-02-14 17:57:34 -08:00
Maxime Beauchemin
16ae747da1 Speed up CI by caching TerserPlugin cache (#6874)
* Speed up CI by caching TersetPlugin cache

This should accelerate the `npm run build` part of the build by ~5
minutes or so I believe.

* targeting terser-webpack-plugin/
2019-02-14 12:14:07 -08:00
Krist Wongsuphasawat
75e1045da4 Use chart plugins and remove code under visualizations (#6838)
* add dependencies

* add the basic charts

* use plugins except tables

* remove old vis code

* Clean dependencies

* remove paired-t-test code and a few more dependencies

* remove tests

* remove unused packages

* integrate nvd3

* bump version

* update ref

* fix issue with table and pivottable

* delete table, pivot table and dependency

* Resolve bubble chart issue by using lib instead of esm

* add comments

* delete nvd3

* add mapbox
2019-02-14 11:28:39 -08:00
agrawaldevesh
2132522fbb Update docs for pinot support (#6865) 2019-02-14 10:56:36 -08:00
John Bodley
60d5f89faa [main] Disable resetting main DB attributes (#6845) 2019-02-13 16:41:16 -08:00
Patrick Tyler Haas
103a97f87d Docs: update user list in README (#6870) 2019-02-13 15:28:12 -08:00
Karri Niemelä
3f47c61dff Adding chart-id to chartrenderer (#6832)
* Adding chart-id to chatrenderer

* Update ChartRenderer.jsx
2019-02-12 14:41:22 -08:00
Pablo
044f660f48 Adding BigQuery to the list of supported DBs. (#6848) 2019-02-11 23:01:03 -08:00
Maxime Beauchemin
de403de6fe Bump FAB to 1.12.3 (#6854)
Related CHANGELOG:
https://github.com/dpgaspar/Flask-AppBuilder/blob/master/docs/versions.rst#improvements-and-bug-fixes-on-1123
2019-02-11 22:36:18 -08:00
michellethomas
4638618545 Fixing issue where tooltip gets hidden on dashboard for all charts (#6852) 2019-02-11 15:15:47 -08:00
Maxime Beauchemin
73e119a84e [config] clarifications around SUPERSET_WEBSERVER_TIMEOUT (#6840) 2019-02-11 10:32:11 -08:00
Krist Wongsuphasawat
0b1fbf8299 fix dist-bar overflow css (#6844) 2019-02-08 16:30:38 -08:00
Krist Wongsuphasawat
1c090df4a5 Add check for invalid color scheme (#6828)
* add check for invalid scheme

* revert package-lock.json

* revert again
2019-02-08 10:47:57 -08:00
Krist Wongsuphasawat
e14c0cf9a3 Use SuperChart from package and remove one in apache (#6839)
* use SuperChart from package and remove one in apache

* revert package-lock
2019-02-07 16:52:47 -08:00
Krist Wongsuphasawat
5f0b5f63c6 update @superset-ui/packages (#6830) 2019-02-07 09:58:10 -08:00
Krist Wongsuphasawat
823555e07d Fix line chart overflowing the right side (#6829)
* Fix line chart overflowing the right side

* revert package-lock.json

* revert again
2019-02-06 21:28:30 -08:00
Christine Chambers
231d826757 Make the target path of the superset logo configuable (#6815)
* Make the target path of the superset logo configuable

There is a need to have the target path of the logo go to different places in different installations of superset. The PR makes the target path (after `/superset`) configurable via the LOGO_TARGET_PATH configuration key and sets the default to the existing `/profile/{{ current_user.username }}/`

* addressing pr comments
2019-02-06 15:41:19 -08:00
Beto Dealmeida
8041b63af6 Backend only tagging system (#6823)
This PR introduces the backend changes for a tagging system for Superset, allowing dashboards, charts and queries to be tagged. It also allows searching for a given tag, and will be the basis for a new landing page (see #5327).

# Implicit tags
Dashboard, chart and (saved) queries have implicit tags related to their owners, types and favorites. For example, all objects owned by the admin have the tag `owner:1`. All charts have the tag `type:chart`. Objects favorited by the admin have the tag `favorited_by:1`.

These tags are automatically added by a migration script, and kept in sync through SQLAlchemy event listeners. They are currently not surfaced to the user, but can be searched for. For example, it's possible to search for `owner:1` in the welcome page to see all objects owned by the admin, or even search for `owner:{{ current_user_id() }}`.
2019-02-06 13:42:42 -08:00
Michael McDuffee
16a8e314a1 Removing additional unguarded calls to JSON.stringify (#6802)
* removing further calls to unguarded stringify when input data is unknown or to be displayed

* updating one more react component

* fixing lint errors
2019-02-06 13:27:21 -08:00
Hugh A. Miles II
9573fe338e added docs on proper function call for db mutator (#6826) 2019-02-06 13:17:15 -08:00
agrawaldevesh
ff9506fec2 Adding support for Pinot (#6719)
Summary: Added limited support for visualizations with Pinot via
Sqlalchemy.

Pinot QL (PQL) is a bit weird and limited, and this patch hacks superset to
deal with that weirdness:

1. Pinot's grouping by time is best done as a long epoch. Grouping by a
time string is really slow and times out.

2. Pinot's response does not respect column aliases. So columns are not
named what they are expected to. So we remember the given column aliases
and then stamp them back onto the dataframe

3. Pinot's Json rest call does not return the output types. Instead
everything is cast to string. So when grouping by time, the group key
is integral and has to be treated specially when casting back to the
dataframe __timestamp column.

4. Finally, pinot does support grouping by on expressions. But those
expressions cannot then appear on the select clause. They are returned
regardless in the response. ie, 'select foo, count(*) from bar group by
foo' is okay, but 'select expr(foo), count(*) from bar group by
expr(foo)' ain't. One must use 'select count(*) from bar group by
expr(foo)'.

I also fixed a couple of things that looked like bugs to me: for
example, the row-ordering-limit should come at the end always.

Test Plan: Tested with the modified pinotdb sqlalchemy driver and an
internal pinot cluster. The pinotdb driver changes are in
https://github.com/agrawaldevesh/pinot-dbapi.

Pinot does not support orderby-limit for aggregated queries. To annotate
a query as an aggregate query, this patch adds a hint to the prepared
select statement that the pinotdb sqlalchemy driver then heeds.
2019-02-05 17:04:19 -08:00
Raphaël Merx
6e9130550d Add .standalone class to <body> when in standalone mode (#6811)
* Add .standalone class to <body> when in standalone mode

* Add test for .standalone class on <body>
2019-02-04 16:44:17 -08:00
Maxime Beauchemin
5a40f71710 [sql lab] improve table name detection in free form SQL (#6793)
* [sql lab] improve table name detection in free form SQL

* flake

* Addressing comments
2019-02-04 16:03:23 -08:00
agrawaldevesh
fc4042a28b SelectControl hackery: Fixing freeform select and allowing group by and non group-by column selectors to take in arbitrary expressions including select-all semantics. (#6722)
Summary: We want to allow grouping by on expressions, including the
ability to select expressions (without group-by). The UI ain't good yet
.. it is not at the feature parity of say adhoc filters/metrics that
come with a nice text-box to edit the SQL. But
this suffices for my usecase for now.

(The UI would have to be redone ... but that would require some refactoring
to merge the AdhocFilter/Metric/Popover stuff such that it can be used
for this use case too.)

Also fixed a bug in the SelectControl freeForm selection.

Allow selecting all columns easily: Added a new Select-All special item
that users can select to make all the options in the selectable show
up.

The ability to group by arbitrary expressions is useful because now two
users don't need to create custom computed-fields for this.
2019-02-04 12:34:24 -08:00
John Bodley
e1b907783a [wtforms] Using wtforms-json which supports None (#5445) 2019-02-04 09:35:40 -08:00
Wonjin Kim
b7b51ecc37 Add Korean translations (#6809)
* fix #6760

* start adding Korean translation

* Add Korean translation

* Add Korean translation (#6790)
2019-02-03 11:15:52 -08:00
Hugh A. Miles II
4f3d2bce4d Omnibar (#6745)
* add starter workspace

* move code into omni container

* 🚢

* add logger

* removed jquert

* remove example ref

* moved all the code into Fragments

* adressed comments

* 🚢

* remove ref

* remove unneeded code

* added featureflag

* change prompt text

* fix omni location

* cleanup comment
2019-02-02 13:02:08 -08:00
agrawaldevesh
cecbba3fe6 Summary: Introduce configs for default relative end time and the epoch-tz (#6721)
Introduce a config DEFAULT_RELATIVE_END_TIME which is used when
computing the "Last X days". The default behavior (as currently) is to
let that be 'today', which actually means the 0th second of today. We
can also let it be 'now' which means the data as of now (ie at query
time).

Secondly, also introduce another config IS_EPOCH_S_TRULY_UTC, which
means that the logged time in epoch_s format is actually in UTC.
Currently (as the default) is that it it is in the local (superset
webserver) timezone.

** There is no backward incompatibility with thes config features since
the default behavior hasn't changed. **
2019-02-01 16:34:13 -08:00
Christine Chambers
11bace3808 Merge pull request #6805 from lyft/xtinec--fix-sticky-tooltip
Fix sticky tooltips on nvd3 vizzes
2019-02-01 15:07:06 -08:00
Maxime Beauchemin
ba64ae6974 Add missing license (#6801) 2019-02-01 14:42:37 -08:00
Christine Chambers
7846bae8e0 Merge pull request #6781 from lyft/xtinec--merge-feature-flags
Merge default feature flags and user defined feature flags
2019-02-01 14:36:25 -08:00
Christine Chambers
501340b5db Fix sticky tooltips on nvd3 vizzes
Currently, we attempt to hide the nvd3 tooltips (if any were on screen) before we draw a new viz after rerunning a query. The hiding is done by selecting the first nvtooltip element and setting the opacity to 0.

This somtimes leave behind a trail of old tooltips if a tooltip is left behind by this nvd3 bug https://github.com/novus/nvd3/issues/1262. This PR modifies the behavior of how we clean up tooltips between rerun of queries by selecting all nvd3 tooltips and removing them all from the DOM before redrawing nvd3 vizzes.
2019-02-01 14:30:13 -08:00
Christine Chambers
19b3753d2c Move feature flag utility function into superset/__init__.py 2019-02-01 13:35:50 -08:00
AlexRRR
416534add5 fix: don't remove leading new line (#6800) 2019-02-01 12:03:34 -08:00
Maxime Beauchemin
713b0ae4f4 [cosmetic] TableSelector use <i> instead of <Button> for refresh (#6783)
* [cosmetic] TableSelector use <i> instead of <Button> for refresh

* Add ASF licenses

* css hover

* missing license

* remove license header
2019-02-01 12:01:30 -08:00
Christine Chambers
5669a82350 Merge pull request #6797 from lyft/VIZ-187
Fix play slider in deck.gl visualizations
2019-01-31 22:02:56 -08:00
Beto Dealmeida
a09348d0ec Fix playslider 2019-01-31 17:23:59 -08:00
Wonjin Kim
adc9a6b495 Add Korean Translation (#6790)
* fix #6760

* start adding Korean translation

* Add Korean translation
2019-01-31 14:13:43 -08:00
John Bodley
2631558ac4 Revert "Removing uniqueness constraints on tables table" (#6777)
* Revert "creating new circular-json safe stringify and replacing one call (#6772)"

This reverts commit 11a7ad00b7.

* Revert "Improve Unicode support for MSSQL (#6690)"

This reverts commit c44ae612df.

* Revert "Fix uniqueness constraints on tables table (#6718)"

This reverts commit c4fb7a0a87.
2019-01-31 09:57:51 -08:00
Christine Chambers
b70a9ae524 Merge default feature flags and user defined feature flags
- Rename the default feature flags key in `config.py` to DEFAULT_FEATURE_FLAGS
- Merge default feature flags with user defined ones allowing the latter to overwrite the former
- Expose feature_flags for both server and client to use
- Add a utility method for checking whether a feature flag is on on server side
2019-01-30 22:23:27 -08:00
agrawaldevesh
817783f466 Allow any column to be filterable or groupable (#6764)
This is not configurable and will be the default (and only !) behavior
going forward !
2019-01-30 11:18:49 -08:00
Maxime Beauchemin
36176f3e20 [sql lab] fix stuck offline (#6782) 2019-01-30 11:12:31 -08:00
Michael McDuffee
11a7ad00b7 creating new circular-json safe stringify and replacing one call (#6772) 2019-01-29 10:59:42 -08:00
Ville Brofeldt
c44ae612df Improve Unicode support for MSSQL (#6690)
* Implement unicode where cluases for mssql queries

* Add comment about unicode support on sqla 1.3+
2019-01-28 22:56:46 -08:00
agrawaldevesh
c4fb7a0a87 Fix uniqueness constraints on tables table (#6718)
Summary: Superset code enforces (in Table crud view pre_add) that the
table is unique within <database, schema, table_name). Indeed in commit
15b67b2c6c (in 2016), the model was
updated to reflect that. However, it was never ported over to a
migration.

I am fixing that in this diff. I am choosing to make this be a new
migration instead of fixing an existing one since I want to fix existing
installations also cleanly.

I also considered removing the uniqueness constraint, but that won't
work: First because anyway there are other places where the <database,
schema, table> uniqueness is enforced in code. But also, the .sql field
isn't a first citizen yet: The schema of the table is picked up from the
table-name and the sql part is only used when creating the explore
query. So indeed we want this uniqueness constraint. (Also it breaks the
unit tests in dict_import_export_tests.py)
[Perhaps it can be removed when we have true .sql support, but for now
the user would have to create a database view and he can use that as the
'table name'. That way he gets schema inference also]

Also added INFO logging to the alembic migration.
2019-01-28 22:49:31 -08:00
Wonjin Kim
5938ac30d6 fix #6760 (#6762) 2019-01-28 22:45:16 -08:00
Maxime Beauchemin
7c02587924 [docs] improve upgrading instructions (#6766) 2019-01-28 22:14:02 -08:00
Grace Guo
744135c7fe [fix] Add action for update chart id (#6769) 2019-01-28 17:42:35 -08:00
ziheng
83ee917832 [fix] pandas>=0.24.0 datetimelike API changes (#6765) 2019-01-27 17:29:56 -08:00
Maxime Beauchemin
a62a8d3d98 [docs] bump cryptography lib version in docs (#6755) 2019-01-25 14:26:08 -08:00
Maxime Beauchemin
a93219f291 [cosmetic] Align table sort icons to the left (#6754) 2019-01-25 14:25:41 -08:00
michellethomas
8100a8fa97 Fixing sort issue with area chart and adding tests (#6358) 2019-01-25 10:30:31 -08:00
Hugh A. Miles II
6b0ab2100d fix dashboard links in welcome page (#6756) 2019-01-25 08:20:00 -08:00
davidkohcw
f38cea3ee3 Update User List in README.md (#6758)
Added a new company into the company list
2019-01-25 08:19:19 -08:00
Marcus
01689c38ea bump PyHive version for prod requirements.txt (#6751) 2019-01-24 23:11:22 -08:00
Grace Guo
879c553b0a [fix] JS error out when rename a new chart (#6752) 2019-01-24 21:31:21 -08:00
michellethomas
97cb10dbc8 Make it easier to select dropdown options in control tests (#6546) 2019-01-24 10:10:22 -08:00
agrawaldevesh
594cd70960 A few fixes for Presto connection (#6720)
* Preserve existing configuration when modifying it in case of user impersonation

* Add logging when a table cannot be added due to some schema issues
2019-01-23 21:12:27 -08:00
Maxime Beauchemin
1ffee8b236 [cosmetic] remove 'List' prefix from list headers (#6725)
* [cosmetic] remove 'List' prefix from list headers

* Same change to connectors
2019-01-23 21:06:56 -08:00
Krist Wongsuphasawat
3ae7d32caa Add iframe and markup legacy plugin (#6741)
* Add iframe plugin

* Use lazy load and add description

* remove unintended files

* Add markup

* minor adjustment
2019-01-23 10:21:57 -08:00
Krist Wongsuphasawat
954e42bafe Update gitignore (#6742)
internal: update gitignore
2019-01-23 10:21:41 -08:00
michellethomas
bab7ee7ecf Adding a note about 0.30 to updating (#6730) 2019-01-22 14:38:01 -08:00
Beto Dealmeida
bbd781b66e Remove test URL (#6740) 2019-01-22 14:27:51 -08:00
Beto Dealmeida
cf1a35b94b Allow specifying custom width for logo (#6739) 2019-01-22 14:25:49 -08:00
bolkedebruin
d65059b06a Add disclaimer and remove counter (#6738) 2019-01-22 14:18:16 -08:00
bolkedebruin
1fece0d2fa Add licenses to translations (#6732)
* Add licenses

* More licenses

* Ignore messages.json as they are generated

* More licenses

* Also typescript

* Fix alignment

* Add to svg

* Many more licenses

* more licenses

* Better excludes

* Add licenses to docs and md files

* Pre-finalize licenses

* Fix newlines

* Finalize all sourde licenses

* Fix lint
2019-01-22 08:21:13 -08:00
Hugh A. Miles II
d628907be3 Hotkeys in Explore View (#6526)
* working .... hotkeys in example of hotkeys in explore

* added save functionality

* Added proper overwrite functions

* cleanup

* cleanup

* cleanu

* fixe linting

* add global

* move match to utils

* linting

* change some stuff

* Delete example_filter_immune_slice_fields.json

* hide annoying blue bar

* switch hotkeys to reference s

* remove console.log

* have hotkey generate help

* 🚢

* move functions out of component

* refactor

* Delete yarn.lock

* addressed comments

* remove comments

* remove Hotkeys component from ChartView

* Add hotkeys button next to save&run

* moved keyboard

* cleanup

* checkout package.json

* checkout chart panel

* reference apache

* remove style change

* whitespace

* clean up on hotkey popup

* fds

* linting

* fix all linting errors
2019-01-21 02:10:46 -08:00
bolkedebruin
88283dc2cb Add cc-by 4.0 for geojson files (#6731) 2019-01-19 14:28:40 -08:00
Maxime Beauchemin
f742b9876b Making thrift, pyhive and tableschema as extra_requires (#6696)
* Making thrift, pyhive and tableschema as extra_requires

Looking at the dependency tree for license related questions, I noticed
that tableschema had a huge tree, and only people running Hive really
need it. Making this as well as pyhive and thrift optional.

Also bumping some python dependencies

* Run pip-compile

* Removing refs to past.builtins (from future lib)

* Add thrift
2019-01-19 14:27:18 -08:00
Krist Wongsuphasawat
ebb799140a Update CONTRIBUTING.md based on SIP-13 and add how to use labels (#6701)
* update contributing based on SIP-13

* update link

* add labels instruction

* minor edit

* minor edit

* update table of content

* Add ASF header and update insructions

* update table

* update text
2019-01-19 03:18:22 -08:00
bolkedebruin
3cc7cdfee0 Fix setup.py ASF issues (#6677)
* This renames the package to apache-superset instead of superset.
  This is required.
* It sets the download location to the official ASF repositories
2019-01-19 03:16:33 -08:00
Andrew Kovalyov
01063ce96c Fix link to SQLAlchemy docs about database URLs format (#6698)
'Add database' grid refers to SQLAchemy docs, where database URL format is described. 
Documentation for 1.0 does not exist on https://docs.sqlalchemy.org/, which results in 404 when following the current URL.
The link is fixed taking into account [SQLAlchemy 1.2](https://github.com/apache/incubator-superset/blob/master/requirements.txt#L87) as a project dependency.
2019-01-18 22:32:29 -08:00
Maxime Beauchemin
057c43c56d Revert "Truncate long labels (#6631)" (#6723)
This reverts commit 5055157b64.
2019-01-18 17:24:40 -08:00
Beto Dealmeida
ef79757973 Merge heads (#6729)
* Merge heads

* Add ASF header
2019-01-18 16:04:06 -08:00
Beto Dealmeida
00388811b6 Allow empty results in Hive (from SET, eg) (#6695)
* Allow empty results in Hive (from SET, eg)

* Remove patch

* Merge heads

* Delete merge heads
2019-01-18 10:11:59 -08:00
Beto Dealmeida
c954fe314d Insert a space after auto complete (#6717)
* Insert space after auto complete

* Fix autocomplete with space
2019-01-18 09:38:56 -08:00
Beto Dealmeida
b260cb66b3 Expose more columns in saved queries API (#6686) 2019-01-18 09:38:31 -08:00
Beto Dealmeida
31ea6817b7 Add extra column to SavedQuery (#6687)
* Expose more columns in saved queries API

* Add extra column to SavedQuery

* Add ASF header
2019-01-18 09:38:07 -08:00
Ville Brofeldt
7ee8afb608 Improve support for BigQuery, Redshift, Oracle, Db2, Snowflake (#5827)
* Conditionally mutate and quote sqla labels decouple sqla logic from viz.py

* Prefix hashed label with underscore if bigquery label exceeds 128 chars

* Add comments for label cache

* Rename to mutated_labels and simply

* Rename mutated_label to get_label and simplify make_label_compatible in db_engine_specs

* Add note about deterministic and unique mutated labels

* add hash to label that has been prefixed with underscore

* Fix PEP8 escape warning

* Fix DeckPathViz get_metric_label call
2019-01-18 08:24:11 -08:00
Jeffrey Wang
055467de86 Explicitly declare flags as flags (#6693) 2019-01-18 08:19:54 -08:00
Maxime Beauchemin
69fe50a5c9 [cosmetic] remove margin-bottom on dropdowns (#6627)
* [cosmetic] remove margin-bottom on dropdowns

react-select components have been added 15px bottom-margin without a
good reason. Other controls like text or checkboxes don't have that,
making Selects look non-standard, add making the control list too
sparse.

My perspective is that all controls should have the same
padding/margins.

* Adding a few licenses
2019-01-17 22:56:39 -08:00
Maxime Beauchemin
75322ab12c More ASF licenses (css + html/jinja) (#6711)
* More ASF licenses

* html

* removing from vendors
2019-01-17 22:39:00 -08:00
Maxime Beauchemin
6718588781 Add universal "New" button (#6670)
* [cosmetic] CRUD's list from 'Add Filter' to 'Filter Results'

* Add global new button

* A better viz type selector

* lint

* Move view to new module, add unit test

* 'Filter Results' -> 'Filter'

* db merge

* Filter -> 'Filter List'
2019-01-17 15:48:40 -08:00
Beto Dealmeida
99d6dc07d6 Trim query before parsing (#6703)
* Ignore empty lines

* Fix unit tests

* Use stripped

* Fix another unit test
2019-01-17 09:16:35 -08:00
Krist Wongsuphasawat
9c7b98a27a Add more format shims (#6709)
* add more shims
* update package-lock.json
2019-01-16 23:31:43 -08:00
Christopher Council
30c911919e Fix Text field to edit SQL snippet of a metric is not large enough (#6702)
* Fix Text field to edit SQL snippet of a metric is not large enough for entire snippet
* Fix Airbnb bug PRODUCT-62223
2019-01-16 23:28:38 -08:00
Maxime Beauchemin
88964b7dfc Deprecate auto-generated metrics (#5461)
* [WiP] deprecate auto-generated metrics & fix examples

Picking up some leftover pieces not needed anymore since the
MetricsControl

* db merge

* db merge

* fix migration

* Creating metrics required for tests
2019-01-16 22:32:13 -08:00
Maxime Beauchemin
65f7f2920d Fix url_param macro when param is missing (#6699)
User @ravi on Slack reported issues trying to use url_param jinja macro.
explore_json would raise a "KeyError: 'url_params'".

The feature works when a parameter is passed, but fails hard when none
are passed.

I improved the docstring on the macro as well.
2019-01-16 20:44:28 -08:00
Maxime Beauchemin
e03e276571 Bump some of the requirements-dev.txt (#6700)
* Bump some of the requirements-dev.txt

* addressing comments
2019-01-16 20:40:16 -08:00
Yuan Liu
4c658444e4 Update README.md (#6682) 2019-01-15 21:56:31 -08:00
Maxime Beauchemin
1dd4d7a587 Apply ASF licenses throughout the code base (#5800)
* Add license headers

* reabased

* lint

* Removing licenses from vendors folder
2019-01-15 15:53:27 -08:00
Maxime Beauchemin
da813b7ee3 [table editor] allow selecting physical table (#6046)
* [table editor] allow selecting physical table

* Using classes for padding
2019-01-15 08:53:24 -08:00
Maxime Beauchemin
4667f0c288 Committing some licenses to fix master (#6689) 2019-01-14 22:28:03 -08:00
Christopher Council
207d9529b2 Fix for #6590: Numeric values in columns sometimes returned as quoted strings (#6591)
* Fix: https://github.com/apache/incubator-superset/issues/6590, also depends on https://github.com/apache-superset/superset-ui/pull/71

* Bumped version of superset-ui-connector

* Added @babel/polyfill import

* Reset mock history before each test, not after each test

* Update CONTRIBUTING.md
2019-01-14 15:35:28 -08:00
Yao Zhou
f480a52074 Add doc about translation using poedit (#6600)
* Update CONTRIBUTING.md
2019-01-15 01:48:12 +07:00
Beto Dealmeida
5055157b64 Truncate long labels (#6631) 2019-01-14 10:42:12 -08:00
Junda Yang
b1dbd1cab6 [bugfix] show results in query history & revert #5848 (#6436)
* revert 848

* nit
2019-01-13 22:31:27 -08:00
Chinh Nguyen
284a0cccd3 Add fix for pyodbc+mssql (#6621)
* add fix for odbc+mssql

* fix for pylint/pep8
2019-01-13 09:30:05 -08:00
Maxime Beauchemin
ae6217ba55 Remove dep on unidecode (#6673)
Not needed anymore in py3
2019-01-13 09:22:13 -08:00
Sirius
b2f0b2bde6 Update Dockerfile (#6678)
Fix permission issue.
2019-01-13 08:37:37 -08:00
Mahendra M
42cf929f62 Fix scheduled reports for mysql (#6512)
* Fix scheduled reports for mysql

* Really revert setup.py

* Fix after rebase
2019-01-12 20:29:03 -08:00
bolkedebruin
8e6c114195 Add Apache Rat for license checks (#6663) 2019-01-12 20:28:12 -08:00
bolkedebruin
855228c66c Add NOTICE file and include initial third party licenses (#6671)
* Add NOTICE file and include initial third party licenses

* Add to manifest

* Use txt

* Fix notice
2019-01-12 16:10:03 -08:00
Kaxil Naik
a55a5e06c6 Remove bad git conflicts from Readme (#6669) 2019-01-12 09:57:13 -08:00
Yongjie Zhao
b143b16dff #6588 Clear all other query tabs (#6617)
* #6588 Clear all other query tabs

* Improve SQLEditor methods bind

* Update loop syntax
2019-01-11 16:35:53 -08:00
Maxime Beauchemin
0053a86684 [README] use a numbered list instead of bullets for org list (#6629)
* [README] use a numbered list instead of bullets for org list

* Add companies frmo https://stackshare.io/superset/in-stacks
2019-01-11 16:06:39 -08:00
Maxime Beauchemin
7e0e7c89ba Improving Filter Box (#6523)
* Improve Filter Box

* layout tweaks
2019-01-11 15:28:23 -08:00
Tao Feng
fafa6b4dda Minor doc fix for superset (#6662) 2019-01-11 09:50:31 -08:00
Maxime Beauchemin
8051818693 [pie] allow formating nubmers on pie chart (#6628) 2019-01-11 08:28:58 -08:00
timifasubaa
9d70c348d3 pass source to db api mutator (#6497) 2019-01-10 17:30:32 -08:00
zhaoyu89730105
a2ce9974cd Add kuaishou to README.md (#6630)
* add kuaishou
2019-01-10 23:21:59 +07:00
zhaoyu89730105
42437236b2 data point no clipEdge (#6614) 2019-01-09 20:35:20 -08:00
Mahendra M
fbf9586adf Bump requirements (#6625)
* Bump requirements

* Fix setup.py for email reports
2019-01-09 16:00:04 -08:00
Beto Dealmeida
f6ac0daf7e Improve padding in NVD3Vis (#6626)
* WIP, fixing padding

* Remove testing code
2019-01-09 15:43:57 -08:00
Maxime Beauchemin
eafb4f9600 Upgrade webpack-dev-server to fix 'npm audit' issue (#6607) 2019-01-08 15:55:27 -08:00
Maxime Beauchemin
accc754a87 Improve false negative on AlteredSliceTag (#6578)
The "altered" tag in the explore view shows up more often than it
should. By treating null, [] {}, undefined as identical will help reporting
only the differences that matter.
2019-01-08 12:23:12 -08:00
Christine Chambers
49e3638eee Introduce a more visible resize grabber to the SQL editor (#6593)
- Clean up css and html of the sql editor button area (removing unused styles)
- Restyle the button area and the resizer to be more like the one proposed in issue 6565
2019-01-08 10:06:00 -08:00
Joe Bordes
28ca07e640 fix(i18n) syntax errors detected by grammarly while translating (#6271) 2019-01-09 00:27:26 +07:00
Beto Dealmeida
3c17dac35a Upgrade gsheetsdb (#6609) 2019-01-07 22:48:33 -08:00
hmanuel
818a6a832c Make NULL value grouping keys show up properly in rich tooltip (#6003)
* resolved merge conflicts with upstream

* changed the key in a spot I missed

* linting

* refactored my code out into a function

* update util

* simplified the code logic

* cleaned up code
2019-01-07 17:23:11 -08:00
Grace Guo
be1895f2dc [fix] url shortner for long explore url (#6449)
- redirect explore url with r parameter
- redirect to relative path
2019-01-07 14:28:30 -08:00
Maxime Beauchemin
68e9d2970a Fix 'Uncaught TypeError: Cannot read property 'value' of undefined' #6556 (#6574)
closes #6556
2019-01-08 00:22:07 +07:00
Marcus
f291dae200 shift labels down along y-axis (#6596) 2019-01-05 09:50:01 -08:00
Yao Zhou
bc9c183243 Fix bug: some word not translate in js. (#6598)
delete the 'null,' in messages.json,
so that word can be translate in js.
2019-01-05 09:48:08 -08:00
Yao Zhou
3802f011d9 add chinese translate (#6592) 2019-01-04 09:03:47 -08:00
oliviermichaelis
c01230afb7 Enhance Docker (#6504)
Refactored deprecated functionalities:
  - Used 'celery worker' command instead of 'superset worker' which is
    deprecated since 0.26.0
  - Used 'gunicorn' command instead of 'superset runserver'
2019-01-03 11:33:31 -08:00
Maxime Beauchemin
142e7b6df7 Finish move to babel 7 (#6573)
* Finish move to babel 7

* Bump jest to 23.6.0

* Address comments
2018-12-30 16:41:38 -08:00
Maxime Beauchemin
6099519896 Using batch_op in db migration 0b1f1ab473c0 (#6581)
As I needed to downgrade from db migration 0b1f1ab473c0, I realized I
needed to use batch_op against SQLLite.
2018-12-28 12:41:11 -08:00
Maxime Beauchemin
b16498796f [bugfix] moving from reactable to reactable-arc fork (#6576) 2018-12-28 10:45:51 -08:00
Brayan Arrieta
d80cbbc7ec Change margin for slice description in charts for the dashboard view (#6575)
Changed margin for the slices description in dashboard view, previously the margin was 5px for all the sides but for improve the view just apply margin for top and bottom.
2018-12-28 08:52:38 -08:00
ghsalem
f761237260 fixing issue #6572 with Oracle date handling (#6580)
* fix Oracle engine specs for dates issue #6572

* fix Oracle engine specs for dates issue #6572

* fix Oracle engine specs for dates issue #6572, removing comment

* ng a trailing space
2018-12-28 08:51:48 -08:00
Maxime Beauchemin
2c3794e28d [design] use angle icons instead of carets for expandable panels (#6564)
* [design] use angle icons instead of carets for expandable panels

Also moving to the right to conform to the material design specs

* Fix cypress test
2018-12-27 22:18:27 -08:00
Beto Dealmeida
a0b2f2ca0f Fix multi/dual when no right y axis (#6571) 2018-12-27 21:17:48 -08:00
Patrick Tyler Haas
d99b36e892 Fix: updated required cryptography version to 2.4.2 to resolve #6509 (#6516)
* Fix: updated required cryptography version to 2.4.2 to resolve #6509

* Fix: updated cryptography version to 2.4.2 to resolve #6509

* Fix: updated cryptography version to 2.4.2 to resolve #6509

* Revert "Fix: updated required cryptography version to 2.4.2 to resolve #6509"

This reverts commit b57b08c8e5.

* Fix: updated cryptography version to 2.4.2
2018-12-27 14:14:01 -08:00
shizidushu
4e03d41f17 fix #6530 and add some other chinese translation (#6569) 2018-12-27 12:45:50 -08:00
Karri Niemelä
f424af8385 json_iso_dttm_ser use for TableViz (#6563) 2018-12-27 11:38:05 -08:00
Maxime Beauchemin
fe77b57581 [refactor] moving some datasource-related code to the frontend (#5769)
* [refactor] moving some datasource-related code to the frontend

* fix js tests

* fix tests

* fix test
2018-12-22 18:06:36 -08:00
Karri Niemelä
eff4e6362c Adding missing slash (#6567) 2018-12-22 16:44:31 -08:00
Maxime Beauchemin
d427db0a8b [SQL Lab] Allow running multiple statements (#6112)
* Allow running multiple statements from SQL Lab

* fix tests

* More tests

* merge heads

* fix heads
2018-12-22 10:28:22 -08:00
Maxime Beauchemin
6e942c9fb3 Make boto3/botocore installation optional (#6540)
* Make boto3 installation optional

* pylinting
2018-12-21 12:27:57 -08:00
Maxime Beauchemin
60ccf3eb9d [SIP-14] remove dependency on yarn in favor of npm (#6541)
* [SIP-14] remove dependency on yarn in favor of npm

Find more details here
https://github.com/apache/incubator-superset/issues/6217

* Add core-js to dev deps

* lint

* fix cypress

* break down cypress_build.sh

* fix cypress

* Use 'npm ci' in place of 'npm install'

* Bump npm req to >=6.5.0

* Enforcing  npm@'>=6.5.0'

* Using latest lts of nvm

* Make cache settings global

* remove uneeded 'npm run test' as 'npm run cover' takes care of that

* Prefix with 'time'

* Trying to upgrade babel-eslint instead of downgrading

* upgrading babel-polyfill to '@babel/polyfill'

* Moving to babel 7

* remove unused packages
2018-12-21 10:24:49 -08:00
Maxime Beauchemin
8c6ddbc842 Fix multiple db_migrations heads (#6560) 2018-12-20 22:08:52 -08:00
leakingoxide
fd0338614a Make owner a m2m relation on datasources (#6544)
* Make owner a m2m relation on datasources

* Fix pylint

* Make migration work in mysql & sqlite
2018-12-20 20:35:32 -08:00
Yongjie Zhao
6a95f8070a minor, auto tune debug mode when use flask_env (#6550)
* minor, auto tune debug mode when use flask_env

* update changes
2018-12-20 20:35:06 -08:00
Maxime Beauchemin
42067e077b [RfC] Fix URL too long (#6519)
When a URL gets too long (usually happens with controls that allow
free form text), it creates an array of bugs.
* bug when creating a short URL, because the POST request's referrer
field is too long
* a bug when saving a chart (when the modal shows up) also because of
the referrer being too long

Some work has been done in the past to mitigate this, and I'm unclear if
it's some sort of regression because of the Flask upgrade or some
browser change, or whether these bugs have always been around.

This is a request for comment on an approach that works. Let me know if
you can think of better ideas as to how to manage this.

My current solution looks for 8000+ characters URLs and shrinks them to
only `/superset/explore/?URL_IS_TOO_LONG_TO_SHARE&form_data=...` and we
only keep the formData keys for `datasource` and `viz_type`. Not super
elegant but does the trick.
2018-12-18 16:14:20 -08:00
Maxime Beauchemin
5a1ff0f09d [cosmetic] add css no-wrap on CRUD's last modified (#6522) 2018-12-18 16:13:21 -08:00
Maxime Beauchemin
3f29a1dd70 Secure unsecured views and prevent regressions (#6553)
* Secure views and prevent regressions

* Force POST on shortner

* Fix tests
2018-12-18 11:57:13 -08:00
MukaJiTrue
926f78c21d Fix deck.gl Polygon not show (#6545)
* Fix deck.gl Polygon not show

* Replace "//" to "// "
2018-12-18 11:16:09 -08:00
dragons
b06941945c fix addr_str format bug (#6551) 2018-12-18 11:03:15 -08:00
Beto Dealmeida
e2b9625d84 Increase size of column name in table ab_view_meu (#6532)
* Create migration script

* Use batch operation for ALTER COLUMN
2018-12-18 10:57:45 -08:00
Beto Dealmeida
672c470e79 Pass security manager to QUERY_LOGGER (#6548)
* Pass security manager to log_query

* Fix lint
2018-12-18 10:55:58 -08:00
Antoan Milkov
fe994900ec filter_values documentation fix (#5977) 2018-12-17 21:20:46 -08:00
Ville Brofeldt
c4884e3c2e Remove note about snowflake-sqlalchemy stable version regression (#6398) 2018-12-17 21:20:00 -08:00
Chanakya
c6263fc096 Documentation Correction to use http.server for Python3 (#6549) 2018-12-17 17:20:33 -08:00
Mars
95cdda4482 Fix string value displaying NaN (#6534) 2018-12-17 17:03:51 -08:00
Marcus
9ec3e18ecb adding in a dependency version to fix an error with Flask CLI (#6547) 2018-12-17 13:46:04 -08:00
Hugh A. Miles II
e2854994ba Add docker files to gitignore (#6507)
* add docker files to gitignore

* Update .gitignore
2018-12-16 21:24:16 -08:00
Ville Brofeldt
5bac723df4 Refactor teradata to new time_grain_functions spec (#6539)
* Refactor teradata to new time_grain_functions spec

* Add test for time_grain_functions
2018-12-16 08:53:29 -08:00
michellethomas
fe0f5e968e Avoid resetting margin to 0 (#6536)
* Avoid resetting margin to 0

* Fixing margin for pie chart
2018-12-14 14:17:45 -08:00
John Bodley
1fba6f7a17 [warm] Enforcing consistent form-data (#6531) 2018-12-14 14:00:38 +13:00
Beto Dealmeida
852c51219b Update requests version (#6510)
* Update requests version

* Run pip-compile --output-file requirements.txt
2018-12-11 22:01:06 -08:00
Kengo Seki
d203886e47 Fix malformed table in docs/visualization.rst (#6409) 2018-12-11 16:49:17 -08:00
Krist Wongsuphasawat
96a0105f7a Update contributing.md with latest local dev instructions (#6513) 2018-12-11 13:45:50 -08:00
Omkar Yadav
56aa7ac7c6 Typo: Fixed link (#6087) 2018-12-11 10:42:13 -08:00
Mahendra M
808622414c [SIP-3] Scheduled email reports for Slices / Dashboards (#5294)
* [scheduled reports] Add support for scheduled reports

* Scheduled email reports for slice and dashboard visualization
  (attachment or inline)
* Scheduled email reports for slice data (CSV attachment on inline table)
* Each schedule has a list of recipients (all of them can receive a single mail,
  or separate mails)
* All outgoing mails can have a mandatory bcc - for audit purposes.
* Each dashboard/slice can have multiple schedules.

In addition, this PR also makes a few minor improvements to the celery
infrastructure.
* Create a common celery app
* Added more celery annotations for the tasks
* Introduced celery beat
* Update docs about concurrency / pools

* [scheduled reports] - Debug mode for scheduled emails

* [scheduled reports] - Ability to send test mails

* [scheduled reports] - Test email functionality - minor improvements

* [scheduled reports] - Rebase with master. Minor fixes

* [scheduled reports] - Add warning messages

* [scheduled reports] - flake8

* [scheduled reports] - fix rebase

* [scheduled reports] - fix rebase

* [scheduled reports] - fix flake8

* [scheduled reports] Rebase in prep for merge

* Fixed alembic tree after rebase
* Updated requirements to latest version of packages (and tested)
* Removed py2 stuff

* [scheduled reports] - fix flake8

* [scheduled reports] - address review comments

* [scheduled reports] - rebase with master
2018-12-10 22:29:29 -08:00
Beto Dealmeida
f366bbe735 Google spreadsheets (#5915)
* Google spreadsheets

* Fetch table metadata in SQL Lab

* Show full URL for spreadsheet

* Fix version

* Remove sqllab changes
2018-12-10 13:11:54 -08:00
michellethomas
23a2ab1077 Adding tests for time table, formatting, and annotations (#6498) 2018-12-10 12:16:11 -08:00
aboganas
96f510619c Fix Annotation (#6457) 2018-12-09 08:00:47 -08:00
Maxime Beauchemin
f5a277cc72 Pypi has a 60mb package size limit, and we're over (#6493)
* removing india country map which is 12MB+
* removing src/ in general, keeping the countries folder which has geo
data
2018-12-08 23:52:47 -08:00
Maxime Beauchemin
4109e893d3 Bump pydruid to 0.5.0 (#6454) 2018-12-08 23:47:55 -08:00
Beto Dealmeida
5168c69a25 Hook for auditing queries (#6484)
* Hook for auditing queries

* Address comments

* Use __name__
2018-12-07 12:19:19 -08:00
leakingoxide
eb408d71c4 Add copy to clipboard buttons in explore and sqllab (#6461)
* Add copy to clipboard buttons in explore and sqllab

* Eslint fixes

* Review changes: deconstruct props, extract function to utils, add tests
2018-12-07 10:03:33 -08:00
Conglei
fc8acf27c8 [Bug Fix]Prevent re-rendering when non-instant controls change (#6483)
fix: Prevent re-rendering when non-instant controls change
2018-12-05 17:31:59 -08:00
zhaoyu89730105
fd54de7856 FixBug druidMetricModels No attribute get_perm (#6432) 2018-12-05 09:46:38 -08:00
leakingoxide
8307716d72 Add See Tableview Form button to the Datasource Editor modal (#6430)
* Add See Tableview Form button to the Datasource Editor modal

* Change the text on datasource edit button
2018-12-04 20:44:13 -08:00
Junda Yang
13f374aa9e make loading icon bigger (#6485) 2018-12-04 20:43:14 -08:00
Krist Wongsuphasawat
fcec748b62 Use @superset-ui/number-format and @superset-ui/time-format for formatting. (#6470)
refactor: proxy all d3 number and time formatting calls
2018-12-04 13:24:07 -08:00
Maxime Beauchemin
cc3a625a4b Use py3's f-strings instead of s.format(**locals()) (#6448)
* Use py3's f-strings instead of s.format(**locals())

In light of the bug reported here
https://github.com/apache/incubator-superset/issues/6347, which seems
like an odd `.format()` issue in py3, I greped and replaced all
instances of `.format(**locals())` using py3's f-strings

* lint

* fix tests
2018-12-02 13:50:49 -08:00
Marek Šuppa
002518ba49 Update sqllab.rst (#6469)
* Set correct link to the Celery Project
2018-12-01 09:34:49 -08:00
Grace Guo
8e14e0bd67 allow domain sharding in frontend (#5039) 2018-11-30 10:30:04 -08:00
Krist Wongsuphasawat
20e1ac6242 Update @superset-ui/colors (#6464)
* Update package version and update breaking changes for color

* update color function usage

* update dependency
2018-11-30 09:50:42 -08:00
Chris Williams
5f7817a6a3 [SIP-5] Build metrics in query_object in the client (#6423)
* [SIP-5] Build metrics in query_object in the client
- Unify the metric interface (absorb the current plain string metric for built-in metric keys into the format used by adhoc metric)
- Port the logic in adhocMetric on the client and process_metrics in the backend to the new typed Metrics class
- Omit hasCustomLabel and formFromData properties from the new metric interface as their value can be inferred from label and optionName
- Expose from the Metrics class both metrics and their labels as public methods to match the all_metrics and metric_labels fields in the backend code
- Provide defaut values for filters, metrics and groupby in the backend

* addressing PR comments

* Adding a comment for metrictype values
2018-11-29 20:57:55 -08:00
michellethomas
5261d8a9fe Fixing error when clearing big number (#6465) 2018-11-29 18:52:49 -08:00
Krist Wongsuphasawat
e715cdb9ac [READY] Update SuperChart onRenderXXX listeners (#6376)
* Revise LoadableRenderer (+3 squashed commits)
Squashed commits:
[f1614c7c] extract createLoadableRenderer into a separate function
[8689bc94] extend LoadableRenderer
[3d04ff2b] remove skipRendering

* add number of times function was called to the test
2018-11-29 11:09:08 -08:00
Christine Chambers
e06f87304c Adding a comment for metrictype values 2018-11-29 13:31:22 -05:00
Christine Chambers
a4597afee0 addressing PR comments 2018-11-28 19:39:18 -05:00
Christine Chambers
c11e9c8b67 [SIP-5] Build metrics in query_object in the client
- Unify the metric interface (absorb the current plain string metric for built-in metric keys into the format used by adhoc metric)
- Port the logic in adhocMetric on the client and process_metrics in the backend to the new typed Metrics class
- Omit hasCustomLabel and formFromData properties from the new metric interface as their value can be inferred from label and optionName
- Expose from the Metrics class both metrics and their labels as public methods to match the all_metrics and metric_labels fields in the backend code
- Provide defaut values for filters, metrics and groupby in the backend
2018-11-28 19:39:18 -05:00
Junda Yang
2731a010ca fix metadata cache bug (#6458) 2018-11-28 15:15:28 -08:00
Junda Yang
f1cae2ecdd override get_view_names in PrestoEngineSpec (#6459)
* override get_view_names in PrestoEngineSpec

* add test

* flake 8

* flake 8
2018-11-28 15:13:38 -08:00
Ville Brofeldt
4579b12732 Ensure that dttm is of same timezone as epoch_with_tz (#6453) 2018-11-27 21:59:23 -08:00
aboganas
71a713dcec replace missing round function in d3 to fix MapBox (#6444)
* replace missing round function in d3

* added unit test

* fixed linting
2018-11-27 21:34:27 -08:00
Maxime Beauchemin
2931baa294 Deprecate database attribute allow_run_sync (#4961)
* Deprecate database attribute allow_run_sync

There's really 2 modes of operations in SQL Lab, sync or async
though currently there are 2 boolean flags: allow_run_sync and
allow_run_async, leading to 4 potential combinations, only 2 of which
actually makes sense.

The original vision is that we'd expose the choice to users and they
would decide which `Run` or `Run Async` button to hit.
Later on we decided to have a
single button and for each database to be either sync or async.

This PR cleans up allow_run_sync by removing references to it.

* Fix build

* Add db migration

* using batch_op
2018-11-27 21:08:44 -08:00
aboganas
529cb5cab1 fix Calendar Heatmap (#6445)
* fix  D3 v4.0, selections are not arrays anymore

* added vale checking

* fixed linting

* cleanup
2018-11-27 20:54:25 -08:00
aboganas
b0a55743b3 fix sunburst breadcrumbs (#6451) 2018-11-27 16:54:10 -08:00
Fokko Driesprong
8a8e840819 Rename Druid to Apache Druid (Incubating) (#6419) 2018-11-27 11:59:10 -08:00
Hugh A. Miles II
52bb92d0d4 [Docs] Make sure venv is py3 and export app (#6401)
* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md
2018-11-27 11:41:50 -08:00
Victor Noël
02aa3c6395 Improve development experience with Docker (#5966)
- Improve Docker image
  - smaller
  - faster to build
  - deterministict dependencies (see #5958)
- Rework process to simplify setting things up
  - updated documentation
  - less commands to type
  - no files to move and modify
  - optional loading of samples
- Still working in standalone mode (without volumes for superset)
2018-11-27 11:19:55 -08:00
Grace Guo
3e4742fa7b [fix] edit chart title cause JS error (#6438) 2018-11-27 10:36:56 -08:00
Jiaji Zhou
1eb0d0d835 Remove coordinator in Druid Cluster config (#5164) (#6443) 2018-11-27 09:41:16 -08:00
pavitranrambo
2b2c650040 Grammatical Error (#6439) 2018-11-26 23:22:05 -08:00
Grace Guo
2489876bc9 [logging] Add render failure error into log (#6422) 2018-11-26 11:51:25 -08:00
Craig Rueda
5ca8c0ba3c Updated local dev instructions to include missing step (#6428) 2018-11-26 11:16:58 -08:00
Krist Wongsuphasawat
3c6e882d28 [bugfix] Display raw value in addition to ERROR (#6417)
* Display raw value in addition to ERROR

* update unit test
2018-11-26 10:44:42 -08:00
zhaoyu89730105
7eb46843cb FixBug sqlMetricModels No attribute get_perm (#6433) 2018-11-26 09:08:54 -08:00
Christian Jauvin
0b830ced93 Fix French typos (#6435) 2018-11-26 09:07:37 -08:00
Maxime Beauchemin
9dffe3abb0 Link to the ASF's code of conduct (#6406) 2018-11-25 08:46:37 -08:00
Krist Wongsuphasawat
2916c48567 use same xaxis formatter for line chart tooltip (#6412) 2018-11-20 17:35:13 -08:00
timifasubaa
91b758f3bc Reduce data loaded before loading tests (#6298)
* reduce data loaded before loading tests

* make cypress only load needed tests
2018-11-19 15:27:25 -08:00
Evans Hauser
a6f013270d Update README.md (#6410) 2018-11-19 14:04:57 -08:00
Maxime Beauchemin
8155f4bf30 [bugfix] deckgl legend is not interactive (#6365)
* [bugfix] deckgl legend is not interactive

Somehow when clicking categories in the legend, nothing happened. The
problem seemed to be around the `getDerivedStateFromProps` override
which gets triggered after each render and would alter the state and
reset the categories state to their origin.

Changed the method name to not be an override and just be called once
in the constructor

https://reactjs.org/docs/react-component.html#static-getderivedstatefromprops

* lint
2018-11-19 14:02:07 -08:00
Maxime Beauchemin
4c4b6c41a1 Minor improvements to Histogram viz (#6391)
* Minor improvements to Histogram viz

* prevent legend overflow (spill) by simply hiding it
* legend title only includes metric name when necessary
* control validator asking forcing at least one numeric column to be
selected

* Removing print()
2018-11-19 14:01:20 -08:00
michellethomas
d1a3ba85dd Adding cypress tests for showing errors, time range filter, and verbose name (#6407)
* Adding cypress tests for showing erros, time range filter, and verbose name

* Adding tests for time range without ago

* Adding test to verify error message showing
2018-11-19 11:29:46 -08:00
Andy
8f3d911149 'Fligth' filename typo (#6364)
* renamed the raw data to correct typo

* renamed flight data ref to correct typo
2018-11-18 15:26:30 -05:00
Yongjie Zhao
5913c27830 Expose Sqllab status in databases list view (#6388) 2018-11-16 21:00:58 -08:00
Grace Guo
e469086d61 [fix] view results in sql lab (#6405) 2018-11-16 20:58:05 -08:00
Maxime Beauchemin
8177fa17fa [bugfix] deck.gl grid&hex don't respond to zoom&drag (#6363)
* [bugfix] deck.gl grid&hex don't respond to zoom&drag

Following recent changes, Hex & Grid component wouldn't respond to
viewport interactions. This fixes the issue.

This PR also greatly improve rendering performance by only recomputing
the deck.gl layers when needed, as opposed to every time the viewport
changes, which is very inneficient.

Note that most other deck.gl layers seem to be systematically
recomputing layers, we'll have to fix this in another PR.

* Addressing comments
2018-11-16 17:12:19 -08:00
Maxime Beauchemin
4c94447635 Fix adhoc metrics in Polygon (#6399)
* Fix adhoc metrics in Polygon

* Addressing comments
2018-11-16 17:06:21 -08:00
Christine Chambers
8b2cae007d [SIP-5] QueryBuilder in the client for granularity and groupby in word cloud (#6377)
* [SIP-5] QueryBuilder in the client for groupby field

- Lay the structure of the QueryContext builder in the client
- QueryContext builder composes different portions of the queryContext object (to be sent to server from the client) from the datasourceBuilder and the queryObjectBuilder.
- The datasourceBuilder builds the datasource id and type by parsing them from the datasource field in formdata
- The queryObjectBuilder currently only builds the groupby field. It will further compose the queryObject from sub query builders in future PRs.
- Create a buildQuery method for WordCloud and override the groupby value with the value of series from formdata.

* Addressing PR comments
- Rename query builder files and their default exports
- Move tests into spec/javascripts/superset-ui for easy mass migration to superset-uiin the future
- Define viz specific formData and export formData for each viz type as intersection type of the generic formData and the viz specific one
- Specify the type signature for sqla and druid based data sources

* Addressing additional PR comments.
- Introduce a Datasource class and leverage Typescript's declaration merging of the interface
by the same name.
- Let Typescript infer the return type of various builders instead of specifying them explicitly

* Further tweaking the generic buildQueryContext method and viz speicific buildQuery methodes per PR comments.

* git mv a renamed file.

* addressing additional pr comments
2018-11-16 15:51:50 -08:00
Grace Guo
c42bcf81bc [migration]clean up __from and __to parameters in dashboard json_metadata (#6378) 2018-11-16 11:03:22 -08:00
Jeffrey Wang
8c4f723a61 Set default limit on creation of new qe and on run (#6400) 2018-11-15 15:38:51 -08:00
timifasubaa
c17de3940c Split cypress tests (#6241)
* aplit cypress tests

* split into three
2018-11-15 12:26:33 -08:00
Grace Guo
ec1316a5a8 [fix] JS error after delete row level tab (#6393) 2018-11-15 10:30:08 -08:00
Kengo Seki
e66b0469b4 Add Japan country map (#6368)
* Add Japan country map

* Fix obsolete paths in the document about adding new country map
2018-11-14 18:46:57 -08:00
Maxime Beauchemin
d6953210b8 Disable flaky cypress SQL Lab test (#6302)
* Disable flaky cypress SQL Lab test

* lint
2018-11-14 18:21:55 -08:00
Kengo Seki
a5b528c688 Update the installation document based on Python 3.6+ (#6370)
* Update the description based on Ubuntu 16.04 with 18.04,
  since Python version bundled with the former is 3.5,
  which is not already supported

* Remove obsolete descriptions based on Python <= 3.5
2018-11-14 18:14:11 -08:00
Maxime Beauchemin
4690563d40 [bugfix] prevent d3-format from raising (#6386)
Since https://github.com/apache/incubator-superset/pull/6287 and
effectively moving to a new version of d3, d3-format and d3-time-format
raises when receiving invalid input strings.

This code wraps the potential issues inside `try` blocks that will
effectively return an `ERROR` string as output to the formatting
function.
2018-11-14 11:22:06 -08:00
Krist Wongsuphasawat
cb556688ec do not convert value to lowercase when looking up color (#6384) 2018-11-13 13:44:43 -08:00
timifasubaa
d9a7d565a0 remove user params (#6345) 2018-11-13 09:27:08 -08:00
Conglei
8e2d28dd6e Fixed the cache issue for BigNumber (#6375)
* fixed the cache issue for bignumber

* fixed
2018-11-12 12:57:46 -08:00
Maxime Beauchemin
e0b3927ece [bugfix] visualization flickers when rerunning query (#6374)
When hitting the Query button in the explore view, the previous chart
gets shown (flaskhed quickly) between the moment where the loading
spinner goes away and the new chart show up. This fix seems to prevent
this.
2018-11-12 10:49:27 -08:00
James Finucane
b44c8349ee [bugfix] EventFlow does not display (#6367)
* Fix EventFlow transform is not a function

transformProps was being passed into EventFlowChartPlugin as object (module) as opposed to function. This commit changes the implementation to be consistent with the other ChartPlugins and fixes the typeError that causes EventFlow Chart to not display.

* Revert to lazy-loading transformProps

- Revert to lazy-loading transformProps
- Fix in Superchart will default to transformProps.default if available to allow for the lazy-loading

* Fix for lazy-loaded imports in ChartPlugins

* Fix lint error
2018-11-12 10:41:21 -08:00
John Bodley
0873abde12 [404] Aborting for views with invalid dashboard/slice IDs (#6355) 2018-11-12 10:08:20 -08:00
John Bodley
74f0817bf0 [hive] Fixing where lastest partition logic (#6357) 2018-11-12 10:07:38 -08:00
Grace Guo
1a5ca35a55 [cypress] Test dashboard save/save_as functions (#6361) 2018-11-11 21:57:23 -08:00
Krist Wongsuphasawat
a7b52da6ce [reviewable] Integrate @superset-ui/{core,color,chart} modules (#6234)
* Add d3 micro packages

* Replace d3 imports with specific modules import

* Define d3 colors

* import specific d3 submodules instead of entire d3

* update function name

* move function location and fix small bug

* Move primary color to control

* remove colorscalefactory usage

* remove unused d3

* fix unit test

* fix color picker

* use @superset-ui/color

* update package version

* remove files that are extracted

* replace all references

* fix two files

* Revert some changes to split to another PR

* remove adaptor

* Address Christine's comment

* remove d3 v3 from calendar

* remove d3.scale.threshold

* Get rid of colorScalerFactory and revise hexToRGB

* fix color cleaning

* fix lint
2018-11-11 10:07:05 -08:00
Maxime Beauchemin
841d5e6338 [nvd3] refactor margins (#6282) 2018-11-10 15:56:20 -08:00
Christine Chambers
81349df625 Parse datasource_id as integer on the server side (#6359)
- Datasource ids are being serialized into strings on the client side and python's default json.load doesn't deserialize strings representing integers as integers. Adding an integer parsing step when initializing QueryContext.
2018-11-10 15:45:03 -08:00
Krist Wongsuphasawat
3ffb48c492 [reviewable] Organize d3 utilities usage (#6287)
* update package.json

* extract changes from another PR

* add d3 prefix

* two more places

* update lockfile
2018-11-09 11:42:54 -08:00
Chris Williams
8bf9a5b9a3 [dashboard] fix save/save-as flow (#6350)
* [dashboard] fix save/save-as flow

* [bugfix][dashboard] consistent response type for save/save-as
2018-11-09 11:15:42 -08:00
Krist Wongsuphasawat
5a3773223d change to camelcase (#6354) 2018-11-09 11:06:30 -08:00
Brayan Arrieta
04865f0280 Update docker-entrypoint.sh (#6346)
Previously in the issue #6289 change the port for docker, but the port must be changed also in the entrypoint for docker
2018-11-08 23:08:05 -08:00
Chris Williams
62dcce890c [bugfix] don't parse save dashboard response (#6349)
* [bugfix] don't parse save dashboard response

* [dashboard] remove bracket in error message
2018-11-08 19:27:22 -08:00
Krist Wongsuphasawat
3d7752600b [reviewable] [refactor] Split visTypes into one file for each visualization type (#6290)
* extract two files

* pass linting

* rename variables

* rename file

* fix lint

* Rename controlPanelConfigs.js to controlPanels/index.js

* use specific imports
2018-11-08 12:50:39 -08:00
Maxime Beauchemin
4934605043 Make stacktraces available in many more cases (#6299)
* Wrap <LoadableRenderer /> with <ErrorBoundary />

It appears that since the introduction of <SuperChart />, errors in the
visualization javascript (which are somewhat common and expected,
especially as we'll support plugins) were not handled and the whole
page would throw and go missing.

Here I'm introducing a new <ErrorBoundary /> component that elegantly
wraps other
components and handles errors. It's inspired by:
https://reactjs.org/docs/error-boundaries.html

The default behavior of the component is to simply surface the error
as an <Alert bsStyle="danger" /> and exposes the React stacktrace
when clicking on the error.

It's also possible to use component and pass an onError handler and not
show the default message.

This also fixes some minor bugs in TimeTable.

* Addressing comments

* Getting more stack traces

* Adressing comments
2018-11-08 09:38:10 -08:00
Antonin Kral
1fcfda4fdc Add Showmax among users (#6308)
Would like to add Showmax as a user of Superset.
2018-11-08 08:13:16 -08:00
Maxime Beauchemin
2607d0a6a0 [fix warning] Warning: Failed prop type: Invalid prop bsSize of value md (#6293) 2018-11-07 23:12:32 -08:00
Irfan Faizullabhoy
70327ca42c Docker Demo, Port Change (#6289)
If you follow the documentation, the current docker instructions return an error when trying to connect via localhost. This seems to be due to the fact that it's running on port 8080, but forwarding port 8088. I suppose the cleaner solution is to do this, as opposed to changing both the compose file and the instructions... Hope this helps!!
2018-11-07 21:28:04 -08:00
Grace Guo
ede5c710ed [annotation] Only allow override whole time_range (#6286) 2018-11-07 19:26:06 -08:00
timifasubaa
77845ab081 add logging to csv upload (#6297) 2018-11-07 18:40:07 -08:00
Christine Chambers
8c0551ed46 [SIP-5] Open a new /api/v1/query endpoint that takes query_obj (#6220)
* [SIP-5] Open a new /api/v1/query endpoint that takes query_obj

- Introduce a new handle_superset_exception decorator to avoid repeating the logic for catching SupersetExceptions
- Create a query_obj_backfill method that takes form_data and constructs a query_obj that will be constructed in the client in the future. Use the backfill in explore_json.
- Create a new /api/v1/query endpoint that takes query_obj only and returns the payload data. Note the query_obj is constructed in the client. The endpoint currently only handles query_obj for table view viz (we'll be adding support to new viz types as we go).
- Unit test to verify the new endpoint for table view

* fix tests and lint errors

* - Move the new query endpoint into its own api.py view.
- Create QueryObject and QueryContext class to encapsulate query_object to be built from the client and additional info (e.g. datasource) needed to get the data payload for a given query
- Remove the query_obj_backfill as we'll start building the first query_object on the client so it no longer makes sense to have a short-lived backfill for the matter of days.

* Fixing lint and test errors

* Fixing additional lint error from the previous rebase.

* fixing additional lint error

* addressing additional pr comments

* Make /query accept a list of queries in the query_context object.

* fixing a lint error

* - Move time_shift based calculation and since, until check into util
- Add typing info for get_since_until
- Add new unit tests to verify time_shift calculation and the since until check
2018-11-07 17:23:52 -08:00
Maxime Beauchemin
4ce475f287 Wrap <LoadableRenderer /> with <ErrorBoundary /> (#6294)
* Wrap <LoadableRenderer /> with <ErrorBoundary />

It appears that since the introduction of <SuperChart />, errors in the
visualization javascript (which are somewhat common and expected,
especially as we'll support plugins) were not handled and the whole
page would throw and go missing.

Here I'm introducing a new <ErrorBoundary /> component that elegantly
wraps other
components and handles errors. It's inspired by:
https://reactjs.org/docs/error-boundaries.html

The default behavior of the component is to simply surface the error
as an <Alert bsStyle="danger" /> and exposes the React stacktrace
when clicking on the error.

It's also possible to use component and pass an onError handler and not
show the default message.

This also fixes some minor bugs in TimeTable.

* Addressing comments
2018-11-07 17:11:52 -08:00
Beto Dealmeida
a57603adb4 Geoviz state management fix (#6260)
* Fix deckgl getPoints

* Fix CSS

* Fix zoom

* Fix CategoricalDeckGLContainer

* Fix cypress
2018-11-07 16:51:22 -08:00
Jeffrey Wang
0584e3629f Add separate limit setting for SqlLab (#4941)
* Add separate limit setting for SqlLab

Use separate param for wrap sql

Get query limit from config

unit tests for limit control rendering in sql editor

py unit test

pg tests

Add max rows limit

Remove concept of infinity, always require defined limits

consistency

Assert on validation errors instead of tooltip

fix unit tests

attempt persist state

pr comments and linting

* load configs in via common param

* default to 1k
2018-11-07 15:57:44 -08:00
Maxime Beauchemin
aed774e18b [bugfix] handle Loading spinner properly (#6292)
Addressing post-merge comments in
https://github.com/apache/incubator-superset/pull/6283
2018-11-07 13:04:17 -08:00
Grace Guo
69e8df404d sql lab localStorage config (#6257) 2018-11-06 23:12:32 -08:00
Maxime Beauchemin
1a4199af7a [bugfix] deckgl scatter CategoricalDeckGLContainer (#6288) 2018-11-06 17:13:55 -08:00
michellethomas
cd05d44340 Avoid clearing metric when saving from datasource editor (#6277) 2018-11-06 13:23:55 -08:00
Maxime Beauchemin
a1d867cf2f [dashboard] fix spinners disapear too early (#6283)
Recently I noticed that loading spinners on dashboards would disappear
too early.
2018-11-06 08:51:36 -08:00
Maxime Beauchemin
c653ab1e9b Fix Infinity css warning (#6280) 2018-11-05 22:39:42 -08:00
Krist Wongsuphasawat
124c55c117 rename @superset-ui/core to @superset-ui/connection (#6274) 2018-11-05 18:28:38 -08:00
michellethomas
c7f8abc6c5 Adding backwards compatable check to add ago to since if it doesn't exist (#6269) 2018-11-05 16:30:04 -08:00
Chris Williams
7fe8e8aff2 [superset-client] getClientErrorObject for everyone (#6276) 2018-11-05 14:26:22 -08:00
Krist Wongsuphasawat
7373be7163 Add chart names translation (#6273)
* add translation for chart names

* add translation for all chart names

* add missing translation
2018-11-05 12:47:32 -08:00
Jeffrey Wang
a1e408a299 Fix typo in druid granularity (#6229) 2018-11-05 11:47:18 -08:00
Maxime Beauchemin
08cdb09714 [explore] raise attention to row_limit being reached (#6252)
* [explore] raise attention to row_limit being reached

* fix test
2018-11-05 08:31:44 -08:00
达斯特兰斯
fb13218472 Dockerfile change because error: E: The method driver /usr/lib/apt/methods/https… (#6258)
* change because error: E: The method driver /usr/lib/apt/methods/https could not be found.
 要提交的变更:
	修改:     contrib/docker/Dockerfile

* 	修改:     contrib/docker/Dockerfile
2018-11-02 18:10:45 -07:00
Joe Bordes
c041b6673e i18n(es) (#6270) 2018-11-02 18:00:49 -07:00
Joe Bordes
8dbc20b60a I18n es002 (#6208)
* i18n(es) gtranslator formatting

* i18n(es)

* i18n(es) changes suggested by gettext lint tools
2018-11-02 08:23:34 -07:00
mlboy
3115eec892 Externally Visible Server (#6264)
* Externally Visible Server

Usually, app in docker need to be tested in host

* Update docker-entrypoint.sh
2018-11-02 08:21:57 -07:00
Krist Wongsuphasawat
da24b0e0d7 Remove label and showOnExplore. Specific import validators (#6261) 2018-11-01 14:08:15 -07:00
Grace Guo
7d8e3219fc [Fix] merge since,until request parameter with time_range (#6251) 2018-11-01 12:40:56 -07:00
Krist Wongsuphasawat
02f0616025 Make VizTypeControl use metadata from plugin (#6235)
* Render vis type item using information from registry

* adjust style

* fix unit test

* Remove large thumbnails

* Update addSlice
2018-11-01 11:39:24 -07:00
Beto Dealmeida
d1cbb0d000 Update CONTRIBUTING.md (#6259) 2018-11-01 11:19:35 -07:00
michellethomas
2fd18eede7 Setting line chart row_limit to 50000 (#6244)
Setting default row_limit to 50K for line chart
2018-11-01 11:01:13 -07:00
michellethomas
d34217ef97 Dashboard filter box default (#6236)
* Setting default FilterBox date filter to No Filter

* Adding test for FilterBox
2018-11-01 09:43:04 -07:00
Junda Yang
59109f62b4 revert the change in config.py (#6255) 2018-10-31 17:56:59 -07:00
Maxime Beauchemin
e46ab4db52 Bump Flask, bleach and sync pip-compile (#6239)
* sync pip-compile

* Support Flask >= 1.0.0

* pylint

* Trying something else to fix pylint
2018-10-31 16:58:50 -07:00
Maxime Beauchemin
7b3095d6ff Fix examples charts/dashboards and refactor (#5881)
* Fix examples charts/dashboards and refactor

* pylinting

* Fix pylint

* Lint the refactor

* Rebased
2018-10-31 15:29:04 -07:00
Rakshit Kumar
9710369d52 Fixed grammatical errors. (#6246)
* Fixed grammatical errors.

* Update druid.rst
2018-10-31 13:32:25 -07:00
Rakshit Kumar
bfec5916ed Fixed grammatical errors. (#6245) 2018-10-31 13:31:48 -07:00
Rakshit Kumar
6d0069230c Fixed grammatical errors (#6247) 2018-10-31 13:31:35 -07:00
Rakshit Kumar
bc8c8a2168 Fixed typos and grammatical errors (#6248) 2018-10-31 13:31:11 -07:00
Rakshit Kumar
db93dca947 fixed grammatical errors and typos (#6249) 2018-10-31 13:30:15 -07:00
Rakshit Kumar
0a701d6115 Corrected name of an area and fixed major grammatical errors (#6250) 2018-10-31 13:29:36 -07:00
Junda Yang
c552c125d7 Move metadata cache one layer up (#6153)
* Update wording

* nit update for api endpoint url

* move metadata cache one layer up

* refactor cache

* fix flake8 and DatabaseTablesAsync

* nit

* remove logging for cache

* only fetch for all tables that allows cross schema fetch

* default allow_multi_schema_metadata_fetch to False

* address comments

* remove unused defaultdict

* flake 8
2018-10-31 13:23:26 -07:00
Maxime Beauchemin
af38d254f0 [bugfix] cannot add options to FilterBox (#6231)
* [bugfix] cannot add options to FilterBox

* addressing comments
2018-10-30 21:59:57 -07:00
Maxime Beauchemin
2ad8e2ee2b [sql lab] improve placeholder strings for query search form (#6228) 2018-10-30 21:29:43 -07:00
mlboy
2d4a1ab68a fix misstake (#6237) 2018-10-30 21:28:50 -07:00
John Bodley
1190ebb1a8 [datasource] Ensure SQL Lab link opens in a new tab (#6195) 2018-10-30 17:06:27 -07:00
Krist Wongsuphasawat
1473e2cced Integrate translation module @superset-ui/translation (#6222)
* add translation modules

* Update package.json

* Update instructions in CONTRIBUTING

* Remove old files

* Add new entry point "translation"

* Change imports

* move setupTranslation code

* remove translation from entry

* Update python template

* Refactor utils into smaller, independent files

* Define preamble

* working state

* combine toggleCheckbox with setupApp

* move code block out of document.ready

* move setupClient to preamble

* fix unit tests

* update package version

* delete deletion code
2018-10-30 14:51:44 -07:00
michellethomas
1c4b3e999b Fix time range filter dropdown (#6223)
* Fix date filter control dropdown default state

* Keep track of selected tab
2018-10-30 14:22:40 -07:00
Grace Guo
1fbdd24820 [fix] typo until (#6233) 2018-10-30 14:22:03 -07:00
达斯特兰斯
e1a3a680f4 fix bug : docker build error with no permission with this floder (#6226)
要提交的变更:
	修改:     contrib/docker/Dockerfile
2018-10-30 10:29:38 -07:00
Maxime Beauchemin
0f6b39a6f7 A few setup.py improvements, removing future lib (#6219) 2018-10-29 21:22:25 -07:00
Grace Guo
7d6a4291e1 [fix][Annotation] Fix override since/until for annotation (#6221) 2018-10-29 15:43:01 -07:00
Sumedh Sakdeo
71d6ff40d0 partition and clustering bigquery keys (#6212)
* partition and clustering bigquery keys

* flake8
2018-10-29 11:23:21 -07:00
Maxime Beauchemin
acb44165b4 [deck] allow an array of dynamic of aggregations (#6198)
* [deck] allow an array of dynamic of aggregations

* Adding quantiles

* lint & tests
2018-10-29 11:08:22 -07:00
Maxime Beauchemin
7db11d95b0 [setup.py] allow for range on boto library (#6071) 2018-10-29 11:05:35 -07:00
Maxime Beauchemin
81fc3dfbee [build] fix pip install issues on OSX High Sierra (#6201)
* [build] fix pip install issues on OSX High Sierra

I think requirements.txt was out-of-sync as well.

Also had to:
export
  LDFLAGS="-L/usr/local/opt/openssl/lib"
export
  CPPFLAGS="-I/usr/local/opt/openssl/include"
export
  PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"

* Fix click
2018-10-29 10:33:51 -07:00
Maxime Beauchemin
5403f31007 [explore] Include "Autocomplete Query Predicate" field to Table Editor (#6171)
* Improvements around filters

* Adding simple test
2018-10-29 10:33:03 -07:00
Joe Bordes
d6908eef49 i18n(App) syntax errors detected by Grammarly while translating (#6209) 2018-10-29 09:42:42 -07:00
superkd37
735499cb53 Update ISSUE_TEMPLATE.md (#6210) 2018-10-29 09:41:32 -07:00
Grace Guo
87161a6d5d [fix] hide annotation layer (#6204) 2018-10-26 17:12:30 -07:00
Grace Guo
dcf048c52e [fix] should set chartUpdateEndTime when chart fetch failed or stopped (#6205) 2018-10-26 15:00:03 -07:00
Krist Wongsuphasawat
5c02e3199b Implement SuperChart and enable the chart plugins (#6154)
* setup plugin and add SuperChart

* Integrate SuperChart into Chart.jsx

* Add vizType as class name

* Remove .slice_container

* add snakeCase to sanitize class name

* Remove old code to load charts

* Fix supportedAnnotationTypes

* Update AnnotationTypes, remove unnecessary imports and dependency from VIZ_TYPES

* remove index.js and update unit test

* resolve tree map issue

* fix issue with annotation types

* fix proptypes

* add )

* address a few comments

* create bound functions

* bound more functions

* add reselect

* use reselect for chartprops

* improve performance with reselect

* remove unused props

* Remove getFilters() and update table test

* Remove unused code

* Delete adaptors

* switch to react-loadable

* Rewrite with reloadable

* Add timeout back

* remove loading

* update table unit test

* remove pastDelay
2018-10-26 11:38:30 -07:00
Max Goodridge
9580103c22 Fix typo in load-examples command (#6193) 2018-10-25 20:47:43 -07:00
Nocturne
d57614f8ad Update docker-init.sh (#6167)
Fix typo of
```bash
superset load-examples
```
2018-10-25 20:20:05 -07:00
John Bodley
71db0736be [external-metadata] Fix unknown column types (#6196) 2018-10-25 18:56:24 -07:00
Junda Yang
a0479d57b2 fix sql lab permission issue (#6194) 2018-10-25 16:35:43 -07:00
John Bodley
bfbd83bdab [datasource-editor] Correcting tooltip (#6191) 2018-10-25 14:29:39 -07:00
Grace Guo
9c5fc42fee add error details into log (#6169) 2018-10-25 13:52:47 -07:00
Mike Rötgers
e21e6a7600 add get_data method to IFrameViz (#6185) 2018-10-25 12:03:33 -07:00
Chris Williams
e7e8e9d00d [dashboard][bugfix][save as] re-direct to copied dashboard upon saveas (#6189)
* [dashboard][bugfix][save as] re-direct to copied dashboard upon saveas

* [dashboard][save modal] safer destructuring

* [dashboard][save as] simplify Promise resolution

* [dashboard] simply fetch slices error
2018-10-25 11:44:05 -07:00
Krist Wongsuphasawat
ef8429cbf5 pass width and height (#6183) 2018-10-25 09:59:25 -07:00
Chris Williams
90809f6d39 [sqllab] more robust copy to clipboard (#6180)
* [sqllab] implement more robust share query button

* [sqllab] fix Hotkeys react warnings

* [CopyToClipboard] don't bind in render functions

* [explorer] fix short url button position

* [sqllab] remove share query item in tab dropdown menu

* [sqllab] reference new ShareSqlLabQuery component

* [sqllab][share query robustness] clean up

* [sqllab] fix tests

* [sqllab][share query] add unit tests
2018-10-24 19:41:32 -07:00
Beto Dealmeida
f1089c40a4 Improvements to the polygon spatial viz (#6178)
* WIP

* WIP

* WIP

* WIP

* Fix color bucketing

* Fixed colors

* Fix no num categories selected

* Colors working

* Fix no metric selected

* Visual cues for selection

* Add unit tests

* Remove jest from deps

* Rename category to bucket

* Small fixes

* Fix lint

* Fix unit tests

* Remove duplicate hexToRGB

* Fix import

* Change order of arguments in getBuckets

* Refactor function signature
2018-10-24 18:40:57 -07:00
Grace Guo
ca5be1c1e2 [fix] should allow force refresh when having charts under tab (#6181) 2018-10-24 15:34:36 -07:00
Maxime Beauchemin
9cb2dceeb5 Update CHANGELOG from 0.26 to 0.28.1 (#6139) 2018-10-24 14:38:11 -07:00
Chris Williams
60796da38c [superset-client][bugfix] fix stop query (#6179) 2018-10-24 14:03:43 -07:00
Grace Guo
6ec9e1a4e9 [Ready][Dashboard] disable force refresh when chart is still loading (#6034)
* [Dashboard] disable force refresh when chart is still loading

- disable force refresh for chart, when chart is still loading
- disable force refresh for dashboard, when any one of chart is loading

* remove css change (introduced by mistake)

* add integration tests for disable/enable force refresh
2018-10-24 10:21:23 -07:00
Abid Famasya
47b1a081ab Add TrustMedis to the userlist (#6117) 2018-10-23 22:49:51 -07:00
Christine Chambers
5f1eaa49f2 [SIP-9] Introduce TypeScript (#6120)
* [SIP-9] Introduce TypeScript

- Introduce TypeScript and co to both source and tests
- Define alias for src directory in both webpack config and jest config so we can avoid using long relative paths like ../../src in both source and tests
- Type check feature flags system to prevent typos of flag names
- Change the feature flags system and the flags on window instead of populating them through the state tree. When introducing the first SCOPED_FILTER feature flag, it became too difficult to pipe the flags through the state initializers and layers of components and containers (the resulting code is hard to read and has a handful of methods taking an additional feature flag map parameter). Given that feature flags don't change throughout the life time of the app, it is better to leave them on window for easy access than piping them through the global state tree, which is meant to store the state of the app which changes frequently.
- Add a barebone filter panel that only shows when the SCOPED_FILTER feature flag is on

* Remove unnecessary dev-dependency on gl

* - Adding linting for TypeScript files via tslint.
- Fixing linting for Javascript files importing Typscript files
- Also fix linting for Javascript files that now leverage the webpack alias for the src directory

- up Typescript and type def versions

* Rename src directory's webpack alias from @ to src to be more explicit.
2018-10-23 22:33:51 -07:00
Maxime Beauchemin
9e6b171ee9 Bump FAB to 1.12.1 (#6138) 2018-10-23 15:02:29 -07:00
Krist Wongsuphasawat
9595adb452 [bugfix] Fix language switch (#6166)
* Extract SupersetClient setup into a separate file and fix translation link

* sort'
2018-10-23 09:11:34 -07:00
Chris Williams
d8d50a168d [superset-client] use getClientErrorObject for client error handling (#6163)
* [superset-client] use getClientErrorObject for client error handling

* fix getClientErrorObject json parsing

* fix getClientErrorObject test typos

* kick build
2018-10-22 22:42:56 -07:00
Chris Williams
8573fdec12 [superset-client][logger] replace ajax with SupersetClient (#6133)
* [superset-client][logger] replace ajax with SupersetClient

* [superset-client][logger] don't parse log response
2018-10-22 22:42:23 -07:00
timifasubaa
fc3b68e234 [Sqllab] Add offline state to sqllab (#6013)
* add timeout and refresh for failed backend

* show offline state instead of refreshing

* add southpane tests
2018-10-22 18:36:07 -07:00
Krist Wongsuphasawat
b9257b2a09 [Refactor] Extend color scheme management to sequential schemes (#6150)
* refactor color scheme

* Update data structure

* Update color scheme files

* wip

* convert all sequential schemes

* Update how color schemes are managed. Extend it for sequential schemes

* extract color setup into separate file

* Update imports

* update imports

* Add new functions to Registry

* Update ColorSchemeManager to extends Registry and update unit tests

* Add test for Registry

* Rename ColorSchemeManager to ColorSchemeRegistry

* Fix unit tests

* Update API

* Fix imports

* Add label field

* Fix reference to colors

* update SequentialScheme contructor

* Fix controls

* rename manager to registry

* Split sequential schemes into multiple files

* update sequential color labels

* add values and valuesAsPromise()

* use .values()
2018-10-22 16:17:14 -07:00
Chris Williams
a71e6eb0a3 [superset-client] replace misc ajax calls (#6135)
* [superset-client][misc] replace ajax calls in DashboardTable, TableLoader, utils, common

* [superset-client][misc] replace ajax calls in AsyncSelect, HeaderActions, Deck.gl

* [superset-client][misc] fix tests

* [superset-client] remove unneeded functional setState calls

* [superset-client] make welcome a redux app for toasts

* [superset-client] make Profile a redux app for toasts

* [superset-client] TableLoader don't pass toast props to dom nodes

* tweak deckgl Multi syntax
2018-10-19 11:41:42 -07:00
Chris Williams
96228adda9 [superset-client][datasource editor] replace ajax with SupersetClient (#6134)
* [superset-client][datasource editor] replace ajax with SupersetClient

* [superset-client][datasource control] replace ajax with SupersetClient

* [superset-client][datasource editor] remove unused funcs in DatasourceControl

* [superset-client][data source control] lint, remove toasts

* [superset-client] fix DatasourceControl_spec

* [superset-client] remove unneeded functional setState calls
2018-10-19 11:41:11 -07:00
Krist Wongsuphasawat
546d150b91 Define chart presets (#6144)
* define chart presets

* remove dual line
2018-10-19 11:40:21 -07:00
Chris Williams
bc3a2efa0e [superset-client] pass csrfToken as configuration (#6148) 2018-10-18 20:11:43 -07:00
Krist Wongsuphasawat
fc3422eaeb add build query as part of plugin (#6146) 2018-10-18 18:39:34 -07:00
Krist Wongsuphasawat
bc4dfad6c8 fix bar chart value overlap with legend (#6145) 2018-10-18 18:00:42 -07:00
Krist Wongsuphasawat
04e5e87114 remove reactable from Hotkeys.jsx (#6143) 2018-10-18 18:00:03 -07:00
Krist Wongsuphasawat
9d01af201e Add annotation information to ChartMetadata (#6136)
* add annotations information to ChartMetadata

* rename fields
2018-10-18 17:59:30 -07:00
Krist Wongsuphasawat
d662e36442 [Ready] Define ChartProps data structure (#6125)
* rename basicChartInput to chartProps

* replace BasicChartInput with ChartProps class

* Add transformProps to deck.gl plugins

* Add space

* delete BasicChartInput

* add width and height as part of ChartProps and update transformProps

* remove width and height

* remove adaptors from deck.gl components

* remove deck.gl creataAdaptor
2018-10-18 15:44:21 -07:00
Krist Wongsuphasawat
4e2341a131 downgrade reactable and remove fastdom (#6142)
* downgrade reactable and remove fastdom

* remove caret
2018-10-18 14:09:01 -07:00
michellethomas
7d0a17aef5 Turning off flaky link tests (#6141) 2018-10-18 12:02:59 -07:00
Krist Wongsuphasawat
0aa6d90429 Remove isNumeric util function and use Number.isFinite instead (#6106)
* remove isNumeric util function and use lodash isFinite instead

* use native Number.isFinite
2018-10-18 11:24:43 -07:00
Krist Wongsuphasawat
58be31af3f change viewport dimension (#6123) 2018-10-18 11:22:43 -07:00
Chris Williams
e163dfe744 [SIP-4] replace SQL Lab ajax calls with SupersetClient (#5896)
* [superset-client] replace sqllab ajax calls with SupersetClient

* [superset-client][sqllab] replace more misc ajax calls

* [superset-client][tests] call setupSupersetClient() in test shim

* [superset-client] replace more sqllab ajax calls and fix tests

* [superset-client][tests] remove commented lines

* [sqllab][superset-client] fix eslint and tests, add better error handling tests.

* [superset-client] fix tests from rebase

* [cypress][sqllab][superset-client] fix

* [superset-client] use Promises not callbacks in getShortUrl calls

* [superset-client][short-url] don't stringify POST

* [superset-client][short-url][cypress] add data-test attribute for more reliable test

* [cypress] remove .only() call
2018-10-18 10:40:30 -07:00
Krist Wongsuphasawat
273991fd4e Use @vx/responsive to provide Chart width on Explore page (#6104)
* use parent size to compute width

* simplify this.width() and this.height()

* remove unnecessary jquery

* fix indent and import

* adjust headerheight from 100 to 80

* fix test
2018-10-16 22:18:35 -07:00
Maxime Beauchemin
bbfd69a138 [utils.py] gathering/refactoring into a "utils/" folder (#6095)
* [utils] gathering/refactoring into a "utils/" folder

Moving current utils.py into utils/core.py and moving other *util*
modules under this new "utils/" as well.

Following steps include eroding at "utils/core.py" and breaking it down
into smaller modules.

* Improve tests

* Make loading examples in scope for tests

* Remove test class attrs examples_loaded and requires_examples
2018-10-16 17:59:34 -07:00
Chris Williams
af0ffa44ab [SIP-4] replace explorer ajax calls with SupersetClient (#5869)
* [superset-client] initialize SupersetClient in app setup

* [core] replace explore ajax calls with SupersetClient

* [core] fix SupersetClient explore tests

* [core] remove _packages mistake directory

* remove unused files

* add yarn.lock

* always render modal

* [superset-client][jest] fix SaveModal_spec

* [lint] remove unnecessary AbortController global

* yarn.lock
2018-10-16 14:54:31 -07:00
Krist Wongsuphasawat
dcfbae1ab9 [SIP-5&6] Refactor line_multi (#6058)
* Rewrite line_multi

* move dir

* add chartplugin for line_multi

* rename var
2018-10-16 14:54:01 -07:00
Chris Williams
462c58ee67 [SIP-4] replace dashboard ajax calls with SupersetClient (#5854)
* [core] replace dashboard ajax calls with SupersetClient

* [core] fix SupersetClient dashboard tests

* [dashboard][superset-client] don't error by parsing save dashboard response as json
2018-10-16 13:42:22 -07:00
Junda Yang
177bed3bb6 allow cache and force refresh on table list (#6078)
* allow cache and force refresh on table list

* wording

* flake8

* javascript test

* address comments

* nit
2018-10-16 13:14:45 -07:00
michellethomas
7d49255926 This control test is flaky and affecting travis runs, turning it off for now (#6121) 2018-10-16 12:20:07 -07:00
Beto Dealmeida
b4a1983303 Fixes to the CategoricalDeckGLContainer and filter box (#6038)
* WIP

* WIP

* Fix time grain

* Fix autoformatting

* Fix more autoformatting

* Fix even more autoformatting

* Fix manual move of play slider

* Fix state management

* Revert change

* Fix screengrid

* Remove autozoom on render

* Remove unneeded code

* Zoom when mounted

* Fix lint
2018-10-16 12:08:37 -07:00
Junda Yang
91792a564a send username in sync request (#6113)
* send username in sync request

* nit
2018-10-15 20:33:59 -07:00
Chris Williams
316fdcb4d0 [SIP-4] replace chart ajax calls with SupersetClient (#5875)
* [deps] add @superset-ui/core

* [superset-client] initialize SupersetClient in app setup

* [superset-client] add abortcontroller-polyfill

* [superset-client] replace all chart ajax calls with SupersetClient

* [tests] add fetch-mock dep and helpers/setupSupersetClient.js

* [superset client][charts][tests] fix and improve chartActions_spec

* [deps] @superset-ui/core@^0.0.4

* [common] add better SupersetClient initialization error

* [cypress] add readResponseBlob helper, fix broken fetch-based tests

* [cypress] fix tests from rebase

* [deps] @superset-ui/core@^0.0.5

* [cypress][fetch] fix controls test for fetch

* [cypress][dashboard][fetch] fix filter test for fetch

* [superset-client] configure protocol on init

* yarn.lock

* undo Chart.jsx revert

* yarn again

* [superset-client] fix chartAction unit tests
2018-10-15 16:52:19 -07:00
Christine Chambers
9029701f24 [refactor] Migrate from Mocha+Chai to Jest (#6079)
* [refactor] Migrate from Mocha+Chai to Jest

This change migrates all the existing unit tests
- to Jest's global expect and matchers from chai's imported expect, asserts and matchers.
- to Jest's describe/test from mocha's describe/it

The majority of the mechanical changes to tests are achieved through running jest-codemods. The only two note-worthy manual tweaks:
1. Setting a testURL of http://localhost in jest config and adjusting a few tests to leverage this value instead of relying on about:blank.
2. Re-enabling ExploreChartPanel_spec which was previously commented out as we cannot have empty tests with nothing in it with Jest. :)

This change also removes dependencies to Mocha and Chai.

* Remove the test:one command as it now does the same thing as test.

* Fixing lint errors. The diff looks large but is large done through `yarn run lint --fix`

The only noteworthy change is the one in eslintrc for tests. The env has been updated from mocha to jest.

* Adding eslint-plugin-jest and further modify tests.

- One small fix in sqllab's Timer Spec for a test that is not using the spy it created for testing.
- Deletion of a duplicated test caught by eslint-plugin-jest.

* - Make istanbul coverage work with Jest.

- Remove dependency on stand-alone istanbul and babel-istanbul as they're built-into jest. Yes!

* Attempt to fix dynamic imports in tests.

* run sequentially and log heap usage

* - tweaking maxworkers for travis and specifying coverageDirectory for codecov

- remove dynamic import in shim.js now that it is set in babelrc for tests only.
2018-10-15 13:10:18 -07:00
timifasubaa
46c86672c8 remove utf8 declaration (#6096) 2018-10-15 11:53:24 -07:00
Chen Chen
68ff4e5b72 fix dependency issue #6086 (#6102) 2018-10-15 09:28:39 -07:00
Krist Wongsuphasawat
dc7b6f2bae Rename onTooltip to setTooltip (#6103)
* rename onTooltip to setTooltip

* fix typo
2018-10-15 09:26:59 -07:00
Krist Wongsuphasawat
3df98e5b4c make BigNumber PureComponent (#6105) 2018-10-15 09:25:48 -07:00
Adam Dobrawy
12ce1b20bd Fix link formating in README.md (#6097) 2018-10-13 18:19:32 -07:00
Krist Wongsuphasawat
2fc07435ca move countries directory under CountryMap (#6088) 2018-10-13 10:12:45 -07:00
timifasubaa
dd9eeda03e remove future (#6065) 2018-10-13 09:39:04 -07:00
timifasubaa
047c8b0943 remove six dependency (#6091) 2018-10-13 09:38:46 -07:00
Krist Wongsuphasawat
e1e8778554 Add ChartPlugin and metadata for deck.gl vis (#6090) 2018-10-12 14:01:32 -07:00
Krist Wongsuphasawat
8e88d0233a Add ChartPlugin and metadata for nvd3 and BigNumber vis (#6085)
* add nvd3 thumbnails

* add ChartPlugin and metadata files

* add BigNumber thumbnails

* Add bignumber ChartPlugin
2018-10-12 12:09:40 -07:00
Chris Williams
1d2b1aa465 [cypress][sqllab] increase timeout for sqllab results (#6089) 2018-10-12 11:21:06 -07:00
Krist Wongsuphasawat
2a7b64fef5 [SIP-5] Remove references to slice from all deck.gl components. (#6039)
* start removing slice.

* migrate arc

* refactor arc

* refactor path

* refactor deck polygon

* remove commented code

* refactor factory function

* refactor grid

* refactor hex

* refactor polygon

* refactor scatter

* refactor geojson

* refactor screengrid

* remove unnecessary nesting

* add proptypes

* add proptypes

* refactor deck.gl Multi

* fix lint

* Use export syntax instead of module.exports
2018-10-11 20:56:36 -07:00
Krist Wongsuphasawat
5282f39026 Create chart plugins and metadata (#6072)
* add credit field

* change image size limit for url-loader

* create chord ChartPlugin

* Update config to include original file name in the output

* add calendar

* add country map

* add eventflow

* add thumbnails

* add eventflow, filterbox, force-directed and heatmap

* Add histogram, horizon, mapbox, paired t-test, parallel coordinates

* Create plugins for the rest one-off charts

* ignore chartplugin files from istanbul
2018-10-11 20:55:40 -07:00
timifasubaa
e37b83a21a remove future imports from db migrations (#6063) 2018-10-11 14:22:56 -07:00
michellethomas
b7d555420d Cypress tests for controls and explore links (#6069)
* Adding tests for controls

* Adding tests for explore links
2018-10-11 14:13:04 -07:00
Krist Wongsuphasawat
64383ce96e Rename color constants and move util function into separate file (#6074)
* rename constant colors to UPPERCASE

* Move isDefined into its own file and add unit test
2018-10-11 14:05:34 -07:00
Narcissus7
c0f685b640 Fix the horizon title only show the first key (#5998) 2018-10-11 13:08:26 -07:00
timifasubaa
5c5be825d9 remove future imports (#6050) 2018-10-11 09:46:25 -07:00
Beto Dealmeida
247a85b916 Fix top groups with user defined metrics (#6073) 2018-10-11 09:14:41 -07:00
Chris Williams
9b4cf856dd [cypress] add SQL lab tests (#5974)
* [cypress] add sqllab/sourcePanel integration tests

* [cypress] add tests for SQL Lab query panel

* [cypress] add selectors/

* [cypress] add tests for SQL Lab tabs

* [cypress][sqllab] remove nested assertions where possible, update to single test index file

* [cypress][sqllab] try force click

* [cypress][sqllab] wait for saved query to load

* [cypress][sqllab] unnest, use visit for href

* [cypress][sqllab] try 1s wait :O

* [cypress][sqllab] wait for savedquery api response

* [cypress][sqllab] fix wait syntax

* [cypress][sqllab] add route wait in sourcepanel for flakiness

* [cypress] use *.test.js pattern for tests

* [cypress] fix paths

* [cypress][sqllab] actually try running lint

* [cypress][dashboards] use *.test.js pattern for tests

* [cypress][sqllab] combine tests, remove nesting

* [cypress][sqllab] explicitly wait for query results
2018-10-09 14:28:11 -07:00
Arpit
ee472af14d feat: import/export dashboards via cli (#6061)
* feat: import/export dashboards via cli

* style: fixed lint error

* test: added test for import and export util

* test: removing import test as it is causing integrity issues

Import is a wrapper around exist functionality so we can go ahead without a test or mock the actual db operation using https://docs.python.org/3/library/unittest.mock.html

And validate the wrapper operations only.

* test: remove test data file

* test: removed usage of reserved keyword id

* Fix: remove test that is causing unintended impact
2018-10-09 13:59:46 -07:00
John Bodley
238ffb4dee [setup] Using pip-tools to create requirements.txt (#6054) 2018-10-09 13:45:43 -07:00
Beto Dealmeida
3cc6fb61ab Add increment back arrow to time player (#6062)
* Working on CSS

* Will fix CSS later

* Simplify PR
2018-10-09 11:47:59 -07:00
Krist Wongsuphasawat
cd2c46a5ed Add data structures for chart plugin system (#6028)
* add unit tests

* add test structure

* add unit tests for Registry

* add LoaderRegistry unit test

* add unit test for makeSingleton

* add type check

* add plugin data structures

* simplify API

* add preset tests

* update test message

* fix lint

* update makeSingleton

* update Plugin, Preset and unit test

* revise Registry code

* update unit test, add remove function

* update test

* update unit test

* update plugin unit test

* add .keys(), .entries() and .entriesAsPromise()

* update test description
2018-10-09 11:47:16 -07:00
Grace Guo
395359f5ad [cypress] add integration tests for dashboard (#6002) 2018-10-09 10:03:50 -07:00
Grace Guo
361f588b71 [Dashboard] Fix margin issue in dashboard modal (#6037) 2018-10-08 22:48:27 -07:00
Junda Yang
f50ed17655 check db extra and metadata params preemptively (#6004)
* check db extra and metadata params preemptively

* flake8

* make use of inspect
2018-10-08 20:26:26 -07:00
Junda Yang
712c1aa767 Allow user to force refresh metadata (#5933)
* Allow user to force refresh metadata

* fix javascript test error

* nit

* fix styling

* allow custom cache timeout configuration on any database

* minor improvement

* nit

* fix test

* nit

* preserve the old endpoint
2018-10-08 20:25:40 -07:00
John Bodley
1ee08fc216 [select-star] Adding optional schema to view (#6051) 2018-10-08 10:32:40 -07:00
Joshua Carp
9dcf8e101a Upgrade flask-appbuilder to latest. (#6030)
* Upgrade flask-appbuilder to latest.

* Skip constraint deletes if not exist.

* Document breaking change in flask-login.
2018-10-08 12:40:52 -04:00
Teemu Heikkilä
6282edd033 Revert old precision formatters (#6056)
Revert commit 66fcf9b687 (diff-366fb3d6e52b5fb2b9c306763adbc983)
It caused sunburst to became confusing.
2018-10-08 09:41:59 -04:00
Beto Dealmeida
96952d0daf Search queries when enter is pressed (#6043)
* Search queries when enter is pressed

* Add unit test

* Remove line

* Improve test
2018-10-07 12:48:06 -07:00
Yuguang Zhang
06e029f9d3 fix for annotation layer bug (#6047) 2018-10-07 12:35:36 -07:00
timifasubaa
93fe453970 remove redundant mysql (#6049) 2018-10-05 20:27:20 -07:00
John Bodley
adfe9e3f2b [tablemodelview] Fixing JSON api/read serializable issue (#6023) 2018-10-05 14:04:48 -07:00
Maxime Beauchemin
160e47720c Deprecate support for Python < 3.6 (#5985)
* Deprecate support for Python < 3.6

This is a first step, beyond this we can:
* remove all from future imports
* remove 'six' lib as a dependency
* start using f-strings
* enjoy ourselves

* fix tox

* Rebasing

* fix
2018-10-05 13:44:45 -04:00
Krist Wongsuphasawat
8fe6f12622 refer to default color scheme in colorpickercontrol instead of pointing to specific scheme (#6031) 2018-10-04 18:10:22 -07:00
Beto Dealmeida
df341ffd26 Sorting tables by "modified" is broken (#6027)
* Fix sorting by modified

* Fix column name in decorator
2018-10-04 20:16:19 -04:00
Krist Wongsuphasawat
50c701c0e8 [ci] Update ci config to reduce javascript test time and some of cypress. (#6016)
* try travis config

* try more complex config

* fix config

* add cache and stages

* separate cache

* swap order

* fix redis

* remove env

* add cypress

* adjust caching

* reduce cache

* change order of execution

* change order again

* change node version

* install yarn via curl

* update cypress command

* update cypress command

* adjust cache and node version

* do not install yarn

* add npm cache

* remove export

* remove commented code

* change order of jobs

* fix indent
2018-10-04 14:54:44 -07:00
Krist Wongsuphasawat
f889798688 use world map only bundle (#6029) 2018-10-04 14:46:08 -07:00
Krist Wongsuphasawat
9f028ccc7b [SIP-6] Migrate visualizations to new directory structure (part 2) (#5997)
* migrate MapBox

* migrate bignumber

* migrate timeseries table

* migrate EventFlow

* add default null

* fix linting

* use shortid instead of passing containerId
2018-10-04 14:45:49 -07:00
Grace Guo
a9ef0aeaf5 Revert #5991 (#6035) 2018-10-04 13:43:01 -07:00
timifasubaa
e12d00ae71 log query fetch time (#6033) 2018-10-04 11:13:32 -07:00
yamyamyuo
ab5c910801 [bugfix] Fix Tableviz metrics column disorder (#5566)
* fix metrics disorder

* add tableviz metric order tests

* lint code

* use OrderedDict to avoid metrics disorder

* fix unit test
2018-10-04 08:53:26 -07:00
Krist Wongsuphasawat
df64ecaa18 [cypress] Add integration test for area, pie, pivot_table, world_map, dual_line, sunburst, sankey, big_number, bubble, box_plot, treemap (#5924)
* Add integration test for world map

* add pie chart

* add area

* use should for assertion

* update area test

* update it message

* remove null params

* add pivot tests

* remove urlparams

* add dual_line

* add sunburst test

* add big number

* add sankey

* add bubble

* add box plot

* add treemap tests

* combine all vis under single test
2018-10-03 11:44:38 -07:00
Krist Wongsuphasawat
5c2a7880cc [SIP-6] Migrate visualizations to new directory structure (part 3 - nvd3) (#6006)
* migrate nvd3

* update basicchartinput
2018-10-03 10:18:04 -07:00
Krist Wongsuphasawat
f9344f13df [cypress] Combine multiple tests under visualizations into single test to save running time (#6019)
* add histogram test

* add compare test

* merge all vis tests under single test
2018-10-02 11:31:29 -07:00
Arpit
73882945bf feat: import/export dashboards via cli (#5991)
* feat: import/export dashboards via cli

* style: fixed lint error

* test: added test for import and export util

* test: removing import test as it is causing integrity issues

Import is a wrapper around exist functionality so we can go ahead without a test or mock the actual db operation using https://docs.python.org/3/library/unittest.mock.html

And validate the wrapper operations only.

* test: remove test data file

* test: removed usage of reserved keyword id
2018-10-01 14:02:16 -07:00
Christine Chambers
604524b671 [feat] Feature flag system via config (#5960)
* [feat] Feature flag system via config

Adding a feature flag system that is driven by superset_config.py. This change includes:
- Server side changes to specify a dedicated FEATURE_FLAG dictionary for listing feature flags. E.g.
```
FEATURE_FLAGS = { 'SCOPED_FILTER': true }
```
- Pass the new feature flags to client via bootstrap-data
- Client side changes to inject feature flags into the redux state tree for dashboard, explore view and SqlLab
- Client side refactor/clean up so the feature flags can be properly tested. Also avoid modifying incoming bootstrap data when creating initial state for the redux state tree
- Re-enable tests that were previously disabled for ExploreViewContainer

* Fix lint errors.

* Remove the partial attempt to get reference to src working in tests (so we don't have to write ../../../src and such in tests). This will in a separate PR.
2018-10-01 11:47:06 -07:00
michellethomas
414a4bfc6f Removing the key from cypress build and removing parallel flag (#6005) 2018-09-28 17:24:48 -07:00
Krist Wongsuphasawat
36e2ddd8bf disable dashboard test (#6008) 2018-09-28 16:57:52 -07:00
Krist Wongsuphasawat
4868c00d6d wait and verify one-by-one (#5995) 2018-09-27 14:46:52 -07:00
Krist Wongsuphasawat
2cd9407a50 [SIP-6] Migrate visualizations to new directory structure. (#5949)
* Migrate Chord, Calendar

* Migrate CountryMap

* Add display name and rename Chord.jsx to Chord.js

* migrate Histogram

* add force-directed

* migrate Heatmap

* add horizon

* migrate parallel coordinates

* migrate partition

* migrate pivot table

* migrate rose

* remove react-dom

* migrate Sankey

* migrate sunburst

* migrate table

* migrate treemap

* migrate filterbox

* migrate wordcloud

* add paired t-test

* fix unit test

* remove renaming

* rename fields
2018-09-27 14:39:56 -07:00
Krist Wongsuphasawat
bf9a102d1a Update webpack bundle configuration (#5983)
* add configuration for optimizing webpack

* resolve webpack cli issue

* Update outdated packages

* extract brace as its own chunk

* update comments

* add list of libs to skip parsing

* remove some libs from list

* remove noParse
2018-09-27 12:49:05 -07:00
Krist Wongsuphasawat
0cc0996e92 [cypress] Update dashboard test to remove 10s timeout (#5957)
* Fix dashboard test instead of using fixed 10s timeout

* resolve lint issues
2018-09-27 11:04:55 -07:00
Mạnh Tài
458b2b5970 Explicit set markdown version to >= 3.0 (#5959)
* Explicit set markdown version to >= 3.0

* Pinning
2018-09-26 23:48:13 -07:00
Krist Wongsuphasawat
4c21c65824 Remove lodash.throttle and replace underscore calls with lodash (#5946)
* remove lodash.throttle from dependency

* add babel-plugin-lodash'

* use lodash instead of underscore for isFunction

* switch underscore to lodash

* switch from underscore to lodash flatten

* Remove slugify and use kebabCase from lodash instead
2018-09-26 23:28:57 -07:00
michellethomas
52033cbf2a Pinning a version of click to fix travis (#5975) 2018-09-26 10:04:43 -07:00
Renkai
569f221d9b Add fordeal to superset user list (#5970) 2018-09-25 11:20:29 -07:00
Victor Noël
5811a26101 Constrain the max version of markdown (#5967)
Closes #5958
2018-09-24 11:41:16 -07:00
Krist Wongsuphasawat
6b89b7f8b5 Deprecate getColorFromSchem (#5937) 2018-09-23 12:47:32 -07:00
Junda Yang
4c62494dff fix sqllab querysearch typeahead permission error (#5906) 2018-09-21 13:48:41 -07:00
Krist Wongsuphasawat
0886870cd6 ensure npm run build is in production mode (#5934) 2018-09-21 13:30:16 -07:00
Maxime Beauchemin
70c095b1c0 [deck_polyline] show metric in geohash (#5952)
Also improved security a bit by calling `dompurify.sanitize` down the
stack.
2018-09-21 11:23:21 -07:00
Maxime Beauchemin
a1fa4bc606 [deck_polygon] implement null locations flag (#5948)
* [deck_polygon] implement null locations flag

* Fix unrelated JS test issue
2018-09-20 22:02:28 -07:00
Maxime Beauchemin
f94bda01b4 [bugfix] metrics issue in 'Periodicity Pivot' (#5931) 2018-09-20 21:42:40 -07:00
Maxime Beauchemin
73d1e4596d [explore] add "View samples" modal to action buttons (#5770)
* [explore] add "View samples" modal to action buttons

Also broke down the `View query` and `View results` as different
request so that viewing the query does not require fetching the results
anymore

* fix js tests

* lint
2018-09-20 13:51:39 -07:00
Maxime Beauchemin
896c2608aa [docs] iterating to get to ASF compliance on project site (#5923)
* [docs] iterating to get to ASF compliance on project site

https://whimsy.apache.org/pods/project/superset is a place to check on
whether we match the ASF's requirements

* Minor adjustments
2018-09-20 13:51:06 -07:00
Chris Williams
4e788034df [eslint] add no-only-tests (#5945) 2018-09-20 12:30:39 -07:00
michellethomas
15b10373b9 Adding configuration to cypress to enable dashboard (#5926) 2018-09-20 11:27:28 -07:00
Junda Yang
b6d7d57c40 Add schema level access control on csv upload (#5787)
* Add schema level access control on csv upload

* add db migrate merge point

* fix flake 8

* fix test

* remove unnecessary db migration

* fix flake

* nit

* fix test for test_schemas_access_for_csv_upload_endpoint

* fix test_csv_import test

* use security_manager to check whether schema is allowed to be accessed

* bring security manager to the party

* flake8 & repush to retrigger test

* address comments

* remove trailing comma
2018-09-20 11:21:11 -07:00
Junda Yang
a0e7c176e9 fix sqlab progress bar and status inconsistency (#5848) 2018-09-20 11:20:36 -07:00
Krist Wongsuphasawat
8c83b72ce2 remove .only (#5943) 2018-09-20 10:42:22 -07:00
timifasubaa
00c4c7ec4b fix csv upload bugs (#5940) 2018-09-20 10:34:15 -05:00
Krist Wongsuphasawat
1e5a02a42d use es6 import (#5938) 2018-09-20 08:12:29 -07:00
Maxime Beauchemin
5b97fe5c0c Some linting (#5790) 2018-09-20 08:11:43 -07:00
Beto Dealmeida
71f014e9b6 Allow removing legend (#5932) 2018-09-19 13:32:07 -07:00
Maxime Beauchemin
b9e3159f7c Fix regression around low row limit for CSV exports (#5866)
* Fix regression around low row limit for CSV exports

* fix tests

* Still trying to fix tests
2018-09-19 13:30:25 -07:00
Alek Storm
549328f8f0 Clean up CONTRIBUTING.md: (#5911)
- Reorganize sections for better navigability
- Add table of contents
- Rework frontend assets section for clarity and DRY
- Rework translating section for clarity, add "Add Translations" contribution type
- Move release docs only useful for maintainers to RELEASING.md
- Other miscellaneous improvements
2018-09-19 10:01:51 -07:00
Krist Wongsuphasawat
8fff0d9e8f [SIP-6] Add reactify function and convert world map to new directory structure. (#5893)
* reactify world map

* add createAdaptor

* fix typo

* add schema

* move directory

* remove unnecessary lines

* make setRef a function

* convert keys to camelcase

* add unit test

* update formatting

* add check for displayName

* pass width and height as separate inputs
2018-09-18 23:35:36 -07:00
Maxime Beauchemin
75bc501146 [explore flow] handling duplicated column aliases (#5778)
* [explore flow] handling duplicated column aliases

closes #5739

* lint
2018-09-18 23:17:38 -07:00
Maxime Beauchemin
7448d07e54 [bugfix] ignore history.pushState errors (#5905)
Ignoring history.pushState handling errors as they are impredictable and
crash the application hard.

I'm thinking this may be because the payload object is too big and the
browser is unhappy about it. I'm not sure if the payload/state is ever
used (when hitting back?). The error seem to stop when replacing payload
by an empty object.
2018-09-18 21:52:30 -07:00
Krist Wongsuphasawat
325e7c03b8 [bugfix] De-dup <script> tags. #5883 (#5890)
* Fix adding duplicate script tags.

* add more empty lines

* rename function
2018-09-18 17:50:30 -07:00
michellethomas
8cb734d7e0 Table and dist bar tests (#5901)
* Creating commands to verify codes and slices

* Creating tests for table and dist bar
2018-09-18 16:27:45 -07:00
Chris Williams
42ab1754db [contributing.md] swap cypress command order (#5921) 2018-09-18 14:37:44 -07:00
Christine Chambers
24be6922fd [refactor] Remove dependency on personal fork of supercluster from mapbox visualizations (#5902)
* [refactor] Remove dependency to personal fork of supercluster from mapbox visualizations

- Update dependency to reference the vanilla supercluster
- Clean up backend api call for mapbox vizzes to ensure a boolean is sent to indicate whether the viz includes custom metric for clustering
- Refactor of mapbox and its cluster overlay components to use vanilla supercluster and its recommeded way for handling clustering based on custom aggregations.
- Allow reclustering within the initial bounds on render in mapbox visualizations (stay true to old behaviors).
- Remove the median aggregation from available cluster label aggregators as there is no memory efficient way to implement this and it is unknown how often this feature is used
- Updating doc to mention the backward incompatible change re median

* Perform the check for has_custom_metric through `not None` to produce a boolean and rename the field reflect it is a boolean.
2018-09-18 12:38:17 -07:00
Krist Wongsuphasawat
19a3319acf [bugfix] Fix percent metric display and check for string columns in table (#5917)
* fix percent metric display

* add empty line

* address string or number check
2018-09-18 10:30:47 -07:00
Krist Wongsuphasawat
f2d64492ef Remove unused functions and jquery dependency (#5868)
* remove unused functions and jquery dependency

* rebase and remove more obsolete functions
2018-09-18 09:52:49 -07:00
Krist Wongsuphasawat
14de28a4f2 [bugfix] Fix color scheme picker (#5891)
* Fix color scheme picker

* fix .value
2018-09-18 09:50:14 -07:00
Christine Chambers
74940e6a16 Fixing linting error in macro_tests (#5918) 2018-09-17 20:29:14 -07:00
Krist Wongsuphasawat
39ef77abc5 Remove jquery usage to highlight sql lab menu (#5907)
* Remove jquery hack

* change filter to find
2018-09-17 11:05:22 -07:00
Manuel Silva
041fe52028 Adds a new macro to allow getting filter values easily (#5547)
* Adds new macro to get filter values from "filters" and "extra_filters"

Adds test for filter_values macro

Adds doco for filter_values

Changes filter_values return type to be a list rather than string

* Makes return value type consistent
- filter_values always return a list
2018-09-17 09:36:47 -07:00
Krist Wongsuphasawat
0e93a94ae4 [SIP-5] Refactor nvd3 (#5838)
* move into folder and scaffold adaptor

* extract width and height

* remove jquery

* extract showBrush

* extract lineInterpolation

* extract xAxisFormat and yAxisFormat

* extract annotationData

* extract xTicksLayout and colorScheme

* extract showXXX

* extract x and y axis labels

* extract showminmax

* extract pie chart props

* extract area chart props

* extract logscale and yAxisBounds

* extract margin

* extract bubble props x,y,size

* extract contribution, comparisonType and color_picker

* remove the last fd.xxx

* remove unnecessary variables

* remove slice.container

* fix unit test reference

* Rewrite logic to compute max label lengths to use only d3, not jquery.

* extract annotationLayers and no more slice.xxx in nvd3vis

* rename x, y, size to xField, yField, sizeField

* use arrow function

* move tooltip function

* extract helper functions into utils

* remove unused argument

* fix height calculation and show bar labels

* rename function

* update unit test

* organize tooltip generator

* update line_multi

* Add proptypes for data

* list proptypes for data

* extract tooltip function for bubble chart

* rename variables

* remove console.log

* enumerate vizTypes and pieLabelType

* parse maxBubble

* use new color scale

* fix import"

* remove line
2018-09-16 20:38:30 -07:00
Maxime Beauchemin
9c486a3b3d [react16] fix React type checking (#5903)
Somehow checking the type of a JSX-defined React component is not
straightforward and changes through versions of React.

Using the `name` attr addresses the issue for now.
2018-09-16 11:48:32 -07:00
Krist Wongsuphasawat
b68766d373 Add cypress artifacts directory (videos/screenshots) to gitignore and sort items in gitignore (#5900)
* Add cypress artifacts to gitignore and sort items in gitignore

* update sort
2018-09-14 15:38:14 -07:00
Maxime Beauchemin
acf1a1b2d3 [treemap] add row_limit control (#5811) 2018-09-14 11:40:22 -07:00
Junda Yang
fdd44ace27 remove duplicated utils (#5851) 2018-09-13 15:24:08 -07:00
Chris Williams
b453cd2bf2 [lint] turn no-undef back on, set browser, cypress, and mocha env's (#5879)
* [lint] turn no-undef back on, set browser, cypress, and mocha env's, and fix issues

* [lint] fix undefined var in TimeTable.jsx
2018-09-13 14:45:24 -07:00
Krist Wongsuphasawat
7098ada8c5 [SIP-5] Refactor Time Series Table (#5775)
* Break TimeTable into smaller pieces

* extract function to compute color

* Handle height and scrollbar

* sort out isGroupBy

* Set default values

* Specify proptypes for data

* rename fields and update proptypes

* Add default props

* remove commented line

* swap import
2018-09-13 10:40:46 -07:00
livinm
057c749471 Addded documentation for Teradata DB (#5885)
Documentation extension for PR5870
2018-09-13 08:01:37 -07:00
livinm
83fa7af42a Enable Teradata (#5870)
* Enable Teradata 

New DB engine spec for Teradata:
- LimitMethod should be WRAP_SQL since Teradata does not supporting "LIMIT" clause  (TOP)
- Timegrains for Teradata is added

* Update formatting to pass flake8 tests
2018-09-13 08:01:25 -07:00
Conglei
85692612d6 [bug fix] Fixed adhoc metric is not working for WordCloud (#5877)
* fixed adhoc metric

* change rotate default to flat
2018-09-12 23:12:04 -07:00
Conglei
10836ce53c fixed modal close issue (#5865)
* fixed modal close issue

* change Children array to Fragment
2018-09-12 21:28:45 -07:00
Conglei
ee89a3eb5e [SIP-6] removed get_data for BigNumber (#5861)
* removed get_data for BigNumber

* removed duplicated condition

* fixed typo
2018-09-12 18:34:21 -07:00
Maxime Beauchemin
80faa8df80 Fix CSS theme flickering on FAB pages (#5880)
Since the recent PRs around webpack 4 and reloading, FAB pages have been
flickering on load, where a themeless Superset is shown for a fraction
of a second until the bootstrap theme gets loaded up.

This addresses it by moving the theme JS to the head section of the html
page.
2018-09-12 17:21:24 -07:00
Krist Wongsuphasawat
620beed867 remove getColorFromScheme in favor of CategoricalColorNamespace.getScale() for histogram (#5878) 2018-09-12 15:39:38 -07:00
Arpit
4121d57d32 fix: Pivot table not sorting formatted numeric column properly (#5709)
* fix: Pivot table not sorting formatted numeric column properly

* refactor(lint): fixed lint error
2018-09-12 15:07:44 -07:00
Krist Wongsuphasawat
f482a6cf99 Improve categorical color management (#5815)
* Create new classes for handling categorical colors

* verify to pass existing unit tests

* separate logic for forcing color and getting color

* replace getColorFromScheme with CategoricalColorManager

* organize static functions

* migrate to new function

* Remove ALL_COLOR_SCHEMES

* move sequential colors to another file

* extract categorical colors to separate file

* move airbnb and lyft colors to separate files

* fix missing toFunction()

* Rewrite to support local and global force items, plus namespacing.

* fix references

* revert nvd3

* update namespace api

* Update the visualizations

* update usage with static functions

* update unit test

* add unit test

* rename default namespace

* add unit test for color namespace

* add unit test for namespace

* start unit test for colorschememanager

* add unit tests for color scheme manager

* check returns for chaining

* complete unit test for the new classes

* fix color tests

* update unit tests

* update unit tests

* move color scheme registration to common

* update unit test

* rename sharedForcedColors to parentForcedColors

* remove import
2018-09-12 14:10:26 -07:00
Chris Williams
bec0b4cc37 [tests] fix sqllab/TableElement_spec (#5874) 2018-09-12 12:32:46 -07:00
Maxime Beauchemin
367dcdaa7d [time table] fix sorting on missing values (#5863) 2018-09-12 11:21:48 -07:00
Hugh A. Miles II
1e35030a90 [Docs] Running DB migration (#5748)
* Add doc to add new columns

* spelling

* spelling
2018-09-12 07:16:58 -10:00
Krist Wongsuphasawat
166058d95f correctly compute slice width in dashboard (#5867) 2018-09-12 10:05:39 -07:00
michellethomas
657993d609 Moving get_main_db out of tests and into superset utils (#5864) 2018-09-11 22:50:14 -07:00
timifasubaa
c82cea3c8d fix sqllab logging (#5862) 2018-09-11 17:23:44 -07:00
Krist Wongsuphasawat
962eb0860c fix Object.assign try to write to read-only option.style (#5860) 2018-09-11 16:57:11 -07:00
timifasubaa
01212c3755 make access request open new tab (#5859)
* make access request open new tab

* trigger build
2018-09-11 16:18:14 -07:00
Christine Chambers
6df720d873 [bugfix] mapbox pan on filter (#5858)
* Pan mapbox map on query

- Modify the backend to send back the bounds of the points to cluster
- Clean up of mapbox component to derive lat, lon and zoom from the mercator that fitsbounds based on the bounds passed from the backend. This and the computation of clusters are now only done on initial load b/c we are not making queries to the backend on pan/zoom
- A minor clean up of unused props and also making the visual properties panel open by default

* Remove default latitude, longitude and zoom props which are unnecessary for computing the viewport now that it is driven by the bounds from the backend.

* a few small tweaks (rename vars to be sneak case and avoid two extra hash lookups)
2018-09-11 13:33:54 -07:00
michellethomas
6ae285b6f7 Adding line and big number total integration tests (#5846)
* Adding line and big number total integration tests

* Breakout visualization tests into multiple files
2018-09-11 11:03:46 -07:00
Chris Williams
1f6e8b31d2 [dev] fix redux devtools (#5855) 2018-09-11 10:35:52 -07:00
Grace Guo
965c838fbb update dashboard sidepane title (#5850) 2018-09-11 10:27:46 -07:00
timifasubaa
9a4bba485a [sqllab]More granular sqllab logging (#5736)
* quote hive column names (#5368)

* create db migration

* use stats_logger timing

* trigger build
2018-09-11 08:52:37 -07:00
Krist Wongsuphasawat
ce362f0ad6 [bugfix] fix rows not showing on welcome page (retry) (#5849)
* fix rows not showing on welcome page

* remove test code

* bring filter back

* remove empty line

* remove another empty line

* remove comment
2018-09-11 08:06:18 -07:00
Maxime Beauchemin
73cfcccf05 [bugfix] 'No numeric types to aggregate' in NVD3 chart (#5853) 2018-09-10 23:01:34 -07:00
Maxime Beauchemin
039e7c56d8 [sql lab] handle large ints, prevent overflow (#5829)
* [sql lab] handle large ints, prevent overflow

* Fix tests
2018-09-10 22:16:18 -07:00
Maxime Beauchemin
73db918fbe Upgrade to React==16.4.1 & Enzyme==3.3.0 (#5359)
* Bumping react==16.4.1 &  enzyme==3.3.0

The upgrade was pretty smooth except for a cryptic message coming
out of react-select around running multiple copies of React. It turns
out the `common` bundle had React and was conflicting with explore and
dashboard apps, only in 16.x. This somehow wasn't a problem in 15.x
outside of the wasted resources.

Running 16.4 should bring in all sorts of perf improvements and features
we've all been waiting for.

https://reactjs.org/blog/2017/09/26/react-v16.0.html

TODO: react-bootstrap-datetimepicker isn't compatible with React 16

* Trying to deprecate react-bootstrap-datetime

* Moving forward

* Reintroducing tests
2018-09-10 14:48:06 -07:00
timifasubaa
e35bfba308 add timing to stats logger (#5844) 2018-09-10 10:31:58 -07:00
Beto Dealmeida
f740974bf7 Handle "ambiguous durations" (#5785)
* WIP

* Update interface

* Fix truncate

* Improve unit tests

* Improve code

* Use moment.js to parse ISO durations

* Fix typo and React props
2018-09-10 10:28:17 -07:00
Beto Dealmeida
6c9be9d67b Update time filter to use react-datetime (#5819)
* Update time filter to use react-datetime

* Clean up code

* Many small fixes and improvements

* Fix small things
2018-09-10 10:27:16 -07:00
Krist Wongsuphasawat
6d573724aa Enable hot module replacement for React via react-hot-loader (#5841)
* Install react-hot-loader

* enable react-hot-reload for Explore, Dashboard, Profile and Sqllab

* enable hmr for welcome page

* enable hmr for welcome page

* enable react hot module replacement for addSlice

* fix lint

* fix Welcome test

* remove eslint comment
2018-09-10 10:15:32 -07:00
Maxime Beauchemin
517fea33b6 [docs] suggest using python3.6 in installation docs (#5834) 2018-09-10 08:48:03 -07:00
Beto Dealmeida
299e20a23f Fix cache for multiple time comparisons (#5828)
* Fix cache for multiple time comparisons

* Remove simple cache

* Improve docstring
2018-09-07 15:45:28 -07:00
Maxime Beauchemin
4a62ef3ae0 Get 'Test Connection' button to take 'engine_params' into account (#5830) 2018-09-07 14:47:01 -07:00
michellethomas
9f4d67b49b Adding instructions on how to run Cypress in Contributing.md (#5840) 2018-09-07 10:26:51 -07:00
Krist Wongsuphasawat
3f8b970a88 [bugfix] Fix bignumber overflow in dashboard (#5839)
* Move BigNumber to directory.

* fix chart margin in dashboard

* Fix margin and be more conservative about width.
2018-09-06 21:48:41 -07:00
Krist Wongsuphasawat
68e7794daf [SIP-5] Refactor Paired t-test (#5762)
* extract TTestTable into another file.

* Move into directory.

* update proptypes
2018-09-06 16:14:27 -07:00
Krist Wongsuphasawat
b284788fd8 [SIP-5] Refactor filterbox (#5789)
* reorganize variables

* bring back datasource

* refactor filter box

* rename constants to all caps and update prop types

* bind this.changeFilter

* update event handler
2018-09-06 16:13:50 -07:00
michellethomas
d40ded0be8 Adding simple Cypress tests (#5693)
* Adding simple Cypress tests

* Changing visitChart into multiple commands

* Adding Cypress to tox
2018-09-06 14:55:48 -07:00
Grace Guo
0c98ecb6d1 [dashboard] Add alert on user delete root level tab (#5771) 2018-09-06 10:23:56 -07:00
Maxime Beauchemin
5616d7bdd7 [sql_json] allow not specifying client_id (#5730)
* [sql_json] allow not specifying client_id

We're opening the sql_json endpoint at Lyft to other apps leveraging
Superset as a data-access layer that enforces authentication and our data
access policy.

Currently sql_json requires the client to pass a `client_id` parameter
that uniquely identifies the query, that can then be used for polling
when in async mode. This PR makes it such that you don't have to define
a client_id anymore. It just gets generated when not passed.

* adressing comments
2018-09-05 22:34:24 -07:00
Yongjie Zhao
f9977afd83 Update Readme that support Apache Kylin (#5818) 2018-09-05 22:33:03 -07:00
Maxime Beauchemin
98d9fb1e7e Adding 'Resources' section to the docs (#5823)
* Adding 'Resources' section to the docs

* Join slack entry
2018-09-05 22:30:56 -07:00
Krist Wongsuphasawat
8c2dbad803 fix bug with react-syntax-highlighter import (#5826) 2018-09-05 20:48:34 -07:00
Krist Wongsuphasawat
5eff7a8d6c [SIP-5] Refactor pivot table (#5705)
* extract slice and formData

* rename variables

* update proptypes and add comments
2018-09-05 14:14:12 -07:00
Krist Wongsuphasawat
a9952bb449 [SIP-5] Remove unused function #easy-review (#5825)
* remove unused function

* remove comment
2018-09-05 13:46:04 -07:00
Krist Wongsuphasawat
dafe0b9961 [SIP-5] Refactor parallel coordinates (#5761)
* Extract slice and formData

* organize imports
2018-09-05 12:59:23 -07:00
Krist Wongsuphasawat
bebbdb85d2 [SIP-5] Refactor MapBox (#5783)
* Break MapBox into smaller pieces

* Replace React.createElement with regular jsx

* detach setControlValue

* enable render trigger

* Pass explicit props rather than pass all that exists in payload.data. Also use formData when possible.

* Rename sliceWidth, sliceHeight to width, height. Use deconstructor. Extract function.

* use arrow function

* fix linting and remove css
2018-09-05 12:12:30 -07:00
Krist Wongsuphasawat
b461287290 [SIP-5] Refactor and improve histogram (#5758)
* Extract slice and formData

* indent

* update data proptype

* enable theme

* remove legacy code

* rename file

* Add legend

* Implement WithLegend

* align legend items to the right for bottom position

* add line at end of file

* fix linting issues
2018-09-05 12:11:37 -07:00
Krist Wongsuphasawat
2811498ec9 [SIP-5] Refactor calendar chart (#5760)
* remove stroke

* update style and annotate data type

* update prop type

* bring back utc code

* add comments
2018-09-05 10:34:44 -07:00
Krist Wongsuphasawat
0c33f80c1d Enable CSS Hot Module Replacement and optimize css output for production (#5813)
* Enable HMR for css. Use style-loader for development

* optimize css output

* remove mini-css-extract when dev

* change double-quote to single-quote
2018-09-05 09:17:18 -07:00
Christine Chambers
a411516ff5 bug: don't show query overlay when panning mapbox maps (#5814)
* bug: don't show query overlay when panning mapbox maps

Since we don't want to prompt user to rerun query every time they pan a map, prevent the query overlay from showing by setting dontRefreshOnChange for viewport_latitude and viewport_longitude controls.

* Prevent query overlay on viewport zoom also.
2018-09-04 18:08:00 -07:00
John Bodley
cf12ea0f03 [celery] setting default (#5812) 2018-09-04 17:32:01 -07:00
Krist Wongsuphasawat
eb41756e5e Configure webpack-dev-server (#5786)
* setup devserver with correct proxy

* dev server wroking with written manifest

* add comments

* Change webpack to default port 9000 and minor js formatting

* Use hash in development.

* write to disk = true

* Take ports as argument for dev-server

* update instructions

* update instructions

* add devtools

* use mode instead of NODE_ENV

* use minicssextract for prod (like before)

* remove empty line
2018-09-04 10:39:05 -07:00
hitdemo
d43813ff09 make some text in [druid,CRUD,datasource] localizable (#5796) 2018-09-03 23:04:31 -07:00
Ville Brofeldt
77fe9ef130 Force quoted column aliases for Oracle-like databases (#5686)
* Replace dataframe label override logic with table column override

* Add mutation to any_date_col

* Linting

* Add mutation to oracle and redshift

* Fine tune how and which labels are mutated

* Implement alias quoting logic for oracle-like databases

* Fix and align column and metric sqla_col methods

* Clean up typos and redundant logic

* Move new attribute to old location

* Linting

* Replace old sqla_col property references with function calls

* Remove redundant calls to mutate_column_label

* Move duplicated logic to common function

* Add db_engine_specs to all sqla_col calls

* Add missing mydb

* Add note about snowflake-sqlalchemy regression

* Make db_engine_spec mandatory in sqla_col

* Small refactoring and cleanup

* Remove db_engine_spec from get_from_clause call

* Make db_engine_spec mandatory in adhoc_metric_to_sa

* Remove redundant mutate_expression_label call

* Add missing db_engine_specs to adhoc_metric_to_sa

* Rename arg label_name to label in get_column_label()

* Rename label function and add docstring

* Remove redundant db_engine_spec args

* Rename col_label to label

* Remove get_column_name wrapper and make direct calls to db_engine_spec

* Remove unneeded db_engine_specs

* Rename sa_ vars to sqla_
2018-09-03 22:49:58 -07:00
Krist Wongsuphasawat
8a4b1b7c25 [SIP-5] Refactor table (#5707)
* update indent

* extract formData and data.

* take filter

* remove dependencies

* remove removeFilter

* add comment

* remove columnFormats and verboseMap from props. clarify a few more props

* fix linting issue

* minor syntax

* syntax fix

* Move check to adaptor

* update unit test

* remove code related to .widget

* rename variables for clarity

* move Option fix to browser.js
2018-08-31 15:42:44 -07:00
Hugh A. Miles II
5e3f8332c4 Update annotation model to have JSON Metadata field (#5745)
* add column to annotation model

* update migration file

* change to Text

* remove old migration file

* add migration file

* remove JSON

* add new column to view

* add comma back

* linting

* lint some more

* missing comma

* rename columns

* add degrade and new migration file

* update version

* fixe changed name

* remove json from list columns
2018-08-31 10:06:27 -07:00
Hugh A. Miles II
e12f4fb66d update thumbnail (#5782) 2018-08-30 23:32:01 -07:00
Krist Wongsuphasawat
f72cdc38df [SIP-5] Repair and refactor CountryMap (#5721)
* Extract slice and formData

* update css indent

* remove no-effect call

* improve text label

* adjust text size

* fix bound calculation

* use string literal

* make path constant
2018-08-30 14:43:40 -07:00
Conglei
9f2b502eb6 remove backend logic for wordcloud (#5753) 2018-08-30 12:59:05 -07:00
Beto Dealmeida
8af3e1f3a1 Fix redirect to SQL Lab (#5777) 2018-08-30 11:17:15 -07:00
Eli Sebastian Brumbaugh
ada8b92d21 New branding images (#5776) 2018-08-29 17:48:43 -07:00
Junda Yang
5437efa590 Fix multilayer geoviz and color picker error (#5767)
* Fix multilayer goeviz and color picker error

* fix lint

* remove props.data and improve merging list

* nit
2018-08-29 15:37:39 -07:00
Krist Wongsuphasawat
00f2771f23 [SIP-5] Refactor and repair partition (#5718)
* Extract slice and formData

* reorder functions

* fix tooltip

* remove commented code

* remove commented code and rename variables

* remove verboseMap

* rename kx, ky to zoomX, zoomY
2018-08-29 15:21:04 -07:00
Krist Wongsuphasawat
86f99b0e1e [SIP-5] Refactor rose (#5763)
* refactor rose

* update proptypes
2018-08-29 14:56:28 -07:00
Krist Wongsuphasawat
00cc6e981e [SIP-5] Refactor World Map (#5719)
* extract slice and formData

* update proptypes of data
2018-08-29 12:36:48 -07:00
Grace Guo
772ae77ab0 [dashboard] Update font style for markdown component (#5722) 2018-08-29 12:01:41 -07:00
timifasubaa
d5d592788c fix sqlparse bug and refactor (#5768) 2018-08-29 08:30:49 -07:00
Maxime Beauchemin
135539c109 [bugfix] 'DruidCluster' object has no attribute 'db_engine_spec' (#5765)
* [bugfix] 'DruidCluster' object has no attribute 'db_engine_spec'

* Fix tests
2018-08-28 21:04:06 -07:00
Beto Dealmeida
2da5db9fcd [Table view] Handle empty arrays in fd.timeseries_limit_metric (#5715)
* Handle empty arrays

* Remove test code

* Adding unit test

* Fix unit tests

* Remove logging
2018-08-28 18:42:48 -07:00
Christine Chambers
ae3fb04036 Bug: fixing async syntax for python 3.7 (#5759)
* Bug: fixing async syntax for python 3.7

Rename async to async_ so superset installs for python 3.7.

* Addressing PR comments. Use kwargs instead of explicitly specifying async_ so downstream engines (e.g. PyHive) that supports async can choose to use the async_ in pythonwq3.7 and async in <=python3.6

* addressing additional pr comments
2018-08-28 17:40:45 -07:00
Beto Dealmeida
48d220c03a Disable input when IS (NOT) NULL selected in filters (#5766) 2018-08-28 17:05:44 -07:00
Maxime Beauchemin
6c6ea3730b [bugfix] IS NOT NULL filter triggers KeyError: 'val' (#5764) 2018-08-28 15:26:41 -07:00
Viksit Gaur
ba4b8a033b Add Myra Labs to user list in README (#5756) 2018-08-28 15:14:42 -07:00
Maxime Beauchemin
60ecd72aac [deck polygon] add support for geohash (#5712)
* [deck polygon] add support for geohash

+ improvements:
* added autozoom support
* support for metric & aggregations (only aggregates if metric is picked)
* fixed stroke
* fixed opacity
* introduced a SliderControl

* addressing comments, fixing build

* Addressing comments
2018-08-28 11:09:10 -07:00
Maxime Beauchemin
f0beb3ab80 Silence error on migration 4736ec66ce19 constraint drop (#5729)
* Silence error on migration 4736ec66ce19 constraint drop

* typo + lint
2018-08-28 11:08:47 -07:00
Maxime Beauchemin
6cc52c614c Prevent deleting databases that have attached tables (#5749)
* Prevent deleting databases that have attached tables

Similar to logic preventing deleting tables that have charts attached.

* Addressing comments
2018-08-28 11:08:12 -07:00
Beto Dealmeida
bd1f36d345 Merge pull request #5750 from mistercrunch/updating_0_28
UPDATING.md entry about dashboard v2 forced migration in 0.28
2018-08-28 10:50:43 -07:00
Beto Dealmeida
1a95fbc88c Merge pull request #5732 from mistercrunch/build_docs
[docs] note as to how to build and view the docs
2018-08-28 10:48:14 -07:00
Beto Dealmeida
24a9a39e2d Merge pull request #5731 from mistercrunch/faq_db_engines
[docs] FAQ entry 'Does Superset work with [database engine]?'
2018-08-28 10:47:55 -07:00
Krist Wongsuphasawat
506cfd1450 [SIP-5] Refactor sankey (#5701)
* extract slice and formdata from sankey

* use arrow function

* reorganize imports
2018-08-27 21:50:08 -07:00
Krist Wongsuphasawat
fcf2c756c0 [SIP-5] Refactor and update heatmap (#5704)
* Extract slice and formData

* Define data shape

* update style

* organize imports

* fix heatmap axis labels

* add new line

* adjust indent
2018-08-27 21:49:54 -07:00
Maxime Beauchemin
13e48e8c8e typo-delipo 2018-08-27 21:28:04 -07:00
Beto Dealmeida
4ae08c2c64 Merge pull request #5725 from mistercrunch/label_verbose_name
[table editor] better table header for Metrics tab
2018-08-27 18:33:31 -07:00
Maxime Beauchemin
ceda3092e3 UPDATING.md entry about dashboard v2 forced migration in 0.28 2018-08-27 18:01:20 -07:00
Hugh A. Miles II
46a048b300 update webpack (#5744) 2018-08-27 16:59:05 -07:00
Beto Dealmeida
1e6a3b0401 Merge pull request #5706 from mistercrunch/color_arcs
[deck arcs] add JS hooks for sourceColor & targetColor
2018-08-27 16:33:54 -07:00
Beto Dealmeida
0d6201de67 Merge pull request #5724 from mistercrunch/css_editable_input
[css] show border around editable input while editing
2018-08-27 16:24:17 -07:00
Beto Dealmeida
19062ed50e Merge pull request #5723 from mistercrunch/fix_autocomplete_filters
[table editor] fix 'Autocomplete filters' checkbox doesn't stick
2018-08-27 16:22:33 -07:00
Krist Wongsuphasawat
0781cf2cfb [bugfix] BigNumber crash, Horizon indent and Myanmar geojson (#5746)
* fix myanmar geojson

* fix indent of horizon in dashboard

* Fix bignumber crash when color_picker is undefined
2018-08-27 15:46:52 -07:00
Krist Wongsuphasawat
8d01c84c54 [SIP-5] Refactor sunburst (#5699)
* extract slice and formData

* fix small issues

* Update visual

* update css
2018-08-27 10:43:04 -07:00
Krist Wongsuphasawat
d7f06cbc26 [SIP-5] Repair and refactor Horizon Chart (#5690)
* Migrate horizon chart to react

* remove unused code

* rename files

* update props

* enable renderTrigger

* fix canvas transform issue

* Address Chris' comment
2018-08-27 10:42:42 -07:00
Hugh A. Miles II
f5cc98351e remove unneeded console.log (#5738) 2018-08-26 21:01:05 -07:00
John Bodley
52b99dff78 [celery] Using preferred configuration proceedure (#5726) 2018-08-26 20:04:33 -07:00
Maxime Beauchemin
09d46a7864 Fix tests 2018-08-26 17:14:15 -07:00
Beto Dealmeida
f83ea233c7 Autofocus aggregation in metric control (#5717)
* Focus button

* Move autofocus to aggregation
2018-08-26 16:36:09 -07:00
hitdemo
9a6595d0e9 make some text localizable, mainly in explore, query (#5735) 2018-08-26 11:02:56 -07:00
Maxime Beauchemin
12cc2fbe15 [docs] note as to how to build and view the docs 2018-08-25 16:31:03 -07:00
Maxime Beauchemin
bddc9522e8 [docs] FAQ entry 'Does Superset work with [database engine]?' 2018-08-25 16:18:19 -07:00
Beto Dealmeida
cae070467b Fix FAQ on filters (#5720) 2018-08-24 21:54:16 -07:00
Maxime Beauchemin
e964d83b45 [table editor] better table header for Metrics tab 2018-08-24 18:14:59 -07:00
Maxime Beauchemin
c447a970de [css] show border around editable input while editing 2018-08-24 17:57:51 -07:00
Maxime Beauchemin
ba329440bc [table editor] fix 'Autocomplete filters' checkbox doesn't stick 2018-08-24 17:33:42 -07:00
Krist Wongsuphasawat
54ae215d11 [SIP-5] Refactor treemap (#5670)
* refactor treemap

* refactor treemap code

* Add proptypes

* add proptypes for tree

* Add margin prop
2018-08-24 14:15:43 -07:00
Maxime Beauchemin
14930bbddb [bugfix] add item is missing on table editor metrics tab (#5714) 2018-08-24 11:44:40 -07:00
Beto Dealmeida
2abc941801 Merge pull request #5716 from lyft/DPTOOLS-976
Return 403 on no authorization
2018-08-24 09:28:50 -07:00
Beto Dealmeida
c567a89ee7 Use 403 2018-08-23 18:40:20 -07:00
Beto Dealmeida
9827925015 Return 401 on no authorization 2018-08-23 18:32:04 -07:00
Joshua Brooks
5e6efae155 Geojson property names (#5708)
* Add geojson for Myanmar

* Adds 'myanmar.geojson' file

* Adds "iso-3166" codes

* Uppercase ISO fieldname in TL, MY geodata
2018-08-23 15:48:26 -07:00
Krist Wongsuphasawat
0448db3b8d remove console.log and change wording (#5702) 2018-08-23 15:46:32 -07:00
Krist Wongsuphasawat
9fb28b5f4e Revise markup.js and iframe.js (#5672)
* Do not call slice.xxx

* remove iframe id

* remove old code

* use import instead of require

* update iframe.js
2018-08-23 15:45:45 -07:00
timifasubaa
5c49514e2f [sqlparse] fix sqlparse bug (#5703)
* fix sqlparse bug

* add one more test case
2018-08-23 11:20:25 -07:00
Maxime Beauchemin
71866f6a12 [deck arcs] add JS hooks for sourceColor & targetColor 2018-08-22 20:28:19 -07:00
John Bodley
89927558e8 [security] Moving set/merge perm to security manager (#5684) 2018-08-22 11:15:22 -07:00
Beto Dealmeida
54c9ceb78d Merge pull request #5623 from mistercrunch/fix_templates
Fix menu on 'import dashboards' page
2018-08-22 10:31:04 -07:00
Hugh A. Miles II
b92e73084b Allow users to select color for big number (#5694)
* allow user to choose color

* add color control

* remove rgbToHex reference

* change to color picker control

* add d3-color

* remove module

* use d3-colors

* add semicolon
2018-08-22 10:27:19 -07:00
Joshua Brooks
0e057d50f1 Adds geodata for Myanmar (#5697)
* Add geojson for Myanmar

* Adds 'myanmar.geojson' file

* Adds "iso-3166" codes
2018-08-22 09:26:15 -07:00
Joshua Brooks
1c85192c6b adds TimorLeste geodata (#5698) 2018-08-22 09:25:57 -07:00
Maxime Beauchemin
b42f8a23b1 [bugfix] geohash lat/long is reversed (#5695)
* [bugfix] geohash lat/long is reversed

This allows support for reversing geohashes. Note that the default option
was the wrong way.

* addressing comments

* make reverse_geohash_decode a staticmethod
2018-08-21 22:58:47 -07:00
Beto Dealmeida
2a8cd43881 Make brush send events (#5663)
* Make brush send events

* Make sure object is date

* Send event only on brushend
2018-08-21 21:40:26 -07:00
Maxime Beauchemin
6e8c7f7b20 [viz flow] detect TIMESTAMP, transition to line chart (#5634)
* [viz flow] detect TIMESTAMP, transition to line chart

* Refactor is_date
2018-08-21 21:33:34 -07:00
Beto Dealmeida
6959b70c1c Add categories and time slider to arc deck.gl viz (#5638)
* Fix legend position

* Add categories and play slider to arc viz

* New functionality to arc viz
2018-08-21 21:31:03 -07:00
Beto Dealmeida
bcc0954bb9 Fixes to the play slider (#5675)
* Fixes to the play slider

* Address comments

* Make CSS rules more strict

* Fix CSS and improve code
2018-08-21 21:01:44 -07:00
Beto Dealmeida
359b31ebab Increase pylint jobs (#5646) 2018-08-21 20:50:53 -07:00
Krist Wongsuphasawat
0a4014937a Repair and refactor Word Cloud (#5669)
* create reactize function

* update function signature

* adjust word cloud controls

* Fix broken word cloud logic

* Repair and refactor word cloud

* remove file

* Add PropTypes

* change module.exports to export default

* change order

* update proptypes
2018-08-21 20:50:01 -07:00
Krist Wongsuphasawat
3929f0f79d Refactor force-directed graph (#5691)
* Refactor and add props to Force Directed Graph

* update label and enable renderTrigger
2018-08-21 20:48:58 -07:00
Yongjie Zhao
ebe585df3d [bugfix] Encode unicode error message response (#5687)
* Fix unicode error message response

* Update
2018-08-21 20:47:40 -07:00
Sumedh Sakdeo
80e777823b Field names in big query can contain only alphanumeric and underscore (#5641)
* Field names in big query can contain only alphanumeric and underscore

* bad quote

* better place for mutating labels

* lint

* bug fix thanks to mistercrunch

* lint

* lint again
2018-08-21 13:45:42 -07:00
Maxime Beauchemin
71e0c07904 [bugfix] making secondary_metric optional (#5682)
I noticed that `secondary_metric` was required in the chart that users
it, namely sunburst, parallel coordinates, and world_map.

I set the control as allowing null, and found related bugs in the
process:
* parallel coordinates did not have support for the new MetricControl
* added color scheme support for parallel coordinates
* added option to set row_limit on these viz types
* sunburst to support numeric columns (number would show as blank)
2018-08-21 11:31:33 -07:00
Emily Littleworth
8dfa565c22 Upgrade mysqlclient to 1.3.13 (#5665) 2018-08-21 11:29:48 -07:00
Beto Dealmeida
14b5c6b8b1 Fix CSS (#5640) 2018-08-21 11:24:39 -07:00
Krist Wongsuphasawat
fdb8001e0b change title from hotkeys to keyboard shortcuts (#5688) 2018-08-21 11:16:06 -07:00
Maxime Beauchemin
50042af25d [bug] 'an error has ooccured' when saving datasource (#5683)
The check_ownership was failing when Alpha user was saving a datasource
from the datasource editor.
2018-08-21 10:10:44 -07:00
hitdemo
5e5360fc11 make some text localizable, mainly in dashboard, explore, datasource editor, webpage title (#5685) 2018-08-21 10:10:09 -07:00
Sumedh Sakdeo
0fbda33c68 Handling bigquery dialect when previewing data (#5655)
* Handling bigquery dialect when previewing data

* review comments

* lint
2018-08-20 22:04:22 -07:00
Maxime Beauchemin
2d23ae1065 [bugfix] df is None breaks df.empty check (#5657) 2018-08-20 17:01:03 -07:00
Krist Wongsuphasawat
683edc377e Refactor Chord vis (#5671)
* refactor Chord vis

* Add PropTypes

* change module.exports to export default
2018-08-20 17:00:25 -07:00
Beto Dealmeida
fef39a7878 Fix time filter in cache (#5681) 2018-08-20 16:37:19 -07:00
Krist Wongsuphasawat
cdd348ab94 Minor improvements to SQL Lab UI (#5662)
* Remove "for"

* add space

* Separate control to select table from database and schema.

* Adjust schema displays

* Fix caret and arrow position in Select and Tab

* Reduce space after caret in tab header

* Use translator

* Align icons in the pop-up menu in Sql Lab

* Add new table in front of the list (so it will appear on top)

* shorten message

* reduce line
2018-08-19 22:43:00 -07:00
Beto Dealmeida
4c5142d969 Filter out null locations by default (#5642)
* Filter out null locations by default

* Move exception to better place

* Add unit test

* Return columns in order for test and readibility
2018-08-19 16:04:01 -07:00
Hugh A. Miles II
dd5e0ba70b Update CONTRIBUTING.md (#5668) 2018-08-19 15:42:09 -07:00
Chris Williams
3d15d910af [sqllab] call out transient state of tabs to users (#5652) 2018-08-17 17:44:56 -07:00
Maxime Beauchemin
0a1aa6dd50 [bugfix] TypeError: adhocMetric.comparator.join is not a function (#5661)
Somehow we have a "IN" filter where the filter is a string, not an
array. While this may need to get fixed upstream as well, this prevents
the explore view from completely crashing.

Side note: this function looked somewhat brittle, I'm assuming it's used to keep
the free form SQL tab in sync and not used to generate the actual SQL
being executed.
2018-08-17 15:53:04 -07:00
Yongjie Zhao
5a4b70dad7 Fix checkbox is fails When disable Druid datasource (#5645) 2018-08-16 23:54:27 -07:00
Junda Yang
97acfc7f17 fix multilayer viz backend error (#5649) 2018-08-16 23:52:39 -07:00
Sumedh Sakdeo
cc9324ae8b handle exception and set dtype value to JSON, when column type JSON (#5644)
* handle exception and set dtype value to JSON, when column type JSON

* review comment

* only when we handle exception
2018-08-16 20:04:08 -07:00
timifasubaa
4ff5686e0c make filters use security manager (#5567)
* make filters use security manager

* remove the superset short-circuit
2018-08-16 14:17:41 -07:00
michellethomas
32b3d00825 Updating yarn.lock for the vx upgrade (#5648) 2018-08-16 13:16:52 -07:00
michellethomas
2e0418034f Upgrading vx responsive to fix ResizeObserver issue (#5647) 2018-08-16 11:17:22 -07:00
michellethomas
492ad6c49a use_slice_data in slice_json calls (#5643) 2018-08-16 09:35:34 -07:00
Sumedh Sakdeo
5966a674e5 Explore View Perf Fix (#5637) 2018-08-15 12:27:08 -07:00
michellethomas
bf0afef7a9 Fix form data issue switching viz types (#5100)
* Fixing issue with extra params in formData

* Pass in param use_slice_data to decide whether to use slice data

* Fixing core_tests to not use explore_json overrides
2018-08-15 11:25:06 -07:00
John Bodley
4e3b2e7cbc [title] Fix issue with non-string names in series title (#5433) 2018-08-15 09:35:44 -07:00
Sumedh Sakdeo
c9bd5a6167 Fetch a batch of rows from bigquery (#5632)
* Fetch a batch of rows from bigquery

* unused const

* review comments
2018-08-14 21:44:04 -07:00
John Bodley
46f89f4516 [bubble] Fixing ad-hoc metric labels (#5630) 2018-08-14 17:11:40 -07:00
Maxime Beauchemin
d601ff4747 Tackling late-arriving comments from #5186 (#5626) 2018-08-14 16:30:50 -07:00
Maxime Beauchemin
be04c98cd3 [sql lab] always use NullPool (#5612)
I think that the only place where we want db connection pooling would be
to talk to the metadata database. SQL Lab should close its connections
and never pool them.
Given that each Gunicorn worker will create its own pool that can lead
to way too many connections opened.

closes https://github.com/apache/incubator-superset/issues/4666
2018-08-14 16:27:13 -07:00
Conglei
2171ffb630 [bug fix] Fixed forced percentage format on tooltips and bubble chart tooltips format. (#5631)
* fixed forced percentage format on tooltip and correct reflection on bubble chart tooltip format

* re-trigger build
2018-08-14 16:04:24 -07:00
Maxime Beauchemin
4c2be71e83 [bugfix] TIMESTAMP not detected as date (#5629)
* [bugfix] TIMESTAMP not detected as date

* minor tweak
2018-08-14 13:01:28 -07:00
Hugh A. Miles II
85a6da19ee Fix annotation_json endpoint (#5621)
* fix annotation_json endpoint

* add time back

* set db to None

* change if condition

* remove prop

* add guard for to_dttm

* linting
2018-08-14 11:40:14 -07:00
Grace Guo
9f6ac0898e [Dashobard]Fix bad merge (#5624) 2018-08-14 10:56:45 -07:00
Krist Wongsuphasawat
1d7f4f282e [bugfix] line_multi chart crashed on chosen (#5568) (#5572)
* Fix bug for line_multi

* refactor forEach to map

* reorder fields

* fix issue with datasource
2018-08-14 10:48:21 -07:00
Jillian Rowe
a39dfb9ff9 Add additional heatmap schemas (#5549)
* got skeleton started

* added d3-scale-chromatic to package.json

* got hex values instead of calling from a function

* got rid of d3-scale-chromatic - no longer needed

* added schemas to controls

* damn editor broken some line spacing

* commit

* fix style issues

* whyyyyy won't this build

* whyyyyy won't this build

* damn typo

* hahaha got editor to deal with style configs

* no i guess i didn't

* gotta get them all

* again

* trying to get docker build ot work

* updated installation docs with some osx instructions

* restoring yarn.lock not sure why it changed

* trying to fix indent

* trying again

* CODE STYLE CHANGES WORK

* removing some colors that are too close to white

* human readable labels for names

* human readable labels for names
2018-08-13 23:37:17 -07:00
Beto Dealmeida
763eeca75a No exception on no data (#5597)
* No exception on no data

* Remove unreachable exception
2018-08-13 22:33:29 -07:00
Maxime Beauchemin
d04d714fe5 Fix menu on 'import dashboards' page
closes https://github.com/apache/incubator-superset/issues/5576
2018-08-13 22:31:51 -07:00
Beto Dealmeida
5c1d906976 Add option to run query with ctrl+enter (#5622) 2018-08-13 21:43:57 -07:00
Krist Wongsuphasawat
536478e96d [feature] Allow min/max value for the sparkline in time series table (#5603)
* Allow min/max value for the sparkline in time series table

* show bound lines

* User can choose to show y-axis bounds

* show label for the bounds

* compute necessary padding for the bound label

* extract sparkline code to another component

* can show y-axis in sparkline without setting bounds

* reorder option rows
2018-08-13 16:19:19 -07:00
John Bodley
e0c02be14e [dashboards] Increasing position_json to MEDIUMTEXT for MySQL (#5618) 2018-08-13 14:52:59 -07:00
John Bodley
2685ab4f1f [fix] Enforcing main dttm column (#5584) 2018-08-13 13:54:55 -07:00
hitdemo
50981dbc69 make some text localizable (#5611) 2018-08-12 20:47:55 -07:00
Narcissus7
7d61eea604 fix cal_heatmap tips location error (#5480) (#5587)
* fix cal_heatmap tips location error

* fix graph-legend
2018-08-12 20:44:54 -07:00
John Bodley
d1ef81f102 [ad-hoc filters] Fixing legacy conversion (#5589) 2018-08-10 10:22:06 -07:00
Maxime Beauchemin
682ca3874e [sql lab - explore flow] make sure groupby is empty (#5596) 2018-08-09 14:48:36 -07:00
Grace Guo
21bf8d9f8f [bug]Fix load_examples dashboard version key name (#5592) 2018-08-09 13:09:14 -07:00
Maxime Beauchemin
f4b45f07c3 [sql lab] visualization flow to detect unaliased columns (#5579)
* [sql lab] visualization flow to detect unaliased columns

* Addressing comments
2018-08-09 13:04:09 -07:00
Maxime Beauchemin
a8f4849911 [table editor] disable 'Sync table metadata' button for Superset views (#5580)
This was a bit tricky since there's a bug in react-bootstrap that make
it tricky to show a tooltip on a disabled button.
2018-08-09 10:53:25 -07:00
Beto Dealmeida
222b79df7e Template dashboard (#5550)
* Template dashboard

* Fix MySQL test

* Model for user attributes

* Redirect to welcome dash

* Fix lint

* Add missing file

* Add migration script

* Fix lint

* Fix more lint
2018-08-07 17:39:15 -07:00
Octavian
39ff9deb57 update python3 version for testing to 3.6 (#5562)
* update python version for testing to 3.6

* CONTRIBUTING.md states pull requests should work on py27, py36+

* CONTRIBUTING.md states pull requests should work on py27 and py36
2018-08-07 13:22:19 -07:00
Conglei
ad469c72ad Fixed the wrong icon for Source -> Table (#5574) 2018-08-06 17:27:48 -07:00
Krist Wongsuphasawat
39acd9ff7d remove deep-equal and use _.isEqual instead (#5573) 2018-08-06 17:26:06 -07:00
Maxime Beauchemin
68ba63fcd9 Implement a React-based table editor (#5186)
* A React table editor

* addressing comments

* Fix SelectAsyncControl error on clear

* fix tests

* more corrections

* Removed <strong>
2018-08-06 15:30:13 -07:00
Krist Wongsuphasawat
aa14bac5c7 Add option for BigNumber to not start y-axis at 0 (#5552)
* Add option to not start y-axis at 0

* Update language to positive.
2018-08-06 14:32:29 -07:00
Maxime Beauchemin
b7f9dabc44 A collection of small bug fixes on master (#5561) 2018-08-06 08:36:06 -07:00
hitdemo
f5ad661441 remove uneccessary comma (#5564) 2018-08-04 09:20:01 -07:00
Maxime Beauchemin
89b7ca0623 Remove function since_until_to_time_range (#5560)
It's taken care of earlier in the pipeline with legacy.update_time_range
2018-08-03 15:34:03 -07:00
Maxime Beauchemin
9331cf79b5 [sql lab] allow EXPlAIN queries (#5558)
* [sql lab] allow EXPlAIN queries

closes https://github.com/andialbrecht/sqlparse/issues/421

* typo
2018-08-03 15:33:33 -07:00
Grace Guo
faf35b0daa convert position to v2 for Superset load_examples (#5515) 2018-08-03 15:28:12 -07:00
Maxime Beauchemin
51bd17d6f6 Improve URLs for Chart and Dashboard ModelViews (#5544)
* Improve URLs for Chart and Dashboard ModelViews

Prior to this, the ModelView for Chart and Dashboard would be
at `/slicemodelview/list/` and `/dashboardmodelview/list/`.

Now we have cleaner URLs at `/chart/list/` and `/dashboard/list/`

* Fix unrelated js lint

* addressing comments
2018-08-03 12:46:48 -07:00
timifasubaa
1e155663a7 permissions bug fixes (#5559) 2018-08-03 12:08:00 -07:00
Maxime Beauchemin
8014709b1a [bugfix] time filter on dashboard view (#5546)
Charts using the old since/until time filtering form_data format would
only work in the Explore view, not on the dashboard view. This fixes
that.
2018-08-03 11:29:34 -07:00
Grace Guo
2e2c9806b2 Reduce dashboard position_json data size (#5543) 2018-08-03 10:55:08 -07:00
Ville Brofeldt
e1f4db8e24 Match viz dataframe column case to form_data fields for Snowflake, Oracle and Redshift (#5487)
* Add function to fix dataframe column case

* Fix broken handle_nulls method

* Add case sensitivity option to dedup

* Refactor function definition and call location

* Remove added blank line

* Move df column rename logit to db_engine_spec

* Remove redundant variable

* Update comments in db_engine_specs

* Tie df adjustment to db_engine_spec class attribute

* Fix dedup error

* Linting

* Check for db_engine_spec attribute prior to adjustment

* Rename case sensitivity flag

* Linting

* Remove function that was moved to db_engine_specs

* Get metrics names from utils

* Remove double import and rename dedup variable
2018-08-03 09:53:56 -07:00
Jay Lindquist
aa9b30cf55 Re-add dashboard short links (#5398)
* Re-add dashboard short links

* Make the short link available to all users
* Include filters in the short link for dashboards

* Remove duplicate key causing linter error

* Change URL Short link button into a menu item with Modal

* Split out tests, bind URL short link in constructor
2018-08-03 09:22:39 -07:00
ekasitk
0aff8659d8 Add Thailand country map (#5554) 2018-08-03 08:15:38 -07:00
Krist Wongsuphasawat
9d95c4cc32 remove js packages that are not referenced in js code (#5514) 2018-08-02 11:45:58 -07:00
Nuno Beires
0786913fa6 Portuguese translation (#4874)
* Create message.po

* Add files via upload

* Update config.py

* Update config.py

* portuguese translation - messages.json

po2json

* Update message.po

* Add files via upload

* Add files via upload
2018-08-02 11:00:31 -07:00
Maxime Beauchemin
fe6846b8db [sql lab] simplify the visualize flow (#5523)
* [sql lab] simplify the visualize flow

The "visualize flow" linking SQL Lab to the "explore view" has never
worked so great for people, here's a list of issues:

* it's not really clear to users that their query is wrapped as a
subquery, and the explore view runs queries on top of it

* lint + fix tests

* Addressing comments
2018-08-02 10:52:38 -07:00
Krist Wongsuphasawat
1b9e5d4174 Update BigNumber design (#5469)
support toggling trend line

experiment using svg to measure size instead of canvas

refactor BigNumber with chart sticked to the bottom

made header line stick to bottom and css adjustment

remove commented code

fix svg text size estimation

remove unused code and round dimensions

handle missing getbbox

remove vx/text from dependency

ensure svg deletion after measurement

add comment to css file.

Add `positive` and `negative` class based on diff.

Add default props.

rename variable

accept container as argument and remove redundant font family

refactor visutils for consistent api

update xy-chart

update xy-chart to alpha1.0

fix pointseries

remove points

update yarn.lock

[4c9c01d7] update xy-chart version

remove unused import
2018-08-02 10:34:36 -07:00
Ville Brofeldt
906dcd84a9 Replace metadata refresh stacktrace with danger flash (#5536)
* Replace stacktrace with danger flash

* Group successful and failed refreshes and fix typos

* Fix linting
2018-08-01 23:10:47 -07:00
timifasubaa
4bf69a7260 fix superset error message flow (#5540) 2018-08-01 15:36:58 -07:00
Jeffrey Wang
1a9c4592dc Include README in MANIFEST (#5531) 2018-08-01 15:07:53 -07:00
JamshedRahman
9831730351 Annotation Styles for Time Series Annotations (#5437) 2018-08-01 11:54:03 -07:00
michellethomas
b564aa43dc Stop pretty printing dashboard json (#5538) 2018-08-01 11:26:02 -07:00
John Bodley
e52518c3cd [ad-hoc filters] Remove legacy split in /explore (#5533) 2018-08-01 09:21:15 -07:00
John Bodley
e7d05127d1 [get_df] Updating multi-statement logic (#5517) 2018-07-31 14:52:03 -07:00
michellethomas
8c822f1e9b Adding 364 days to time compare option (#5521) 2018-07-31 14:49:13 -07:00
John Bodley
47e3c41f5e [ad-hoc filters] Fixing issue with legacy filters (#5525) 2018-07-31 13:52:20 -07:00
Beto Dealmeida
2d8101b05f Fix time shift (#5529)
* Fix freeform multi select control

* Improve old code

* Fix lint
2018-07-31 13:26:06 -07:00
Ville Brofeldt
c1e6c68a3e Add time grain blacklist and addons to config.py (#5380)
* Add interim grains

* Refactor and add blacklist

* Change PT30M to PT0.5H

* Linting

* Linting

* Add time grain addons to config.py and refactor engine spec logic

* Remove redundant import and clean up config.py

* Fix bad rebase

* Implement changes proposed by @betodealmeida

* Revert removal of name from Grain

* Linting
2018-07-30 23:44:30 -07:00
The Alchemist
37c9b0b119 added clickhouse as supported db (#5522)
I believe clickhouse is supported now since #1844 was merged
2018-07-30 23:34:43 -07:00
timifasubaa
9e67445c68 hotfix - pass link not error message (#5512)
* hotfix - pass link not error message

* nit
2018-07-30 15:29:36 -07:00
Jeffrey Wang
b77d6e9cb1 Set max width for tooltips (#5504) 2018-07-30 11:03:42 -07:00
Vishal Jagtap
8fd8d73613 Fixed the issue of Zambia country map. (#5516)
- Previously after selecting option, got error "Uncaught TypeError: Cannot read property 'length' of undefined"
- Updated the appropriate geojson.
2018-07-30 09:15:32 -07:00
timifasubaa
3b6cafc82f allow security manager provide error message (#5500) 2018-07-27 14:39:25 -07:00
Grace Guo
daf21169ca set default layout for new added charts (#5425) 2018-07-27 11:59:32 -07:00
Vishal Jagtap
d373178451 Added India in country map visualizaion. (#5459)
- Added option to select "India".
- Added india.geojson upto state level.
2018-07-27 09:50:02 -07:00
mmuru
213fb649e6 Fix 5479 - unicode columns issue. (#5508) 2018-07-27 09:49:08 -07:00
Maxime Beauchemin
cd55998d63 Improve hive/pyhive error message regex (#5502) 2018-07-27 08:31:37 -07:00
Grace Guo
723bbe46e2 Remove dashboard transition related config (#5505) 2018-07-26 22:30:29 -07:00
Maxime Beauchemin
6f87552bc2 [sqllab] fix unexpected keyword argument 'ignore_nan' (#5490) 2018-07-26 15:20:48 -07:00
Maxime Beauchemin
94cb20cf96 Apply SQL_QUERY_MUTATOR to explore & dashboard (#5493)
* Apply SQL_QUERY_MUTATOR kn explore & dashboard

* Add unit test
2018-07-26 15:20:23 -07:00
Maxime Beauchemin
e22fcb9abf [sql lab] fix Hive 'Transport' not open issue (#5494) 2018-07-26 15:18:49 -07:00
Maxime Beauchemin
41286b7545 [sql lab] extract Hive error messages (#5495)
* [sql lab] extract Hive error messages

So pyhive returns an exception object with a stringified thrift error
object. This PR uses a regex to extract the errorMessage portion of that
string.

* Unit test
2018-07-26 15:17:55 -07:00
JamshedRahman
54fba0f39c Visualization Unicode bug fix (#5387)
* Visualization Unicode bug fix

* Fix the build (#5403)

The travis build has been failing for 2 reasons recently
* pylint takes > 10 minutes without outputing
* bad merge confict auto resolve in controls.jsx

* Visualization Unicode bug fix
2018-07-26 13:18:35 -07:00
Grace Guo
7ff02c0050 [migration] bug fix in dashboard migration (bebcf3fed1fe_) (#5497)
fix a bug in handle empty rows
2018-07-26 13:15:09 -07:00
Yoon
3df82d9da6 Modify Athena connection description (#5492) 2018-07-25 23:12:14 -07:00
Beto Dealmeida
dfb6147715 Remove is-react dep (#5478) 2018-07-25 11:02:50 -07:00
Grace Guo
3f2fc8f413 retire dashboard v1 (js and python) (#5418) 2018-07-24 15:23:30 -07:00
Grace Guo
fd2d4b0e58 Migrate dashboard positions data from v1 to v2 format (#5463)
* Migrate dashboard positions data from v1 to v2 format

* UPDATING.md

* rebase onto master
2018-07-24 15:14:11 -07:00
John Bodley
bfcc3a633b [migration] Fix migration 3dda56f1c (#5471) 2018-07-24 14:05:00 -07:00
timifasubaa
bea0a0aa15 fix migration 3dda56f1c (#5468)
* fix migration 3dda56f1c

* add isodate to setup.py:
2018-07-23 16:27:41 -07:00
Maxime Beauchemin
fee5023269 Move flake8-related packages deps to reqs-dev.txt (#5460)
* Move flake8-related packages deps to reqs-dev.txt

My VIM which is integrated with flake8 wouldn't match the output from
travis and would often miss things related to the flake8 plugins
installed using Tox.

By moving this to requirements-dev.txt, we can expect developers would
have the proper configuration locally and get matching results with
Travis when running flake8 or in their IDEs if its integrated with
flake8..

* merging migratinos

* sorting packages

* Specify folder for flake8 processing

* pin pycodestyle==2.3.1

* merge db migrations
2018-07-23 12:29:21 -07:00
Maxime Beauchemin
a11e47f694 Add row_limit control to line chart (#5426)
Somehow it's not possible to set the row_limit for a line chart,
resulting to a 10k cap in our environment. In some cases the user may
want more than that.
2018-07-23 11:54:12 -07:00
Ville Brofeldt
a165aec822 Fix broken dedup and remove redundant db_spec logic (#5467)
* Fix broken dedup and remove redundant db_spec logic

* Add test case
2018-07-23 10:41:38 -07:00
Maxime Beauchemin
971e9f0993 Fix the build by merging both db migrations heads (#5464) 2018-07-23 09:43:09 -07:00
John Bodley
7fcc2af68f [sql] Correct SQL parameter formatting (#5178) 2018-07-21 12:01:26 -07:00
Maxime Beauchemin
6e7b5879be Clarify title when importing a table (#5454)
The flow to import a table definition in Superset is confusing, user may
think they are creating a table or what not. This makes the flow a bit
more clear.
2018-07-21 10:39:41 -07:00
George
0d5443e392 Add week granularity for Clickhouse (#5455) 2018-07-21 09:53:21 -07:00
Andre Lesa
c545fdf589 Added Zambia geojson up to district level. (#5436) 2018-07-20 15:46:41 -07:00
gbates101
90decbc5db Migrated to click (#5410)
* Migrate flask_script to the Flask built-in click.

Flask 0.11 is the built-in integration of the click command line interface.
Flask-Migrate support for the new Flask CLI based on Click after Release 2.0.0.

* Resolved merge conflicts.

* Fixed issue introduced from bad merge.

* Fixed flake8 errors, added build to excluded flake8 stuff.

* * Moved the FlaskGroup declaration to the driver script.
* Moved shell context definition to cli.py
* Switched shell context definition to use decorator.
* Moved create_app definition to cli.py
* Fixed InvocationError with a wrapped function

* Added extra newlines between functions

* Removed flask-script dependency.
2018-07-20 15:26:33 -07:00
Ville Brofeldt
670b145b1e Add Snowflake connection string instructions (#5443) 2018-07-20 15:19:18 -07:00
Beto Dealmeida
83e1e2c0fe Time filter fixes (#5448)
* Fixes for the new time filter

* Fix dashboard

* Trigger tests
2018-07-20 15:15:33 -07:00
timifasubaa
41447e8b3b remove limiting at the display level (#5413) 2018-07-19 17:36:03 -07:00
Vishal Jagtap
6441f69271 Typo fixes in viz.py and CONTRIBUTING.md (#5432) 2018-07-19 16:45:56 -07:00
Maxime Beauchemin
99ce7b79fa Add pylint back as a tox env (#5416) 2018-07-18 15:55:01 -07:00
Maxime Beauchemin
5be0e69d1b Avoid expensive select_star on dashboard bootstrap data (#5424)
The dashboard page bootstrap data currently attempts to generate the
`SELECT` statement with column name details for each table represented
in the dash. This means it calls the database(s) and waits for column
details prior to returning any HTML.

This makes the default select_star property generate a simple
`SELECT *` with no column details instead, which doesn't require
interogating the DBs.
2018-07-18 15:54:47 -07:00
Vishal Jagtap
b0b04b319b Fixed typos in currently modified files (#5419) 2018-07-18 08:32:47 -07:00
timifasubaa
7f8eaee18d allow selection of dbs where csv can be uploaded to (#5393) 2018-07-17 15:38:16 -07:00
Maxime Beauchemin
73ec526913 Fix db migration 3dda56f1c4c6 (#5415) 2018-07-17 15:30:18 -07:00
Chris Williams
8b7aaec19d [webpack 4] third time's the charm ;) (#5370)
* [perf] add webpack 4 + SplitChunks + lazy load visualizations (#5240)

* [webpack] setup lazy loading for all visualizations

* [lazy-load] push renderVis function to <Chart /> state

* no mapbox token

* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.

* fix geojson import, undefined t, and fix async css bug

* [lazy load] actually add babel-plugin-syntax-dynamic-import

* [webpack] working dev version of webpack v4

* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins

* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints

* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox

* [webpack 4] lint python manifest changes, update yarn lock.

* [webpack 4] fix tests with babel-plugin-dynamic-import-node

* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes

* [webpack 4] clean up package.json and yarn.lock after rebase

* [webpack 4] lint?

* [webpack 4] lint for real

* [webpack 4][istanbul] ignore visualizations/index.js

* [webpack 4] fix rebase bug, update dashboard/deprecated/chart/Chart.jsx to use vis promises.

* [webpack 4] lint and test

* [webpack 4] yarn.lock
2018-07-17 13:55:03 -07:00
Beto Dealmeida
75cf5e198f Fix time filter in dashboard v2 (#5412) 2018-07-17 13:38:33 -07:00
Chris Williams
7670e0c565 allow 7 tabs, remove 'slice_' prefix in logs (#5411) 2018-07-17 13:20:19 -07:00
Beto Dealmeida
7b4e6c7455 Time shift difference (#5177)
* Allow different comparisons when using time shift

* Remove test code

* Remove lead/trail NaN and improve code

* Add headers/subheader

* Update yarn

* Migration script

* Fix migration

* Small fixes

* Trigger tests

* Fix lint

* Fix javascript
2018-07-16 16:30:11 -07:00
timifasubaa
f8a6e09220 [sqllab] Fix sqllab limit regex issue with sqlparse (#5295)
* include items after limit to the modified query

* use sqlparse
2018-07-16 15:27:30 -07:00
Beto Dealmeida
c445ef8c43 Explore to SQL Lab (#5101)
* WIP

* Working version

* Clean code

* Fix lint

* Fix unit test; show only for sqla

* Working on UX

* Dropdown working 66%

* Working but needs CSS

* Fixed table

* Fix lint

* Fix unit test

* Fix languages path

* Fixes

* Fix Javascript lint
2018-07-16 15:00:48 -07:00
Maxime Beauchemin
48317fd8f9 [big_number] tooltip shows in the wrong place (#5404) 2018-07-16 14:59:14 -07:00
Beto Dealmeida
4fa416347d Make time filter more usable (#4981)
* Initial work

* WIP

* WIP

* Working

* WIP

* Still WIP

* Frontend done

* Working version

* Migration working

* Migration working

* Fix freeform rerender

* Remove jquery

* Fix filter

* Unit tests and lint

* Fix py.test

* Improve unit tests

* Ensure freeform is computed at init

* Fix lint

* Trying to fix pyfreeze error

* Remove freezegun

* Address comments

* Use tabs instead of pills

* Regroup options

* WIP

* Change type when clicking calendar

* Fix CSS

* Fix JS lint
2018-07-16 14:27:40 -07:00
Grace Guo
0d10cc569d [Table Viz] columns not match with group_by control (#5329) 2018-07-16 14:06:29 -07:00
Maxime Beauchemin
709f056445 [bugfix] make MetricsControl work with DECK visualizations (#5376)
* [bugfix] make MetricsControl work with DECK visualizations

* Add unit tests
2018-07-16 13:42:07 -07:00
Hugh A. Miles II
e79bb92a40 Add IS NOT NULL and IS NULL as filter options (#5375)
* wip

* disable value selector on IS NOT NULL or NOT NULL

* remove this
2018-07-16 13:29:55 -07:00
Maxime Beauchemin
996304aba9 Make Pypi upload support markdown (#5352)
Moving to using Twine to upload to pypi and fixing up the markdown
support so that the page on Pypi looks like the README on Github.

This has been tested on the 0.26 branch starting 0.26.3
2018-07-16 12:27:57 -07:00
Ville Brofeldt
bd475879a4 Fix display limit in sql lab (#5392)
* Fix display limit in sql lab

* Add redundant variable from config.py

* Fix test config

* Change to SQL_MAX_ROW

* Remove last remaining occurence of DISPLAY_SQL_MAX_ROW
2018-07-16 11:58:21 -07:00
Maxime Beauchemin
2eeff2ae0b Fix the build (#5403)
The travis build has been failing for 2 reasons recently
* pylint takes > 10 minutes without outputing
* bad merge confict auto resolve in controls.jsx
2018-07-16 11:46:13 -07:00
timifasubaa
22b7c2db62 quote hive column names (#5368) 2018-07-13 15:51:16 -07:00
Chris Williams
19ac6e1231 get rid of global notify (#5355)
* [toasts] get rid of notify globals, refactor messageToasts for use by entire app

* [remove notify] use arrow func in ajax call

* fix lint + tests

* actually fix tests from messageToast refactor

* add 'test:one' npm script

* debugger

* [toasts] convert bootstrap flash messages to toasts in explore + sqllab

* [toasts][tests] import from right file
2018-07-12 11:50:25 -07:00
Maxime Beauchemin
f9352af80e [pie] improvements to pie charts (#5236)
Pie chart was using `limit` instead of `row_limit` which didn't work.

Also set a lower default limit to 25 to prevent the chart from getting
super crowded.

Unrelated drive-by fix of setting "percentage metric" to default to `[]`
2018-07-12 10:33:11 -04:00
Maxime Beauchemin
0ca426a6fa Set control 'percent_metrics's default to [] (#5357) 2018-07-12 10:32:00 -04:00
JamshedRahman
cafde1536f Adding Druid Time Granularities (#5379)
* Adding Druid Time Granularities

* fixed a linter error
2018-07-12 10:19:50 -04:00
Hugh A. Miles II
cd2414b19e Set ignore NaN as true for TableViz (#5371)
* set ignore NaN as true for TableViz

* linting
2018-07-11 11:20:45 -04:00
Grace Guo
6b15592dd0 [dashboard] should use forceV2Edit property name (#5362) 2018-07-08 22:11:24 -07:00
Grace Guo
a17f7141b7 [dashboard] Fix save issue at Force_V2_Edit mode (#5360) 2018-07-06 20:52:56 -07:00
Maxime Beauchemin
7222c6f0f2 CHANGELOG entry for 0.25.0 to 0.26.0 (#5334) 2018-07-06 21:49:49 -04:00
timifasubaa
28ba5a9ddb use schema form field in upload csv (#5303) 2018-07-06 09:46:53 -07:00
John Bodley
c1187e0eaa [cache] Adding description for a zero cache timeout (#5354) 2018-07-06 09:24:21 -07:00
Yu Xiao
7158fb1e9d added a 'no_trend_line' option (#5356)
* added a 'no_trend_line' option

* added missing comma
2018-07-06 10:09:25 -04:00
aaronbannin
252cba20de impala support for epoch timestamps (#5349) 2018-07-04 19:25:58 -04:00
EvelynTurner
ad9103f5ba [Bug fix] Divide by 1000.000 in epoch_ms_to_dttm() to not lose precision in Presto (#5211)
* Fix how the annotation layer interpretes the timestamp string without timezone info; use it as UTC

* [Bug fix] Fixed/Refactored annotation layer code so that non-timeseries annotations are applied based on the updated chart object after adding all data

* [Bug fix] Fixed/Refactored annotation layer code so that non-timeseries annotations are applied based on the updated chart object after adding all data

* Fixed indentation

* Fix the key string value in case series.key is a string

* Fix the key string value in case series.key is a string

* [Bug fix] Divide by 1000.000 in epoch_ms_to_dttm() to not lose precision in Presto

* [Bug fix] Divide by 1000.000 in epoch_ms_to_dttm() to not lose precision in Presto
2018-07-04 19:19:57 -04:00
Ville Brofeldt
6fee0587ee Implement rolling api introduced in pandas 0.18 (#5328)
* Implement new rolling api introduced in pandas 0.18

* Bump pandas to 0.23.1

* Add 0.18 requirement in setup.py

* Require >=0.18.0, not just 0.18
2018-07-04 18:04:57 -04:00
Minh Mai
059b64dad7 normalize column names for Redshift (#5337) 2018-07-04 17:30:37 -04:00
Riccardo Magliocchetti
81bd5cc4c3 A couple of setup.py fixes (#5338)
* setup: fix long description read in python2

* setup: fix git_get_sha in python3

Fix #5317
2018-07-04 17:04:39 -04:00
Zachary Friedman
976e815a6e RST formatting fix for Installation docs (#5346) 2018-07-04 17:03:41 -04:00
Zachary Friedman
6f4a2e3505 Fix typo in Start with Docker (#5348) 2018-07-04 17:02:03 -04:00
John Bodley
72d815c0f9 [cache] Allowing zero cache-timeout (#5315) 2018-07-02 15:32:21 -07:00
Maxime Beauchemin
16d26336c4 Fix flaky unit test - remove 'Markup' object in data (#5313)
example of the failed test
https://travis-ci.org/apache/incubator-superset/jobs/397891630
2018-07-01 20:13:37 -07:00
Maxime Beauchemin
885d7791a0 [bugfix] README encoding-related UnicodeDecodeError on setup.py (#5309)
Seeing UnicodeDecodeError on our build system running py3.6, though I
couldn't reproduce on my local 3.6. This fix addresses the issue.
2018-07-01 08:57:14 -07:00
fly-high-bj
bfa9ffff3c Update core.py (#5320)
With Python 3.7.0, 'async' and 'await' become reserved words, which cause invalid syntax error when running core.py. Renamed 'async' var to 'async_'
2018-07-01 08:49:56 -07:00
Grace Guo
ad05700b6b [dashboard fix]Fix copy_dash unit test (#5323) 2018-07-01 08:47:57 -07:00
Hugh A. Miles II
089037f1aa [DeckGL] Raise error with null values (#5302)
* raise errors with null values

* linting

* linting some more

* use get

* change ordering

* linting
2018-06-30 16:07:23 -07:00
Kshira Saagar
df5ce50e80 Adding THE ICONIC to the list (#5305)
Adding THE ICONIC to list of companies using Superset. Big fans of Superset and use it for all our operational reporting!
2018-06-28 09:58:56 -07:00
Maxime Beauchemin
777d876a52 Improve database type inference (#4724)
* Improve database type inference

Python's DBAPI isn't super clear and homogeneous on the
cursor.description specification, and this PR attempts to improve
inferring the datatypes returned in the cursor.

This work started around Presto's TIMESTAMP type being mishandled as
string as the database driver (pyhive) returns it as a string. The work
here fixes this bug and does a better job at inferring MySQL and Presto types.
It also creates a new method in db_engine_specs allowing for other
databases engines to implement and become more precise on type-inference
as needed.

* Fixing tests

* Adressing comments

* Using infer_objects

* Removing faulty line

* Addressing PrestoSpec redundant method comment

* Fix rebase issue

* Fix tests
2018-06-27 21:35:12 -07:00
Chris Williams
04fc1d1089 [dashboard v2] add MissingChart component in the case that chart component has no slice definition, add tests. (#5296) 2018-06-27 11:20:10 -07:00
Grace Guo
17b4298401 [dashobard fix]: fix validation check for default_filters (#5297) 2018-06-27 11:00:50 -07:00
John Bodley
117507cf31 [get_df] Fix datetime conversion (#5274) 2018-06-27 09:09:42 -07:00
Jeffrey Wang
fb988fee2e Pin boto3 to 1.4.7 (#5290) 2018-06-27 08:55:47 -07:00
Grace Guo
4ee984c6de [dashboard fix] force refresh charts under tabs (#5291) 2018-06-26 17:46:28 -07:00
Chris Williams
05a39b395a fix sqllab <Loading /> css, fix double AddSliceCard margin and drag border (#5293)
* fix sqllab <Loading /> css, fix double AddSliceCard margin and drag border

* [dashboard v2] improve cached visual indicator, add last fetched messaging

* [dashboard v2] fix ctrl + cmd + z + UndoRedoKeylisteners
2018-06-26 16:47:41 -07:00
timifasubaa
b0eee129e9 add more precise types to hive table from csv (#5267) 2018-06-25 16:12:01 -07:00
timifasubaa
bd24f854c9 specify hve namespace for tables (#5268) 2018-06-25 12:04:27 -07:00
Chris Williams
c065319508 [wip] dashboard builder v2 (#4528)
* [dashboard builder] Add dir structure for dashboard/v2, simplified Header, split pane, Draggable side panel

[grid] add <DashboardGrid />, <ResizableContainer />, and initial grid components.

[grid] gridComponents/ directory, add fixtures/ directory and test layout, add <Column />

[grid] working grid with gutters

[grid] design tweaks and polish, add <Tabs />

[header] add gradient header logo and favicon

[dnd] begin adding dnd functionality

[dnd] add util/isValidChild.js

[react-beautiful-dnd] iterate on dnd until blocked

[dnd] refactor to use react-dnd

[react-dnd] refactor to use composable <DashboardComponent /> structure

[dnd] factor out DashboardComponent, let components render dropInidcator and set draggableRef, add draggable tabs

[dnd] refactor to use redux, add DashboardComponent and DashboardGrid containers

[dragdroppable] rename horizontal/vertical => row/column

[builder] refactor into HoverMenu, add WithPopoverMenu

[builder] add editable header and disableDragDrop prop for Dragdroppable's

[builder] make tabs editable

[builder] add generic popover dropdown and header row style editability

[builder] add hover rowStyle dropdown, make row styles editable

[builder] add some new component icons, add popover with delete to charts

[builder] add preview icons, add popover menu to rows.

[builder] add IconButton and RowStyleDropdown

[resizable] use ResizableContainer instead of DimensionProvider, fix resize and delete bugs

[builder] fix bug with spacer

[builder] clean up, header.size => header.headerSize

[builder] support more drag/drop combinations by wrapping some components in rows upon drop. fix within list drop index. refactor some utils.

[builder][tabs] fix broken add tab button

[dashboard builder] don't pass dashboard layout to all dashboard components, improve drop indicator logic, fix delete component pure component bug

[dnd] refactor drop position logic

* fix rebase error, clean up css organization and use @less vars

* [dashboard-builder] add top-level tabs + undo-redo (#4626)

* [top-level-tabs] initial working version of top-level tabs

* [top-level-tabs] simplify redux and disable ability to displace top-level tabs with other tabs

* [top-level-tabs] improve tab drag and drop css

* [undo-redo] add redux undo redo

* [dnd] clean up dropResult shape, add new component source id + type, use css for drop indicator instead of styles and fix tab indicators.

* [top-level-tabs] add 'Collapse tab content' to delete tabs button

* [dnd] add depth validation to drag and drop logic

* [dashboard-builder] add resize action, enforce minimum width of columns, column children inherit column size when necessary, meta.rowStyle => meta.background, add background to columns

* [dashboard-builder] make sure getChildWidth returns a number

* [dashboard builder] static layout + toasts (#4763)

* [dashboard-builder] remove spacer component

* [dashboard-builder] better transparent indicator, better grid gutter logic, no dragging top-level tabs, headers are multiples of grid unit, fix row height granularity, update redux state key dashboard => dashboardLayout

* [dashboard-builder] don't blast column child dimensions on resize

* [dashboard-builder] ResizableContainer min size can't be smaller than size, fix row style, role=none on WithPopoverMenu container

* [edit mode] add edit mode to redux and propogate to all <DashboardComponent />s

* [toasts] add Toast component, ToastPresenter container and component, and toast redux actions + reducers

* [dashboard-builder] add info toast when dropResult overflows parent

* [dashboard builder] git mv to src/ post-rebase

* Dashboard builder rebased + linted (#4849)

* define dashboard redux state

* update dashboard state reducer

* dashboard layout converter + grid render

* builder pane + slice adder

* Dashboard header + slice header controls

* fix linting

* 2nd code review comments

* [dashboard builder] improve perf (#4855)

* address major perf + css issues

[dashboard builder] fix dashboard filters and some css

[dashboard builder] use VIZ_TYPES, move stricter .eslintrc to dashboard/, more css fixes

[builder] delete GridCell and GridLayout, remove some unused css. fix broken tabs.

* [builder] fix errors post-rebase

* [builder] add support for custom DragDroppable drag layer and add AddSliceDragPreview

* [AddSliceDragPreview] fix type check

* [dashboard builder] add prettier and update all files

* [dashboard builder] merge v2/ directory int dashboard/

* [dashboard builder] move component/*Container => containers/*

* add sticky tabs + sidepane, better tabs perf, better container hierarchy, better chart header (#4893)

* dashboard header, slice header UI improvement

* add slider and sticky

* dashboard header, slice header UI improvement

* make builder pane floating

* [dashboard builder] add sticky top-level tabs, refactor for performant tabs

* [dashboard builder] visually distinct containers, icons for undo-redo, fix some isValidChild bugs

* [dashboard builder] better undo redo <> save changes state, notify upon reaching undo limit

* [dashboard builder] hook up edit + create component actions to saved-state pop.

* [dashboard builder] visual refinement, refactor Dashboard header content and updates into layout for undo-redo, refactor save dashboard modal to use toasts instead of notify.

* [dashboard builder] refactor chart name update logic to use layout for undo redo, save slice name changes on dashboard save

* add slider and sticky

* [dashboard builder] fix layout converter slice_id + chartId type casting, don't change grid size upon edit (perf)

* [dashboard builder] don't set version key in getInitialState

* [dashboard builder] make top level tabs addition/removal undoable, fix double sticky tabs + side panel.

* [dashboard builder] fix sticky tabs offset bug

* [dashboard builder] fix drag preview width, css polish, fix rebase issue

* [dashboard builder] fix side pane labels and hove z-index

* Markdown for dashboard (#4962)

* fix dashboard server-side unit tests (#5009)

* Dashboard save button (#4979)

* save button

* fix slices list height

* save custom css

* merge save-dash changes from dashboard v1
https://github.com/apache/incubator-superset/pull/4900
https://github.com/apache/incubator-superset/pull/5051

* [dashboard v2] check for default_filters before json_loads-ing them (#5064)

[dashboard v2] check for default_filters before json-loads-ing them

* [dashboard v2] fix bugs from rebase

* [dashboard v2] tests! (#5066)

* [dashboard v2][tests] add tests for newComponentFactory, isValidChild, dropOverflowsParent, and dnd-reorder

* [dashboard v2][tests] add tests for componentIsResizable, findParentId, getChartIdsFromLayout, newEntitiesFromDrop, and getDropPosition

* [dashboard v2][tests] add mockStore, mockState, and tests for DragDroppable, DashboardBuilder, DashboardGrid, ToastPresenter, and Toast

* [dashboard builder][tests] separate files for state tree fixtures, add ChartHolder, Chart, Divider, Header, Row tests and WithDragDropContext helper

* [dashboard v2][tests] fix dragdrop context with util/getDragDropManager, add test for menu/* and resizable/*, and new components

* [dashboard v2][tests] fix and re-write Dashboard tests, add getFormDataWithExtraFilters_spec

* [dashboard v2][tests] add reducer tests, fix lint error

* [dashboard-v2][tests] add actions/dashboardLayout_spec

* [dashboard v2] fix some prop bugs, open side pane on edit, fix slice name bug

* [dashboard v2] fix slice name save bug

* [dashboard v2] fix lint errors

* [dashboard v2] fix filters bug and add test

* [dashboard v2] fix getFormDataWithExtraFilters_spec

* [dashboard v2] logging updates (#5087)

* [dashboard v2] initial logging refactor

* [dashboard v2] clean up logger

* [logger] update explore with new log events, add refresh dashboard + refresh dashboard chart actions

* [logging] add logger_spec.js, fix reducers/dashboardState_spec + gridComponents/Chart_spec

* [dashboard v2][logging] refactor for bulk logging in python

* [logging] tweak python, fix and remove dup start_offset entries

* [dashboard v2][logging] add dashboard_first_load event

* [dashboard v2][logging] add slice_ids to dashboard pane load event

* [tests] fix npm test script

* Fix: update slices list when add/remove multiple slices (#5138)

* [dashboard v2] add v1 switch (#5126)

* [dashboard] copy all dashboard v1 into working v1 switch

* [dashboard] add functional v1 <> v2 switch with messaging

* [dashboard] add v2 logging to v1 dashboard, add read-v2-changes link, add client logging to track v1 <> v2 switches

* [dashboard] Remove default values for feedback url + v2 auto convert date

* [dashboard v2] fix misc UI/UX issues

* [dashboard v2] fix Markdown persistance issues and css, fix copy dash title, don't enforce shallow hovering with drop indicator

* [dashboard v2] improve non-shallow drop target UX, fix Markdown drop indicator, clarify slice adder filter/sort

* [dashboard v2] delete empty rows on drag or delete events that leave them without children, add test

* [dashboard v2] improve v1<>v2 switch modals, add convert to v2 badge in v1, fix unsaved changes issue in preview mode, don't auto convert column child widths for now

* [dashboard v2][dnd] add drop position cache to fix non-shallow drops

* [dashboard] fix test script with glob instead of recurse, fix tests, add temp fix for tab nesting, ignore v1 lint errors

* [dashboard] v2 badge style tweaks, add back v1 _set_dash_metadata for v1 editing

* [dashboard] fix python linting and tests

* [dashboard] lint tests

* add slice from explore view (#5141)

* Fix dashboard position row data (#5131)

* add slice_name to markdown

(cherry picked from commit 14b01f1)

* set min grid width be 1 column

* remove empty column

* check total columns count <= 12

* scan position data and fix rows

* fix dashboard url with default_filters

* [dashboard v2]  better grid drop ux, fix tab bugs 🐛 (#5151)

* [dashboard v2] add empty droptarget to dashboard grid for better ux and update test

* [dashboard] reset tab index upon top-level tab deletion, fix findparentid bug

* [dashboard] update v1<>v2 modal link for tracking

* Fix: Should pass slice_can_edit flag down (#5159)

* [dash builder fix] combine markdown and slice name, slice picker height (#5165)

* combine markdown code and markdown slice name

* allow dynamic height for slice picker cell

* add word break for long datasource name

* [fix] new dashboard state (#5213)

* [dashboard v2] ui + ux fixes (#5208)

* [dashboard v2] use <Loading /> throughout, small loading gif, improve row/column visual hierarchy, add cached data pop

* [dashboard v2] lots of polish

* [dashboard v2] remove markdown padding on edit, more opaque slice drag preview, unsavedChanges=true upon moving a component, fix initial load logging.

* [dashboard v2] gray loading.gif, sticky header, undo/redo keyboard shortcuts, fix move component saved changes update, v0 double scrollbar fix

* [dashboard v2] move UndoRedoKeylisteners into Header, render only in edit mode, show visual feedback for keyboard shortcut, hide hover menu in top-level tabs

* [dashboard v2] fix grid + sidepane height issues

* [dashboard v2] add auto-resize functionality, update tests. cache findParentId results.

* [dashboard v2][tests] add getDetailedComponentWidth_spec.js

* [dashboard v2] fix lint

* [fix] layout converter fix (#5218)

* [fix] layout converter fix

* add changed_on into initial sliceEntity data

* add unit tests for SliceAdder component

* remove old fixtures file

* [dashboard v2] remove webpack-cli, fresh yarn.lock post-rebase

* [dashboard v2] lint javascript

* [dashboard v2] fix python tests

* [Fix] import/export dash in V2 (#5273)

* [dashboard v2] add markdown tests (#5275)

* [dashboard v2] add Markdown tests

* [dashboard v2][mocks] fix markdown mock
2018-06-25 09:17:22 -07:00
3164 changed files with 479148 additions and 361453 deletions

54
.asf.yaml Normal file
View File

@@ -0,0 +1,54 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# https://cwiki.apache.org/confluence/display/INFRA/.asf.yaml+features+for+git+repositories
---
github:
description: "Apache Superset is a Data Visualization and Data Exploration Platform"
homepage: https://superset.apache.org/
labels:
- superset
- apache
- apache-superset
- data-visualization
- data-viz
- analytics
- business-intelligence
- data-science
- data-engineering
- asf
- bi
- business-analytics
- data-analytics
- data-analysis
- data-science
- python
- react
- sql-editor
- flask
features:
# Enable issues management
issues: true
# Enable projects for project management boards
projects: true
# Enable wiki for documentation
wiki: true
enabled_merge_buttons:
squash: true
merge: false
rebase: false

11
.codecov.yml Normal file
View File

@@ -0,0 +1,11 @@
coverage:
status:
project:
default:
# Commits pushed to master should not make the overall
# project coverage decrease:
target: auto
threshold: 0%
patch:
default:
threshold: 0%

40
.dockerignore Normal file
View File

@@ -0,0 +1,40 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
**/__pycache__/
**/.mypy_cache
**/.pytest_cache
**/.tox
**/.vscode
**/.idea
**/.coverage
**/.DS_Store
**/.eggs
**/.python-version
**/*.egg-info
**/*.bak
**/*.db
**/*.pyc
**/*.sqllite
**/*.swp
tests/
docs/
install/
superset-frontend/node_modules/
superset-frontend/cypress/
superset-frontend/coverage/
venv

47
.editorconfig Normal file
View File

@@ -0,0 +1,47 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
# 4 space indentation for Python files
[*.py]
indent_style = space
indent_size = 4
max_line_length=88
# 2 space indentation for Frontend files
[*.{js,jsx,ts,tsx,html,less,css}]
indent_style = space
indent_size = 2
# 2 space indentation for json and yaml files
[*.{json,yml}]
indent_style = space
indent_size = 2
# Tab indentation
[Makefile]
indent_style = tab

18
.flaskenv Normal file
View File

@@ -0,0 +1,18 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
FLASK_APP="superset.app:create_app()"
FLASK_ENV="development"

36
.fossa.yml Executable file
View File

@@ -0,0 +1,36 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Generated by FOSSA CLI (https://github.com/fossas/fossa-cli)
# Visit https://fossa.com to learn more
version: 2
cli:
server: https://app.fossa.com
fetcher: custom
analyze:
modules:
- name: assets
type: npm
target: superset-frontend
path: superset-frontend
- name: base
type: pip
target: .
path: .
options:
requirements: ./requirements/base.txt

47
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,47 @@
---
name: Bug report
about: Create a report to help us improve
labels: "#bug"
---
A clear and concise description of what the bug is.
### Expected results
what you expected to happen.
### Actual results
what actually happens.
#### Screenshots
If applicable, add screenshots to help explain your problem.
#### How to reproduce the bug
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
### Environment
(please complete the following information):
- superset version: `superset version`
- python version: `python --version`
- node.js version: `node -v`
### Checklist
Make sure to follow these steps before submitting your issue - thank you!
- [ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
- [ ] I have reproduced the issue with at least the latest released version of superset.
- [ ] I have checked the issue tracker for the same issue and I haven't found one similar.
### Additional context
Add any other context about the problem here.

20
.github/ISSUE_TEMPLATE/cosmetic.md vendored Normal file
View File

@@ -0,0 +1,20 @@
---
name: Cosmetic Issue
about: Describe a cosmetic issue with CSS, positioning, layout, labeling, or similar
labels: "cosmetic-issue"
---
## Screenshot
[drag & drop image(s) here!]
## Description
[describe the issue here!]
## Design input
[describe any input/collaboration you'd like from designers, and
tag accordingly. For design review, add the
label `design:review`. If this includes a design proposal,
include the label `design:suggest`]

View File

@@ -0,0 +1,18 @@
---
name: Feature request
about: Suggest an idea for this project
labels: "#enhancement"
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -0,0 +1,12 @@
---
name: Security vulnerability
about: Report a security vulnerability or issue
labels: "#security"
---
## DO NOT REPORT SECURITY VULNERABILITIES HERE
Please report security vulnerabilities to private@superset.apache.org.
In the event a community member discovers a security flaw in Superset, it is important to follow the [Apache Security Guidelines](https://www.apache.org/security/committers.html) and release a fix as quickly as possible before public disclosure. Reporting security vulnerabilities through the usual GitHub Issues channel is not ideal as it will publicize the flaw before a fix can be applied.

35
.github/ISSUE_TEMPLATE/sip.md vendored Normal file
View File

@@ -0,0 +1,35 @@
---
name: SIP
about: Superset Improvement Proposal
labels: "#SIP"
---
*Please make sure you are familiar with the SIP process documented*
(here)[https://github.com/apache/superset/issues/5602]
## [SIP] Proposal for XXX
### Motivation
Description of the problem to be solved.
### Proposed Change
Describe how the feature will be implemented, or the problem will be solved. If possible, include mocks, screenshots, or screencasts (even if from different tools).
### New or Changed Public Interfaces
Describe any new additions to the model, views or `REST` endpoints. Describe any changes to existing visualizations, dashboards and React components. Describe changes that affect the Superset CLI and how Superset is deployed.
### New dependencies
Describe any `npm`/`PyPI` packages that are required. Are they actively maintained? What are their licenses?
### Migration Plan and Compatibility
Describe any database migrations that are necessary, or updates to stored URLs.
### Rejected Alternatives
Describe alternative approaches that were considered and rejected.

18
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,18 @@
### SUMMARY
<!--- Describe the change below, including rationale and design decisions -->
### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
<!--- Skip this if not applicable -->
### TEST PLAN
<!--- What steps should be taken to verify the changes -->
### ADDITIONAL INFORMATION
<!--- Check any relevant boxes with "x" -->
<!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
- [ ] Has associated issue:
- [ ] Changes UI
- [ ] Requires DB Migration.
- [ ] Confirm DB Migration upgrade and downgrade tested.
- [ ] Introduces new feature or API
- [ ] Removes existing feature or API

View File

@@ -0,0 +1 @@
indent_size = 2

View File

@@ -0,0 +1,3 @@
dist/
lib/
node_modules/

View File

@@ -0,0 +1,26 @@
module.exports = {
plugins: ['jest', '@typescript-eslint'],
extends: ['plugin:jest/all'],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 9,
sourceType: 'module',
},
rules: {
'eslint-comments/no-use': 'off',
'import/no-namespace': 'off',
'no-unused-vars': 'off',
'no-console': 'off',
'jest/prefer-expect-assertions': 'off',
'jest/no-disabled-tests': 'warn',
'jest/no-focused-tests': 'error',
'jest/no-identical-title': 'error',
'jest/prefer-to-have-length': 'warn',
'jest/valid-expect': 'error',
},
env: {
node: true,
es6: true,
'jest/globals': true,
},
};

View File

@@ -0,0 +1,34 @@
name: Tests
on:
pull_request:
paths-ignore:
- '**.md'
push:
branches:
- master
paths-ignore:
- '**.md'
jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, macOS-latest]
name: Test on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: '12.x'
- name: Install dependencies
run: npm ci
- name: Run prettier format check
run: npm run format-check
- name: Build
run: npm run build
- name: Run tests
run: npm run test
- name: Upload code coverage
run: |
bash <(curl -s https://codecov.io/bash)

View File

@@ -0,0 +1,6 @@
lib
coverage
node_modules
!dist
!dist/cache

View File

@@ -0,0 +1,3 @@
dist/
lib/
node_modules/

View File

@@ -0,0 +1,11 @@
{
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": true,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "avoid",
"parser": "typescript"
}

View File

@@ -0,0 +1,22 @@
The MIT License (MIT)
Copyright (c) 2018 GitHub, Inc. and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@@ -0,0 +1,212 @@
# cached-dependencies
[![](https://github.com/ktmud/cached-dependencies/workflows/Tests/badge.svg)](https://github.com/ktmud/cached-dependencies/actions?query=workflow%3ATests) [![codecov](https://codecov.io/gh/ktmud/cached-dependencies/branch/master/graph/badge.svg)](https://codecov.io/gh/ktmud/cached-dependencies)
Enable **multi-layer cache** and **shortcut commands** in any workflows.
Manage multiple cache targets in one step. Use either the built-in cache configs for npm, yarn, and pip, or write your own. Create a bash command library to easily reduce redudencies across workflows. Most useful for building webapps that require multi-stage building processes.
This is your all-in-one action for everything related to setting up dependencies with cache.
## Inputs
- **run**: bash commands to run, allows shortcut commands
- **caches**: path to a JS module that defines cache targets, defaults to `.github/workflows/caches.js`
- **bashlib**: path to a BASH scripts that defines shortcut commands, defaults to `.github/workflows/bashlib.sh`
- **parallel**: whether to run the commands in parallel with node subprocesses
## Examples
Following workflow sets up dependencies for a typical Python web app with both `~/.pip` and `~/.npm` cache configured in one simple step:
```yaml
jobs:
build_and_test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install dependencies
uses: ktmud/cached-dependencies@v1
with:
run: |
npm-install
npm run build
pip-install
python ./bin/manager.py fill_test_data
```
Here we used predefined `npm-install` and `pip-install` commands to install dependencies with correponding caches.
You may also replace `npm-install` with `yarn-install` to install npm pacakges with `yarn.lock`.
```yaml
- name: Install dependencies
uses: ktmud/cached-dependencies@v1
with:
run: |
yarn-install
yarn build
pip-install
python ./bin/manager.py fill_test_data
```
See below for more details.
## Usage
### Cache configs
Under the hood, we use [@actions/cache](https://github.com/marketplace/actions/cache) to manage cache storage. But instead of defining only one cache at a time and specify them in workflow YAMLs, you manage all caches in a spearate JS file: `.github/workflows/caches.js`.
Here is [the default configuration](https://github.com/ktmud/cached-dependencies/blob/master/src/cache/caches.ts) for Linux:
```js
module.exports = {
pip: {
path: [`${process.env.HOME}/.cache/pip`],
hashFiles: ['requirements*.txt'],
keyPrefix: 'pip-',
restoreKeys: 'pip-',
},
npm: {
path: [`${HOME}/.npm`],
hashFiles: [
`package-lock.json`,
`*/*/package-lock.json`,
`!node_modules/*/package-lock.json`,
],
},
yarn: {
path: [`${HOME}/.npm`],
// */* is for supporting lerna monorepo with depth=2
hashFiles: [`yarn.lock`, `*/*/yarn.lock`, `!node_modules/*/yarn.lock`],
},
}
```
In which `hashFiles` and `keyPrefix` will be used to compute the primary cache key used in [@actions/cache](https://github.com/marketplace/actions/cache). `keyPrefix` will default to `${cacheName}-` and `restoreKeys` will default to `keyPrefix` if not specified.
It is recommended to always use absolute paths in these configs so you can share them across different worflows more easily (in case you the action is called from different working directories).
#### Speficy when to restore and save
With the predefined `cache-store` and `cache-save` bash commands, you have full flexibility on when to restore and save cache:
```yaml
steps:
- uses: actions/checkout@v2
- uses: ktmud/cached-dependencies@v1
with:
run: |
cache-restore npm
npm install
cache-save npm
cache-restore pip
pip install -r requirements.txt
cache-save pip
```
### Shortcut commands
All predefined shortcut commands can be found [here](https://github.com/ktmud/cached-dependencies/blob/master/src/scripts/bashlib.sh). You can also customize them or add new ones in `.github/workflows/bashlib.sh`.
For example, if you want to install additional packages for before saving `pip` cache, simply add this to the `bashlib.sh` file:
```bash
# override the default `pip-install` command
pip-install() {
cd $GITHUB_WORKSPACE
cache-restore pip
echo "::group::pip install"
pip install -r requirements.txt # prod requirements
pip install -r requirements-dev.txt # dev requirements
pip install -e ".[postgres,mysql]" # current pacakge with some extras
echo "::endgroup::"
cache-save pip
}
```
### Default setup command
When `run` is not provided:
```yaml
jobs:
name: Build
steps:
- name: Install dependencies
uses: ktmud/cached-depdencies@v1
```
You must provide a `default-setup-command` in the bashlib. For example,
```bash
default-setup-command() {
pip-install & npm-install
}
```
This will start installing pip and npm dependencies at the same time.
### Customize config locations
Both the two config files, `.github/workflows/bashlib.sh` and `.github/workflows/caches.js`, can be placed in other locations:
```yaml
- uses: ktmud/cached-dependencies@v1
with:
caches: ${{ github.workspace }}/.github/configs/caches.js
bashlib: ${{ github.workspace }}/.github/configs/bashlib.sh
```
### Run commands in parallel
When `parallel` is set to `true`, the `run` input will be split into an array of commands and passed to `Promise.all(...)` to execute in parallel. For example,
```yaml
- uses: ktmud/cached-dependencies@v1
with:
parallel: true
run: |
pip-install
npm-install
```
is equivalent to
```yaml
- uses: ktmud/cached-dependencies@v1
with:
run: |
pip-install & npm-install
```
If one or more of your commands must spread across multiple lines, you can add a new line between the parallel commands. Each command within a parallel group will still run sequentially.
```yaml
- uses: ktmud/cached-dependencies@v1
with:
run: |
cache-restore pip
pip install requirements*.txt
# additional pip packages
pip install package1 package2 pacakge2
cache-save pip
npm-install
cache-restore cypress
cd cypress/ && npm install
cache-save cypress
```
## License
This project is released under [the MIT License](LICENSE).

View File

@@ -0,0 +1,124 @@
import path from 'path';
import * as fs from 'fs';
import * as os from 'os';
import * as core from '@actions/core';
import * as cache from '../src/cache';
import * as inputsUtils from '../src/utils/inputs';
import * as actionUtils from '@actions/cache/src/utils/actionUtils';
import defaultCaches from '../src/cache/caches';
import { setInputs, getInput, maybeArrayToString } from '../src/utils/inputs';
import { Inputs, InputName, GitHubEvent, EnvVariable } from '../src/constants';
import caches, { npmExpectedHash } from './fixtures/caches';
describe('patch core states', () => {
it('should log error if states file invalid', () => {
const logWarningMock = jest.spyOn(actionUtils, 'logWarning');
fs.writeFileSync(`${os.tmpdir()}/cached--states.json`, 'INVALID_JSON', {
encoding: 'utf-8',
});
core.getState('haha');
expect(logWarningMock).toHaveBeenCalledTimes(2);
});
it('should persist state', () => {
core.saveState('test', '100');
expect(core.getState('test')).toStrictEqual('100');
});
});
describe('cache runner', () => {
it('should use default cache config', async () => {
await cache.loadCustomCacheConfigs();
// but `npm` actually come from `src/cache/caches.ts`
const inputs = await cache.getCacheInputs('npm');
expect(inputs?.[InputName.Path]).toStrictEqual(
maybeArrayToString(defaultCaches.npm.path),
);
expect(inputs?.[InputName.RestoreKeys]).toStrictEqual('npm-');
});
it('should override cache config', async () => {
setInputs({
[InputName.Caches]: path.resolve(__dirname, 'fixtures/caches'),
});
await cache.loadCustomCacheConfigs();
const inputs = await cache.getCacheInputs('npm');
expect(inputs?.[InputName.Path]).toStrictEqual(
maybeArrayToString(caches.npm.path),
);
expect(inputs?.[InputName.Key]).toStrictEqual(`npm-${npmExpectedHash}`);
expect(inputs?.[InputName.RestoreKeys]).toStrictEqual(
maybeArrayToString(caches.npm.restoreKeys),
);
});
it('should apply inputs and restore cache', async () => {
setInputs({
[InputName.Caches]: path.resolve(__dirname, 'fixtures/caches'),
[EnvVariable.GitHubEventName]: GitHubEvent.PullRequest,
});
const setInputsMock = jest.spyOn(inputsUtils, 'setInputs');
const inputs = await cache.getCacheInputs('npm');
const result = await cache.run('restore', 'npm');
expect(result).toBeUndefined();
// before run
expect(setInputsMock).toHaveBeenNthCalledWith(1, inputs);
// after run
expect(setInputsMock).toHaveBeenNthCalledWith(2, {
[InputName.Key]: '',
[InputName.Path]: '',
[InputName.RestoreKeys]: '',
});
// inputs actually restored to original value
expect(getInput(InputName.Key)).toStrictEqual('');
// pretend still in execution context
setInputs(inputs as Inputs);
// `core.getState` should return the primary key
expect(core.getState('CACHE_KEY')).toStrictEqual(inputs?.[InputName.Key]);
setInputsMock.mockRestore();
});
it('should run saveCache', async () => {
// call to save should also work
const logWarningMock = jest.spyOn(actionUtils, 'logWarning');
setInputs({
[InputName.Parallel]: 'true',
});
await cache.run('save', 'npm');
expect(logWarningMock).toHaveBeenCalledWith(
'Cache Service Url not found, unable to restore cache.',
);
});
it('should exit on invalid args', async () => {
// other calls do generate errors
const processExitMock = jest
.spyOn(process, 'exit')
// @ts-ignore
.mockImplementation(() => {});
// incomplete arguments
await cache.run();
await cache.run('save');
// bad arguments
await cache.run('save', 'unknown-cache');
await cache.run('unknown-action', 'unknown-cache');
setInputs({
[InputName.Caches]: 'non-existent',
});
await cache.run('save', 'npm');
expect(processExitMock).toHaveBeenCalledTimes(5);
});
});

View File

@@ -0,0 +1,5 @@
#!/bin/bash
default-setup-command() {
print-cachescript-path
}

View File

@@ -0,0 +1,14 @@
/**
* Example cache config.
*/
export const npmHashFiles = ['.*ignore'];
export const npmExpectedHash =
'13ed29a1c7ec906e7dcb20626957ebfcd3f0f2174bd2685a012105792bf1ff55';
export default {
npm: {
path: [`~/.npm`],
hashFiles: npmHashFiles,
restoreKeys: 'node-npm-',
},
};

View File

@@ -0,0 +1,101 @@
/**
* Test default runner.
*/
import { setInputs } from '../src/utils/inputs';
import { InputName, DefaultInputs } from '../src/constants';
import * as setup from '../src/setup';
import path from 'path';
const extraBashlib = path.resolve(__dirname, './fixtures/bashlib.sh');
describe('setup runner', () => {
// don't actually run the bash script
const runCommandMock = jest.spyOn(setup, 'runCommand');
it('should allow custom bashlib', async () => {
setInputs({
[InputName.Bashlib]: extraBashlib,
});
await setup.run();
expect(runCommandMock).toHaveBeenCalledTimes(1);
expect(runCommandMock).toHaveBeenCalledWith(
DefaultInputs[InputName.Run],
extraBashlib,
);
});
it('should allow inline bash overrides', async () => {
const processExitMock = jest
.spyOn(process, 'exit')
// @ts-ignore
.mockImplementation(() => {});
setInputs({
[InputName.Bashlib]: '',
[InputName.Parallel]: 'false',
[InputName.Run]: `
${DefaultInputs[InputName.Run]}() {
echo "It works!"
exit 202
}
${DefaultInputs[InputName.Run]}
`,
});
// allow the bash script to run for one test, but override the default
await setup.run();
expect(runCommandMock).toHaveBeenCalledTimes(1);
expect(processExitMock).toHaveBeenCalledTimes(1);
expect(processExitMock).toHaveBeenCalledWith(1);
});
it('should use run commands', async () => {
// don't run the commands when there is no overrides
runCommandMock.mockImplementation(async () => {});
setInputs({
[InputName.Bashlib]: 'non-existent',
[InputName.Run]: 'print-cachescript-path',
});
await setup.run();
expect(runCommandMock).toHaveBeenCalledTimes(1);
expect(runCommandMock).toHaveBeenCalledWith('print-cachescript-path', '');
});
it('should handle single-new-line parallel commands', async () => {
setInputs({
[InputName.Run]: `
test-command-1
test-command-2
`,
[InputName.Parallel]: 'true',
});
await setup.run();
expect(runCommandMock).toHaveBeenNthCalledWith(1, 'test-command-1', '');
expect(runCommandMock).toHaveBeenNthCalledWith(2, 'test-command-2', '');
});
it('should handle multi-new-line parallel commands', async () => {
setInputs({
[InputName.Run]: `
test-1-1
test-1-2
test-2
`,
[InputName.Parallel]: 'true',
});
await setup.run();
expect(runCommandMock).toHaveBeenNthCalledWith(
1,
'test-1-1\n test-1-2',
'',
);
expect(runCommandMock).toHaveBeenNthCalledWith(2, 'test-2', '');
});
});

View File

@@ -0,0 +1,10 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"baseUrl": "./",
"outDir": "../build",
"noEmit": true,
"rootDir": "../"
},
"exclude": ["node_modules"]
}

View File

@@ -0,0 +1,25 @@
name: Cached Dependencies
description: Setup multi-layered cache and dependencies in one step, share predefined commands across workflows
author: Jesse Yang <hello@yjc.me>
branding:
icon: layers
color: yellow
inputs:
caches:
required: false
description: Path to a JS file with cache configs
default: ${{ github.workspace }}/.github/workflows/caches.js
bashlib:
required: false
description: Path to a Bash script with command shortcuts
default: ${{ github.workspace }}/.github/workflows/bashlib.sh
run:
required: false
description: Setup commands to run, can use shortcuts defined in bashlib
default: default-setup-command
parallel:
required: false
description: Whether to run commands in parallel
runs:
using: node12
main: dist/index.js

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,57 @@
'use strict';
const fs = require('fs');
const crypto = require('crypto');
const {parentPort} = require('worker_threads');
const handlers = {
hashFile: (algorithm, filePath) => new Promise((resolve, reject) => {
const hasher = crypto.createHash(algorithm);
fs.createReadStream(filePath)
// TODO: Use `Stream.pipeline` when targeting Node.js 12.
.on('error', reject)
.pipe(hasher)
.on('error', reject)
.on('finish', () => {
const {buffer} = hasher.read();
resolve({value: buffer, transferList: [buffer]});
});
}),
hash: async (algorithm, input) => {
const hasher = crypto.createHash(algorithm);
if (Array.isArray(input)) {
for (const part of input) {
hasher.update(part);
}
} else {
hasher.update(input);
}
const hash = hasher.digest().buffer;
return {value: hash, transferList: [hash]};
}
};
parentPort.on('message', async message => {
try {
const {method, args} = message;
const handler = handlers[method];
if (handler === undefined) {
throw new Error(`Unknown method '${method}'`);
}
const {value, transferList} = await handler(...args);
parentPort.postMessage({id: message.id, value}, transferList);
} catch (error) {
const newError = {message: error.message, stack: error.stack};
for (const [key, value] of Object.entries(error)) {
if (typeof value !== 'object') {
newError[key] = value;
}
}
parentPort.postMessage({id: message.id, error: newError});
}
});

View File

@@ -0,0 +1,21 @@
module.exports = {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
testEnvironment: 'node',
testMatch: ['**/*.test.ts'],
transform: {
'^.+\\.ts$': 'ts-jest',
},
transformIgnorePatterns: [
'/node_modules/(?!@actions).+\\.js$',
],
verbose: true,
};
// suppress debug messages
const processStdoutWrite = process.stdout.write.bind(process.stdout);
process.stdout.write = (str, encoding, cb) => {
processStdoutWrite(str.split('\n').filter(x => {
return !/^::debug::/.test(x);
}).join('\n'), encoding, cb);
};

8197
.github/actions/cached-dependencies/package-lock.json generated vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,47 @@
{
"name": "setup-superset-action",
"version": "1.0.0",
"private": true,
"keywords": [
"actions",
"node",
"setup",
"superset"
],
"main": "dist/run",
"scripts": {
"all": "npm run format && npm run lint && npm run test && npm run build",
"build": "npm run clean && tsc && ncc build -o dist src/run.ts && ncc build -o dist/scripts/cache src/scripts/cache.ts",
"clean": "rm -rf ./lib ./dist",
"coverage": "npm run test && open ./coverage/lcov-report/index.html",
"format": "prettier --write **/*.ts",
"format-check": "prettier --check **/*.ts",
"lint": "eslint src/**/*.ts",
"test": "jest --clearCache && jest --coverage"
},
"dependencies": {
"@actions/cache": "actions/cache#d29c1df198dd38ac88e0ae23a2881b99c2d20e68",
"@actions/core": "1.2.4",
"@actions/exec": "1.0.4",
"@actions/glob": "0.1.0",
"@types/uuid": "7.0.4",
"hasha": "5.2.0",
"tempy": "0.6.0",
"uuid": "7.0.3"
},
"devDependencies": {
"@types/jest": "26.0.7",
"@types/node": "12.12.53",
"@typescript-eslint/eslint-plugin": "3.7.1",
"@typescript-eslint/parser": "3.7.1",
"@zeit/ncc": "0.22.3",
"eslint": "7.5.0",
"eslint-plugin-jest": "23.19.0",
"jest": "26.1.0",
"js-yaml": "3.14.0",
"prettier": "2.0.5",
"prettier-plugin-packagejson": "2.2.5",
"ts-jest": "26.1.4",
"typescript": "3.9.7"
}
}

View File

@@ -0,0 +1,5 @@
{
"extends": [
"config:base"
]
}

View File

@@ -0,0 +1,49 @@
/**
* Default cache configs
*/
import * as os from 'os';
export interface CacheConfig {
path: string[] | string;
hashFiles: string[] | string;
keyPrefix?: string;
restoreKeys?: string[] | string;
}
export interface CacheConfigs {
[cacheName: string]: CacheConfig;
}
const { HOME = '~' } = process.env;
const platform = os.platform() as 'linux' | 'darwin' | 'win32';
const pathByPlatform = {
linux: {
pip: `${HOME}/.cache/pip`,
},
darwin: {
pip: `${HOME}/Library/Caches/pip`,
},
win32: {
pip: `${HOME}\\AppData\\Local\\pip\\Cache`,
},
};
export default {
pip: {
path: pathByPlatform[platform].pip,
hashFiles: 'requirements*.txt',
},
npm: {
path: `${HOME}/.npm`,
hashFiles: [
`package-lock.json`,
// support lerna monorepo with depth=2
`*/*/package-lock.json`,
`!node_modules/*/package-lock.json`,
],
},
yarn: {
path: `${HOME}/.npm`,
hashFiles: [`yarn.lock`, `*/*/yarn.lock`, `!node_modules/*/yarn.lock`],
},
} as CacheConfigs;

View File

@@ -0,0 +1,146 @@
/**
* Execute @actions/cache with predefined cache configs.
*/
import { beginImport, doneImport } from './patch'; // monkey patch @actions modules
beginImport();
import saveCache from '@actions/cache/src/save';
import restoreCache from '@actions/cache/src/restore';
doneImport();
import hasha from 'hasha';
import * as fs from 'fs';
import * as core from '@actions/core';
import * as glob from '@actions/glob';
import { Inputs, InputName, DefaultInputs } from '../constants';
import { applyInputs, getInput, maybeArrayToString } from '../utils/inputs';
import caches from './caches'; // default cache configs
// GitHub uses `sha256` for the built-in `${{ hashFiles(...) }}` expression
// https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#hashfiles
const HASH_OPTION = { algorithm: 'sha256' };
/**
* Load custom cache configs from the `caches` path defined in inputs.
*
* @returns Whether the loading is successfull.
*/
export async function loadCustomCacheConfigs() {
const customCachePath = getInput(InputName.Caches);
try {
core.debug(`Reading cache configs from '${customCachePath}'`);
const customCache = await import(customCachePath);
Object.assign(caches, customCache.default);
} catch (error) {
if (
customCachePath !== DefaultInputs[InputName.Caches] ||
!error.message.includes('Cannot find module')
) {
core.error(error.message);
core.setFailed(
`Failed to load custom cache configs: '${customCachePath}'`,
);
return process.exit(1);
}
}
return true;
}
/**
* Generate SHA256 hash for a list of files matched by glob patterns.
*
* @param {string[]} patterns - The glob pattern.
* @param {string} extra - The extra string to append to the file hashes to
* comptue the final hash.
*/
export async function hashFiles(
patterns: string[] | string,
extra: string = '',
) {
const globber = await glob.create(maybeArrayToString(patterns));
let hash = '';
let counter = 0;
for await (const file of globber.globGenerator()) {
if (!fs.statSync(file).isDirectory()) {
hash += hasha.fromFileSync(file, HASH_OPTION);
counter += 1;
}
}
core.debug(`Computed hash for ${counter} files. Pattern: ${patterns}`);
return hasha(hash + extra, HASH_OPTION);
}
/**
* Generate GitHub Action inputs based on predefined cache config. Will be used
* to override env variables.
*
* @param {string} cacheName - Name of the predefined cache config.
*/
export async function getCacheInputs(
cacheName: string,
): Promise<Inputs | null> {
if (!(cacheName in caches)) {
return null;
}
const { keyPrefix, restoreKeys, path, hashFiles: patterns } = caches[
cacheName
];
const pathString = maybeArrayToString(path);
const prefix = keyPrefix || `${cacheName}-`;
// include `path` to hash, too, so to burse caches in case users change
// the path definition.
const hash = await hashFiles(patterns, pathString);
return {
[InputName.Key]: `${prefix}${hash}`,
[InputName.Path]: pathString,
// only use prefix as restore key if it is never defined
[InputName.RestoreKeys]:
restoreKeys === undefined ? prefix : maybeArrayToString(restoreKeys),
};
}
export const actions = {
restore(inputs: Inputs) {
return applyInputs(inputs, restoreCache);
},
save(inputs: Inputs) {
return applyInputs(inputs, saveCache);
},
};
export type ActionChoice = keyof typeof actions;
export async function run(
action: string | undefined = undefined,
cacheName: string | undefined = undefined,
) {
if (!action || !(action in actions)) {
core.setFailed(`Choose a cache action from: [restore, save]`);
return process.exit(1);
}
if (!cacheName) {
core.setFailed(`Must provide a cache name.`);
return process.exit(1);
}
const runInParallel = getInput(InputName.Parallel);
if (await loadCustomCacheConfigs()) {
if (runInParallel) {
core.info(`${action.toUpperCase()} cache for ${cacheName}`);
} else {
core.startGroup(`${action.toUpperCase()} cache for ${cacheName}`);
}
const inputs = await getCacheInputs(cacheName);
if (inputs) {
core.info(JSON.stringify(inputs, null, 2));
await actions[action as ActionChoice](inputs);
} else {
core.setFailed(`Cache '${cacheName}' not defined, failed to ${action}.`);
return process.exit(1);
}
if (!runInParallel) {
core.endGroup();
}
}
}

View File

@@ -0,0 +1,95 @@
/**
* Monkey patch to safely import and use @action/cache modules
*/
import * as utils from '@actions/cache/src/utils/actionUtils';
import * as core from '@actions/core';
import * as fs from 'fs';
import * as os from 'os';
import { InputName } from '../constants';
import { getInput } from '../utils/inputs';
interface KeyValueStore {
[key: string]: any;
}
const { logWarning, isValidEvent } = utils;
const { getState, saveState } = core;
function getStateStoreFile() {
const cacheName = getInput(InputName.Key);
return `${os.tmpdir()}/cached-${cacheName}-states.json`;
}
/**
* Load states from the persistent store.
*
* The default `core.saveState` only writes states as command output, and
* `core.getState` is only possible to read the state in a later step via ENV
* variables.
*
* So we use a temp file to save and load states, so to allow persistent
* states within the same step.
*
* Since the state output is not uniq to caches, each cache should have their
* own file for persistent states.
*/
function loadStates() {
const stateStore = getStateStoreFile();
const states: KeyValueStore = {};
try {
Object.assign(
states,
JSON.parse(fs.readFileSync(stateStore, { encoding: 'utf-8' })),
);
core.debug(`Loaded states from: ${stateStore}`)
} catch (error) {
// pass
if (error.code !== 'ENOENT') {
utils.logWarning(`Could not load states: ${stateStore}`)
utils.logWarning(error.message);
}
}
return states;
}
/**
* Save states to the persistent storage.
*/
function persistState(name: string, value: any) {
const states = loadStates();
const stateStore = getStateStoreFile();
const valueString = typeof value === 'string' ? value : JSON.stringify(value);
// make sure value is always string
states[name] = valueString;
// persist state in the temp file
fs.writeFileSync(stateStore, JSON.stringify(states, null, 2), {
encoding: 'utf-8',
});
core.debug(`Persist state "${name}=${valueString}" to ${stateStore}`);
// still pass the original value to the original function, though
return saveState(name, value);
}
/**
* Get states from persistent store, fallback to "official" states.
*/
function obtainState(name: string) {
const states = loadStates();
return states[name] || getState(name);
}
export function beginImport() {
Object.defineProperty(utils, 'isValidEvent', { value: () => false });
Object.defineProperty(utils, 'logWarning', { value: () => {} });
}
export function doneImport() {
Object.defineProperty(utils, 'isValidEvent', { value: isValidEvent });
Object.defineProperty(utils, 'logWarning', { value: logWarning });
Object.defineProperty(core, 'saveState', { value: persistState });
Object.defineProperty(core, 'getState', { value: obtainState });
}

View File

@@ -0,0 +1,43 @@
// Possible input names
export enum InputName {
// @actions/cache specific inputs
Key = 'key',
Path = 'path',
RestoreKeys = 'restore-keys',
// setup-webapp specific inputs
Run = 'run',
Caches = 'caches',
Bashlib = 'bashlib',
Parallel = 'parallel',
}
// Possible GitHub event names
export enum GitHubEvent {
Push = 'push',
PullRequest = 'pull_request',
}
// Directly available environment variables
export enum EnvVariable {
GitHubEventName = 'GITHUB_EVENT_NAME',
}
export const EnvVariableNames = new Set(Object.values(EnvVariable) as string[]);
export interface Inputs {
[EnvVariable.GitHubEventName]?: string;
[InputName.Key]?: string;
[InputName.RestoreKeys]?: string;
[InputName.Path]?: string;
[InputName.Caches]?: string;
[InputName.Bashlib]?: string;
[InputName.Run]?: string;
[InputName.Parallel]?: string;
}
export const DefaultInputs = {
[InputName.Caches]: '.github/workflows/caches.js',
[InputName.Bashlib]: '.github/workflows/bashlib.sh',
[InputName.Run]: 'default-setup-command',
} as Inputs;

View File

@@ -0,0 +1,3 @@
import { run } from './setup';
run();

View File

@@ -0,0 +1,61 @@
#!/bin/bash
# -----------------------------------------------
# Predefined command shortcuts
# -----------------------------------------------
# Exit on any command fails
set -e
bashSource=${BASH_SOURCE[${#BASH_SOURCE[@]} - 1]:-${(%):-%x}}
cacheScript="$(dirname $(dirname $(dirname $bashSource)))/dist/scripts/cache"
print-cachescript-path() {
echo $cacheScript
}
cache-restore() {
node $cacheScript restore $1
}
cache-save() {
node $cacheScript save $1
}
# install python packages
pip-install() {
cache-restore pip
echo "::group::Install Python pacakges"
pip install -r requirements.txt # install dependencies
pip install -e . # install current directory as editable python package
echo "::endgroup"
cache-save pip
}
# install npm packages
npm-install() {
cache-restore npm
echo "::group::Install npm pacakges"
echo "npm: $(npm --version)"
echo "node: $(node --version)"
npm ci
echo "::endgroup::"
cache-save npm
}
# install npm packages via yarn
yarn-install() {
cache-restore yarn
echo "::group::Install npm pacakges via yarn"
echo "npm: $(npm --version)"
echo "node: $(node --version)"
echo "yarn: $(yarn --version)"
yarn
echo "::endgroup::"
cache-save yarn
}
# default setup will install both pip and npm pacakges at the same time
default-setup-command() {
echo 'Please provide `run` commands or configure `default-setup-command`.'
exit 1
}

View File

@@ -0,0 +1,18 @@
/**
* Runner script to store/save caches by predefined configs.
* Used in `scripts/bashlib.sh`.
*/
import { EnvVariable } from '../constants';
// To import `@actions/cache` modules safely, we must set GitHub event name to
// a invalid value, so actual runner code doesn't execute.
const originalEvent = process.env[EnvVariable.GitHubEventName];
process.env[EnvVariable.GitHubEventName] = 'CACHE_HACK';
import { run } from '../cache';
// then we restore the event name before the job actually runs
process.env[EnvVariable.GitHubEventName] = originalEvent;
// @ts-ignore
run(...process.argv.slice(2));

View File

@@ -0,0 +1,66 @@
/**
* Load inputs and execute.
*/
import * as core from '@actions/core';
import { exec } from '@actions/exec';
import path from 'path';
import fs from 'fs';
import { DefaultInputs, InputName } from './constants';
import { getInput } from './utils/inputs';
const SHARED_BASHLIB = path.resolve(__dirname, '../src/scripts/bashlib.sh');
/**
* Run bash commands with predefined lib functions.
*
* @param {string} cmd - The bash commands to execute.
*/
export async function runCommand(
cmd: string,
extraBashlib: string,
): Promise<void> {
const bashlibCommands = [`source ${SHARED_BASHLIB}`];
if (extraBashlib) {
bashlibCommands.push(`source ${extraBashlib}`);
}
try {
await exec('bash', ['-c', [...bashlibCommands, cmd].join('\n ')]);
} catch (error) {
core.setFailed(error.message);
process.exit(1);
}
}
export async function run(): Promise<void> {
let bashlib = getInput(InputName.Bashlib);
const rawCommands = getInput(InputName.Run);
const runInParallel = getInput(InputName.Parallel);
if (!fs.existsSync(bashlib)) {
if (bashlib !== DefaultInputs[InputName.Bashlib]) {
core.error(`Custom bashlib "${bashlib}" does not exist.`);
}
// don't add bashlib to runCommand
bashlib = '';
}
if (runInParallel) {
// Attempt to split by two or more new lines first, if there is still only
// one command, attempt to split by one new line. This is because users
// asked for parallelization, so we make our best efforts to get multiple
// commands.
let commands = rawCommands.split(/\n{2,}/);
if (commands.length === 1) {
commands = rawCommands.split('\n');
}
core.debug(`>> Run ${commands.length} commands in parallel...`);
await Promise.all(
commands
.map(x => x.trim())
.filter(x => !!x)
.map(cmd => exports.runCommand(cmd, bashlib)),
);
} else if (rawCommands) {
await exports.runCommand(rawCommands, bashlib);
}
}

View File

@@ -0,0 +1,2 @@
declare module '@actions/cache/dist/restore';
declare module '@actions/cache/dist/save';

View File

@@ -0,0 +1,61 @@
/**
* Manage inputs and env variables.
*/
import * as core from '@actions/core';
import {
Inputs,
EnvVariableNames,
InputName,
DefaultInputs,
} from '../constants';
export function getInput(name: keyof Inputs): string {
const value = core.getInput(name);
if (name === InputName.Parallel) {
return value.toUpperCase() === 'TRUE' ? value : '';
}
return value || DefaultInputs[name] || '';
}
/**
* Update env variables associated with some inputs.
* See: https://github.com/actions/toolkit/blob/5b940ebda7e7b86545fe9741903c930bc1191eb0/packages/core/src/core.ts#L69-L77 .
*
* @param {Inputs} inputs - The new inputs to apply to the env variables.
*/
export function setInputs(inputs: Inputs): void {
for (const [name, value] of Object.entries(inputs)) {
const envName = EnvVariableNames.has(name)
? name
: `INPUT_${name.replace(/ /g, '_').toUpperCase()}`;
process.env[envName] = value;
}
}
/**
* Apply new inputs and execute a runner function, restore them when done.
*
* @param {Inputs} inputs - The new inputs to apply to the env variables before
* excuting the runner.
* @param {runner} runner - The runner function that returns a promise.
* @returns {Promise<any>} - The result from the runner function.
*/
export async function applyInputs(
inputs: Inputs,
runner: () => Promise<void>,
): Promise<any> {
const originalInputs: Inputs = Object.fromEntries(
Object.keys(inputs).map(name => [
name,
EnvVariableNames.has(name) ? process.env[name] : core.getInput(name),
]),
);
exports.setInputs(inputs);
const result = await runner();
exports.setInputs(originalInputs);
return result;
}
export function maybeArrayToString(input: string[] | string) {
return Array.isArray(input) ? input.join('\n') : input;
}

View File

@@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"lib": ["esnext"],
"moduleResolution": "node",
"outDir": "./lib",
"rootDir": ".",
"strict": true,
"noImplicitAny": true,
"esModuleInterop": true,
"preserveSymlinks": true
},
"include": [
"./src",
"./node_modules/@actions"
],
"exclude": ["**/*.test.ts", "__tests__"]
}

View File

@@ -0,0 +1,3 @@
dist/
lib/
node_modules/

View File

@@ -0,0 +1,58 @@
{
"plugins": ["jest", "@typescript-eslint"],
"extends": ["plugin:github/es6"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 9,
"sourceType": "module",
"project": "./tsconfig.json"
},
"rules": {
"eslint-comments/no-use": "off",
"import/no-namespace": "off",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "error",
"@typescript-eslint/explicit-member-accessibility": ["error", {"accessibility": "no-public"}],
"@typescript-eslint/no-require-imports": "error",
"@typescript-eslint/array-type": "error",
"@typescript-eslint/await-thenable": "error",
"@typescript-eslint/ban-ts-ignore": "error",
"camelcase": "off",
"@typescript-eslint/camelcase": "error",
"@typescript-eslint/class-name-casing": "error",
"@typescript-eslint/explicit-function-return-type": ["error", {"allowExpressions": true}],
"@typescript-eslint/func-call-spacing": ["error", "never"],
"@typescript-eslint/generic-type-naming": ["error", "^[A-Z][A-Za-z]*$"],
"@typescript-eslint/no-array-constructor": "error",
"@typescript-eslint/no-empty-interface": "error",
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-extraneous-class": "error",
"@typescript-eslint/no-for-in-array": "error",
"@typescript-eslint/no-inferrable-types": "error",
"@typescript-eslint/no-misused-new": "error",
"@typescript-eslint/no-namespace": "error",
"@typescript-eslint/no-non-null-assertion": "warn",
"@typescript-eslint/no-object-literal-type-assertion": "error",
"@typescript-eslint/no-unnecessary-qualifier": "error",
"@typescript-eslint/no-unnecessary-type-assertion": "error",
"@typescript-eslint/no-useless-constructor": "error",
"@typescript-eslint/no-var-requires": "error",
"@typescript-eslint/prefer-for-of": "warn",
"@typescript-eslint/prefer-function-type": "warn",
"@typescript-eslint/prefer-includes": "error",
"@typescript-eslint/prefer-interface": "error",
"@typescript-eslint/prefer-string-starts-ends-with": "error",
"@typescript-eslint/promise-function-async": "error",
"@typescript-eslint/require-array-sort-compare": "error",
"@typescript-eslint/restrict-plus-operands": "error",
"semi": "off",
"@typescript-eslint/semi": ["error", "never"],
"@typescript-eslint/type-annotation-spacing": "error",
"@typescript-eslint/unbound-method": "error"
},
"env": {
"node": true,
"es6": true,
"jest/globals": true
}
}

View File

@@ -0,0 +1,36 @@
name: "Test the build"
on: # rebuild any PRs and main branch changes
pull_request:
push:
jobs:
pre-commit: # make sure pre-commits work properly
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.6
- name: Cache npm env
uses: actions/cache@v2
env:
cache-name: cache-npm-v1
with:
path: node_modules
key: ${{ env.cache-name }}-${{ github.job }}-${{ hashFiles('package.json','package-lock.json') }}
- name: "Install dependencies for npm"
run: |
npm ci
- name: Cache pre-commit env
uses: actions/cache@v2
env:
cache-name: cache-pre-commit-v1
with:
path: ~/.cache/pre-commit
key: ${{ env.cache-name }}-${{ github.job }}-${{ hashFiles('.pre-commit-config.yaml') }}
- name: "Install pre-commit"
run: |
pip install pre-commit
- name: "Run pre-commit"
run: |
pre-commit run --all-files --show-diff-on-failure --color always

View File

@@ -0,0 +1,101 @@
# Dependency directory
node_modules
# Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# OS metadata
.DS_Store
Thumbs.db
# Ignore built ts files
__tests__/runner/*
lib/**/*
.idea

View File

@@ -0,0 +1,47 @@
---
default_stages: [commit, push]
default_language_version:
# force all unspecified python hooks to run python3
python: python3
minimum_pre_commit_version: "1.20.0"
repos:
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.1.7
hooks:
- id: forbid-tabs
exclude: ^dist/index.js$
- repo: https://github.com/thlorenz/doctoc.git
rev: v1.4.0
hooks:
- id: doctoc
name: Add TOC for md files
files: ^README\.md$|^CONTRIBUTING\.md$|^UPDATING.md$|^dev/README\.md$|^dev/BACKPORT_PACKAGES.md$
- repo: meta
hooks:
- id: check-hooks-apply
- repo: https://github.com/adrienverge/yamllint
rev: v1.23.0
hooks:
- id: yamllint
name: Check yaml files with yamllint
entry: yamllint -c yamllint-config.yml
types: [yaml]
exclude: ^.*init_git_sync\.template\.yaml$|^.*airflow\.template\.yaml$|^chart/templates/.*\.yaml$
- repo: local
hooks:
- id: build
name: Build package for distribution
language: system
entry: bash -c "npm run release"
files: .*\.ts$
require_serial: true
pass_filenames: false
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.1.0
hooks:
- id: check-merge-conflict
- id: detect-private-key
- id: end-of-file-fixer
exclude: ^dist/.*
- id: trailing-whitespace
exclude: ^dist/.*

View File

@@ -0,0 +1,3 @@
dist/
lib/
node_modules/

View File

@@ -0,0 +1,11 @@
{
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"semi": false,
"singleQuote": true,
"trailingComma": "none",
"bracketSpacing": false,
"arrowParens": "avoid",
"parser": "typescript"
}

View File

@@ -0,0 +1,22 @@
The MIT License (MIT)
Copyright (c) 2018 GitHub, Inc. and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@@ -0,0 +1,731 @@
<p><a href="https://github.com/potiuk/cancel-workflow-runs/actions">
<img alt="cancel-workflow-runs status"
src="https://github.com/potiuk/cancel-workflow-runs/workflows/Test%20the%20build/badge.svg"></a>
# Cancel Workflow Runs action
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
- [Context and motivation](#context-and-motivation)
- [Usage](#usage)
- [Inputs and outputs](#inputs-and-outputs)
- [Inputs](#inputs)
- [Outputs](#outputs)
- [Most often used canceling example](#most-often-used-canceling-example)
- [More Examples](#more-examples)
- [Repositories that use Pull Requests from forks](#repositories-that-use-pull-requests-from-forks)
- [Cancel duplicate runs for the source workflow](#cancel-duplicate-runs-for-the-source-workflow)
- [Cancel duplicate jobs for triggered workflow](#cancel-duplicate-jobs-for-triggered-workflow)
- [Cancel the "self" source workflow run](#cancel-the-self-source-workflow-run)
- [Cancel the "self" triggered workflow run](#cancel-the-self-triggered-workflow-run)
- [Fail-fast source workflow runs with failed jobs](#fail-fast-source-workflow-runs-with-failed-jobs)
- [Fail-fast source workflow runs with failed jobs and corresponding triggered runs](#fail-fast-source-workflow-runs-with-failed-jobs-and-corresponding-triggered-runs)
- [Fail-fast for triggered workflow runs with failed jobs](#fail-fast-for-triggered-workflow-runs-with-failed-jobs)
- [Cancel another workflow run](#cancel-another-workflow-run)
- [Cancel all duplicates for named jobs](#cancel-all-duplicates-for-named-jobs)
- [Repositories that do not use Pull Requests from forks](#repositories-that-do-not-use-pull-requests-from-forks)
- [Cancel duplicate runs for "self" workflow](#cancel-duplicate-runs-for-self-workflow)
- [Cancel "self" workflow run](#cancel-self-workflow-run)
- [Fail-fast workflow runs with failed jobs](#fail-fast-workflow-runs-with-failed-jobs)
- [Cancel all runs with named jobs](#cancel-all-runs-with-named-jobs)
- [Development environment](#development-environment)
- [License](#license)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
# Context and motivation
Cancel Workflow Runs is an action that utilizes `workflow_run` triggers in order to perform various
run cancel operations. The idea is to save number of jobs and free them for other queued runs. It is
particularly useful in case your projects development flow where contributors submit pull requests
from forks. Using `workflow_run` trigger enables safe canceling of runs triggered by such pull requests.
In case your CI takes a lot of time and uses a lot of jobs, the action might help your project
to reduce job usage and decrease waiting time as it detects and cancels runs that are still executed,
but we know already they are superseded by newer runs.
The main purpose of this action is canceling duplicated runs for the same branch as the current run,
effectively limiting the resource consumption of the workflow to one run per branch. In short, the action
is useful if you want to limit jobs usage on GitHub Actions in case of the usage pattern
when fixups/rebases are pushed in quick succession to the same branch (fast iterations on a Pull Request).
This is achieved by `duplicates` cancel mode. The `duplicates` mode only cancels "past" runs - it does
not take into account runs that were started after the "current" run.
Another use case is to cancel the `pull_request` corresponding to the `workflow_run` triggered run.
This can happen when the triggered `workflow_run` finds that it makes no sense to proceed with
the source run. This is achieved by `self` cancel mode.
There are also two supplementary cancel modes for the action. Those supplementary use cases allow for further
optimisations - failing fast in case we detect that important job failed and canceling duplicates of the
`workflow_run` triggered events in case they execute some heavy jobs. This is achieved by `failedJobs` and
`namedJobs` cancel modes.
Note that `namedjobs` cancel mode is solely for the purpose of bypassing current limitations
of GitHub Actions. Currently, there is no way to retrieve connection between triggering and triggered
workflow in case of `workflow_run`, as well as retrieving repository and branch of the triggering
workflow. The action uses workaround - it requires designing workflows in the way that they pass necessary
information via carefully crafted job names. The job names are accessible via GitHub API, and they can be
resolved during execution of the workflow using information about the linked workflow available
at the workflow runtime. Hopefully this information will soon be available in GitHub Actions allowing
removal of `namedJobs` cancel mode and simplifying the examples and workflows using the Action.
Another feature of the Action is to notify the PRs linked to the workflows. Normally when workflows
get cancelled there is no information why it happens, but this action can add an explanatory comment
to the PR if the PR gets cancelled. This is controlled by `notifyPRCancel` boolean input.
Also, for the `workflow_run` events, GitHub does not yet provide an easy interface linking the original
Pull Request and the Workflow_run. You can ask the CancelWorkflowRun action to add extra comment to the PR
adding explanatory message followed by a link to the `workflow_run` run.
You can take a look at the description provided in the
[Apache Airflow's CI](https://github.com/apache/airflow/blob/master/CI.rst) and
[the workflows](https://github.com/apache/airflow/blob/master/.github/workflows)
Started from simple cancel workflow developed by [n1hility](https://github.com/n1hility)
that implemented cancelling previous runs before introducing `workflow_run` type of event by
GitHub Actions: [Cancel](https://github.com/n1hility/cancel-previous-runs).
# Usage
If you want a comprehensive solution, you should use the action as follows:
1) In case your project does not use public forks, it's enough to have one action with the `duplicates`
cancel mode in the workflow. This is a rare thing in open-source projects (usually those projects
accept pull requests from forks) and more often applicable for private repositories.
2) If you use forks, you should create a separate "Cancelling" `workflow_run` triggered workflow.
The `workflow_run` should be responsible for all canceling actions. The examples below show
the possible ways the action can be utilized.
# Inputs and outputs
## Inputs
| Input | Required | Default | Comment |
|--------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `token` | yes | | The github token passed from `${{ secrets.GITHUB_TOKEN }}` |
| `cancelMode` | no | `duplicates` | The mode to run cancel on. The available options are `duplicates`, `self`, `failedJobs`, `namedJobs` |
| `cancelFutureDuplicates` | no | true | In case of duplicate canceling, cancel also future duplicates leaving only the "freshest" running job and not all the future jobs. By default it is set to true. |
| `sourceRunId` | no | | Useful only in `workflow_run` triggered events. It should be set to the id of the workflow triggering the run `${{ github.event.workflow_run.id }}` in case cancel operation should cancel the source workflow. |
| `notifyPRCancel` | no | | Boolean. If set to true, it notifies the cancelled PRs with a comment containing reason why they are being cancelled. |
| `notifyPRCancelMessage` | no | | Optional cancel message to use instead of the default one when notifyPRCancel is true. It is only used in 'self' cancelling mode. |
| `notifyPRMessageStart` | no | | Only for workflow_run events triggered by the PRs. If not empty, it notifies those PRs with the message specified at the start of the workflow - adding the link to the triggered workflow_run. |
| `jobNameRegexps` | no | | An array of job name regexps. Only runs containing any job name matching any of of the regexp in this array are considered for cancelling in `failedJobs` and `namedJobs` and `allDuplicateNamedJobs` modes. |
| `skipEventTypes` | no | | Array of event names that should be skipped when cancelling (JSON-encoded string). This might be used in order to skip direct pushes or scheduled events. |
| `selfPreservation` | no | true | Do not cancel self. |
| `workflowFileName` | no | | Name of the workflow file. It can be used if you want to cancel a different workflow than yours. |
The job cancel modes work as follows:
| Cancel Mode | No `sourceRunId` specified | The `sourceRunId` set to `${{ github.event.workflow_run.id }}` |
|--------------------------|------------------------------------------------------------------------------|-------------------------------------------------------------------------------------|
| `duplicates` | Cancels duplicate runs from the same repo/branch as current run. | Cancels duplicate runs for the same repo/branch as the source run. |
| `allDuplicates` | Cancels duplicate runs from all running workflows. | Cancels duplicate runs from all running workflows. |
| `self` | Cancels self run. | Cancel the `sourceRunId` run. |
| `failedJobs` | Cancels all runs of own workflow that have matching jobs that failed. | Cancels all runs of the `sourceRunId` workflow that have matching jobs that failed. |
| `namedJobs` | Cancels all runs of own workflow that have matching jobs. | Cancels all runs of the `sourceRunId` workflow that have matching jobs. |
| `allDuplicatedNamedJobs` | Cancels all duplicate runs of own workflow that share matching jobs pattern. | Cancels all runs of the `sourceRunId` workflow that share matching job pattern. |
## Outputs
| Output | No `sourceRunId` specified | The `sourceRunId` set to `${{ github.event.workflow_run.id }}` |
|---------------------|---------------------------------------------------------|------------------------------------------------------------------------------------------------------|
| `sourceHeadRepo` | Current repository. Format: `owner/repo` | Repository of the run that triggered this `workflow_run`. Format: `owner/repo` |
| `sourceHeadBranch` | Current branch. | Branch of the run that triggered this `workflow_run`. Might be forked repo, if it is a pull_request. |
| `sourceHeadSha` | Current commit SHA: `{{ github.sha }}` | Commit sha of the run that triggered this `workflow_run`. |
| `mergeCommitSha` | Merge commit SHA if PR-triggered event. | Merge commit SHA if PR-triggered event. |
| `targetCommitSha` | Target commit SHA (merge if present, otherwise source). | Target commit SHA (merge if present, otherwise source). |
| `pullRequestNumber` | Number of the associated Pull Request (if PR triggered) | Number of the associated Pull Request (if PR triggered) |
| `sourceEvent` | Current event: ``${{ github.event }}`` | Event of the run that triggered this `workflow_run` |
| `cancelledRuns` | JSON-stringified array of cancelled run ids. | JSON-stringified array of cancelled run ids. |
## Most often used canceling example
The most common canceling example is that you want to cancel all duplicates appearing in your build queue.
As of 4.1 version of the Action this can be realised by single workflow run that can cancel all duplicates
for all running workflows. It is resistant to temporary queues - as it can cancel also the future, queued
workflows that have duplicated, fresher (also queued workflows and this is recommended for everyone.
The below example is a "workflow_run" type of event. The workflow_run event always has "write" access that allows
it to cancel other workflows - even if they are coming from pull request.
```yaml
name: Cancelling Duplicates
on:
workflow_run:
workflows: ['CI']
types: ['requested']
jobs:
cancel-duplicate-workflow-runs:
name: "Cancel duplicate workflow runs"
runs-on: ubuntu-latest
steps:
- uses: potiuk/cancel-workflow-runs@master
name: "Cancel duplicate workflow runs"
with:
cancelMode: allDuplicates
token: ${{ secrets.GITHUB_TOKEN }}
sourceRunId: ${{ github.event.workflow_run.id }}
```
# More Examples
Note that you can combine the steps below in several steps of the same job. The examples here are showing
one step per case for clarity.
## Repositories that use Pull Requests from forks
Note that in case you implement separate "Canceling workflow", following the examples below, you do not
need to add cancel action to any other workflow. All Cancel actions should be configured in this
Cancelling workflow.
Those examples show how you should configure your project with separate `Cancelling` workflow which is
triggered via `workflow_run` trigger.
In the example belows we use the following names:
* **triggered workflow** - the "Cancelling" workflow - separate workflow triggered by the `workflow_run`
event. Its main job is to manage cancelling of other workflows.
* **triggered run** - the run of the *triggered workflow*. It is triggered by another ("source") run. In the
examples below, this run is in "Cancelling" workflow. It always runs in the context of the main repository,
even if it is triggered by a Pull Request from a fork.
* **source workflow** - the "main" workflow - main workflow that performs CI actions. In the examples below,
this is a "CI" workflow.
* **source run** - the run of the *source workflow*. It is the run that triggers the *triggered run*,
and it runs most of the CI tasks. In the examples below those are the runs of "CI" workflow.
### Cancel duplicate runs for the source workflow
Cancel past, duplicate *source runs* of the *source workflow*. This workflow cancels
duplicated, past runs (for the same branch/repo that those associated with the *source run* that triggered
the *triggered run*). You have to create it with the `sourceRunId` input with the value of
`${{ github.event.workflow_run.id }}` in order to work correctly.
In the example below, the `Canceling` run cancels past, duplicate runs from the `CI` with the same
branch/repo as the *source run* which triggered it - effectively what's left after the action is only
the latest *source run* of "CI" from the same branch/repo.
This works for all kind of triggering events (`push`, `pull_request`, `schedule` ...). It works for
events triggered in the local repository, as well as triggered from the forks, so you do not need
to set up any extra actions to cancel internal Pushes/Pull Requests.
You can also choose to skip certain types of events (for example `push` and `schedule` if you want your
jobs to run to full completion for this kind of events.
```yaml
name: Cancelling
on:
workflow_run:
workflows: ['CI']
types: ['requested']
jobs:
cancel-duplicate-workflow-runs:
name: "Cancel duplicate workflow runs"
runs-on: ubuntu-latest
steps:
- uses: potiuk/cancel-workflow-runs@master
name: "Cancel duplicate workflow runs"
with:
cancelMode: duplicates
cancelFutureDuplicates: true
token: ${{ secrets.GITHUB_TOKEN }}
sourceRunId: ${{ github.event.workflow_run.id }}
notifyPRCancel: true
skipEventTypes: '["push", "schedule"]'
```
Note that `duplicate` cancel mode cannot be used for `workflow_run` type of event without `sourceId` input.
The action will throw an error in this case because it is not really doing what you would expect it to do.
All `workflow_run` events have the same branch and repository (they are all run in the context of the
target branch and repository) no matter what is the source of the event, therefore cancelling duplicates
would cancel all the runs originated from all the branches and this is not really expected.
If you want to cancel duplicate runs of the *triggered workflow*, you need to utilize the
`namedJob` cancel mode as described in the next chapter
[Cancel duplicate jobs for triggered workflow](#cancel-duplicate-jobs-for-triggered-workflow) using outputs
from the duplicate canceling for *source workflow* run above.
Hopefully we will have an easier way of doing that in the future once GitHub Actions API will allow
searching for source runs (it's not available at this moment).
### Cancel duplicate jobs for triggered workflow
Cancels all past runs from the *triggered workflow* if any of the job names match any of the regular
expressions. Note that it does not take into account the branch of the runs. It will cancel all runs
with matching job names no mater the branch/repo.
This example is much more complex. It shows the actual case on how you can design your jobs using with
using outputs from the cancel duplicate action and running subsequent cancel with namedJobs cancel
mode. Hopefully in the future better solution will come from Github Actions and such cancel flow will
be natively supported by GitHub Actions but as of now (August 2020) such native support is not
possible. The example below uses specially named jobs that contain Branch, Repo and Run id of
the triggering run. The cancel operation finds the runs that have jobs with the names following
pattern containing the same repo and branch as the source run branch and repo in order to cancel duplicates.
In the case below, this workflow will first cancel the "CI" duplicate runs from the same branch and then
it will cancel the runs from the Cancelling workflow which contain the same repo and branch as
in job names, effectively implementing cancelling duplicate runs for the Cancelling workflow.
```yaml
name: Cancelling
on:
workflow_run:
workflows: ['CI']
types: ['requested']
jobs:
cancel-duplicate-ci-runs:
name: "Cancel duplicate CI runs"
runs-on: ubuntu-latest
outputs:
sourceHeadRepo: ${{ steps.cancel.outputs.sourceHeadRepo }}
sourceHeadBranch: ${{ steps.cancel.outputs.sourceHeadBranch }}
sourceHeadSha: ${{ steps.cancel.outputs.sourceHeadSha }}
sourceEvent: ${{ steps.cancel.outputs.sourceEvent }}
steps:
- uses: potiuk/cancel-workflow-runs@master
id: cancel
name: "Cancel duplicate CI runs"
with:
cancelMode: duplicates
cancelFutureDuplicates: true
token: ${{ secrets.GITHUB_TOKEN }}
notifyPRCancel: true
notifyPRMessageStart: |
Note! The Docker Images for the build are prepared in a separate workflow,
that you will not see in the list of checks.
You can checks the status of those images in:
- uses: potiuk/cancel-workflow-runs@master
name: "Cancel duplicate Cancelling runs"
with:
cancelMode: namedJobs
token: ${{ secrets.GITHUB_TOKEN }}
notifyPRCancel: true
jobNameRegexps: >
["Build info
repo: ${{ steps.cancel.outputs.sourceHeadRepo }}
branch: ${{ steps.cancel.outputs.sourceHeadBranch }}.*"]
build-info:
name: >
Build info
repo: ${{ needs.cancel-workflow-runs.outputs.sourceHeadRepo }}
branch: ${{ needs.cancel-workflow-runs.outputs.sourceHeadBranch }}
runs-on: ubuntu-latest
needs: [cancel-duplicate-ci-runs]
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
steps:
- name: >
[${{ needs.cancel-workflow-runs.outputs.sourceEvent }}] will checkout
Run id: ${{ github.run_id }}
Source Run id: ${{ github.event.workflow_run.id }}
Sha: ${{ needs.cancel-workflow-runs.outputs.sourceHeadSha }}
Repo: ${{ needs.cancel-workflow-runs.outputs.sourceHeadRepo }}
Branch: ${{ needs.cancel-workflow-runs.outputs.sourceHeadBranch }}
run: |
printenv
```
### Cancel the "self" source workflow run
This is useful in case you decide to cancel the *source run* that triggered the *triggered run*.
In the case below, the step cancels the `CI` workflow that triggered the `Cancelling` run.
```yaml
name: Cancelling
on:
workflow_run:
workflows: ['CI']
types: ['requested']
cancel-self-source-workflow-run:
name: "Cancel the self CI workflow run"
runs-on: ubuntu-latest
steps:
- name: "Cancel the self CI workflow run"
uses: potiuk/cancel-workflow-runs@master
with:
cancelMode: self
notifyPRCancel: true
notifyPRCancelMessage: Cancelled because image building failed.
token: ${{ secrets.GITHUB_TOKEN }}
sourceRunId: ${{ github.event.workflow_run.id }}
```
### Cancel the "self" triggered workflow run
This is useful in case you decide to cancel the *triggered run*. The difference vs. previous case is that
you do not specify the `sourceRunId` input.
In the case below - self workflow will be cancelled.
```yaml
name: Cancelling
on:
workflow_run:
workflows: ['CI']
types: ['requested']
cancel-self-cancelling-run:
name: "Cancel the self Canceling workflow run"
runs-on: ubuntu-latest
steps:
- name: "Cancel the self Cancelling workflow run"
uses: potiuk/cancel-workflow-runs@master
with:
cancelMode: self
notifyPRCancel: true
token: ${{ secrets.GITHUB_TOKEN }}
```
Note that if you want to cancel both - source workflow and self workflow you need to first cancel
the source workflow, and then cancel the self one, not the other way round :).
### Fail-fast source workflow runs with failed jobs
Cancels all runs from the *source workflow* if there are failed jobs matching any of the regular expressions.
Note that the action does not take into account the branch/repos of the runs. It will cancel all runs
with failed jobs no mater the branch/repo.
In the case below, if any of `CI` workflow runs (even with different branch heads) have failed jobs
names matching `^Static checks$` and `^Build docs^` or `^Build prod image .*` regexp - they
will be cancelled.
```yaml
name: Cancelling
on:
workflow_run:
workflows: ['CI']
types: ['requested']
jobs:
fail-fast-triggered-workflow-named-jobs-runs:
name: "Fail fast CI runs"
runs-on: ubuntu-latest
steps:
- uses: potiuk/cancel-workflow-runs@master
name: "Fail fast CI runs"
with:
cancelMode: failedJobs
token: ${{ secrets.GITHUB_TOKEN }}
sourceRunId: ${{ github.event.workflow_run.id }}
notifyPRCancel: true
jobNameRegexps: '["^Static checks$", "^Build docs$", "^Build prod image.*"]'
```
Note that if you not only want to cancel the failed triggering workflows but also
the want to fail the corresponding "Cancelling" workflows, you need to implement the solution
described in the next chapter.
### Fail-fast source workflow runs with failed jobs and corresponding triggered runs
Cancels all runs from the *source workflow* if there are failed jobs matching any of the regular expressions,
also cancels the corresponding *triggered runs*.
Note that the action does not take into account the branch/repos of the runs. It will cancel all runs
with failed jobs no mater the branch/repo.
In the case below, if any of `CI` workflow runs (even with different branch heads) have failed jobs
names matching `^Static checks$` and `^Build docs^` or `^Build prod image .*` regexp - they
will be cancelled as well as the corresponding "Cancelling" workflow runs.
There is no native support yet in GitHub actions to do it easily, so the example below shows how this can be
achieved using `namedJobs` and output returned from the previous `Cancel Workflow Runs` action. Hopefull
this will be simplified when GitHub Actions introduce native support for it.
```yaml
name: Cancelling
on:
workflow_run:
workflows: ['CI']
types: ['requested']
jobs:
fail-fast-triggered-workflow-named-jobs-runs:
name: "Fail fast CI runs"
runs-on: ubuntu-latest
steps:
- uses: potiuk/cancel-workflow-runs@master
name: "Fail fast CI. Source run: ${{ github.event.workflow_run.id }}"
id: cancel-failed
with:
cancelMode: failedJobs
token: ${{ secrets.GITHUB_TOKEN }}
sourceRunId: ${{ github.event.workflow_run.id }}
notifyPRCancel: true
jobNameRegexps: '["^Static checks$", "^Build docs$", "^Build prod image.*"]'
- name: "Extract canceled failed runs"
id: extract-cancelled-failed-runs
if: steps.cancel-failed.outputs.cancelledRuns != '[]'
run: |
REGEXP="Fail fast CI. Source run: "
SEPARATOR=""
for run_id in $(echo "${{ steps.cancel-failed.outputs.cancelledRuns }}" | jq '.[]')
do
REGEXP="${REGEXP}${SEPARATOR}(${run_id})"
SEPARATOR="|"
done
echo "::set-output name=matching-regexp::${REGEXP}"
- name: "Cancel triggered 'Cancelling' runs for the cancelled failed runs"
if: steps.cancel-failed.outputs.cancelledRuns != '[]'
uses: potiuk/cancel-workflow-runs@master
with:
cancelMode: namedJobs
token: ${{ secrets.GITHUB_TOKEN }}
notifyPRCancel: true
jobNameRegexps: ${{ steps.extract-cancelled-failed.runs.matching-regexp }}
```
Note that if you not only want to cancel the failed triggering workflows but also
the want to fail the corresponding "Cancelling" workflows, you need to implement the solution
described in the next chapter.
### Fail-fast for triggered workflow runs with failed jobs
Cancels all runs from the *triggered workflow* if there are failed jobs matching any of the regular
expressions. Note that it does not take into account the branch/repos of the runs. It will cancel all runs
with failed jobs no mater the branch/repo.
In the case below, if any of `Cancelling` workflow runs (even with different branch heads) have failed jobs
names matching `^Static checks$` and `^Build docs^` or `^Build prod image .*` regexp - they
will be cancelled.
```yaml
name: Cancelling
on:
workflow_run:
workflows: ['CI']
types: ['requested']
jobs:
fail-fast-triggered-workflow-named-jobs-runs:
name: "Fail fast Canceling runs"
runs-on: ubuntu-latest
steps:
- uses: potiuk/cancel-workflow-runs@master
name: "Fail fast Canceling runs"
with:
cancelMode: failedJobs
token: ${{ secrets.GITHUB_TOKEN }}
jobNameRegexps: '["^Static checks$", "^Build docs$", "^Build prod image.*"]'
```
### Cancel another workflow run
This is useful in case you decide to cancel the *source run* that triggered the *triggered run*.
In the case below, the step cancels the `CI` workflow that triggered the `Cancelling` run.
```yaml
name: Cancelling
on:
workflow_run:
workflows: ['CI']
types: ['requested']
cancel-other-workflow-run:
name: "Cancel the self CI workflow run"
runs-on: ubuntu-latest
steps:
- name: "Cancel the self CI workflow run"
uses: potiuk/cancel-workflow-runs@master
with:
cancelMode: duplicates
cancelFutureDuplicates: true
token: ${{ secrets.GITHUB_TOKEN }}
workflowFileName: other_workflow.yml
```
### Cancel all duplicates for named jobs
Cancels all duplicated runs for all jobs that match specified regular expression.
Note that it does not take into account the branch of the runs. It will cancel all duplicates with
the same match for jobs, no matter what branch originated it.
This is useful in case of job names generated dynamically.
In the case below, for all the runs that have job names generated containing Branch/Repo/Event combination
that have the same match, the duplicates will get cancelled leaving only the most recent run for each exact
match.
Note that the match must be identical. If there are two jobs that have a different Branch
they will both match the same pattern, but they are not considered duplicates.
Also, this is one of the jobs It has also self-preservation turned off.
This means that in case the job determines that it is itself a duplicate it will cancel itself. That's
why checking for duplicates of self-workflow should be the last step in the cancelling process.
```yaml
on:
push:
workflow_run:
workflows: ['CI']
types: ['requested']
jobs:
cancel-self-failed-runs:
name: "Cancel the self workflow run"
runs-on: ubuntu-latest
steps:
- uses: potiuk/cancel-workflow-runs@master
name: "Cancel past CI runs"
with:
cancelMode: allDuplicatedNamedJobs
token: ${{ secrets.GITHUB_TOKEN }}
jobNameRegexps: '["Branch: .* Repo: .* Event: .* "]'
selfPreservation: false
notifyPRCancel: true
```
## Repositories that do not use Pull Requests from forks
Note that examples in this chapter only work if you do not have Pull Requests coming from forks (so for
example if you only work in a private repository). When those action runs within the usual `pull_request`
triggered runs coming from a fork, they have not enough permissions to cancel running workflows.
If you want to cancel `pull_requests` from forks, you need to use `workflow_run` triggered runs - see the
[Repositories that use Pull Requests from fork](#repositories-that-use-pull-requests-from-forks) chapter.
Note that in case you configure the separate `workflow_run` Cancelling workflow, there is no need to add
the action to the "source" workflows. The "Canceling workflow" pattern handles well not only Pull Requests
from the forks, but also all other cases - including cancelling Pull Requests for the same repository
and canceling scheduled runs.
### Cancel duplicate runs for "self" workflow
Cancels past runs for the same workflow (with the same branch).
In the case below, any of the direct "push" events will cancel all past runs for the same branch as the
one being pushed. However, it can be configured for "pull_request" (in the same repository) or "schedule"
type of events as well. It will also notify the PR with the comment containining why it has been
cancelled.
```yaml
name: CI
on: push
jobs:
cancel-duplicate-workflow-runs:
name: "Cancel duplicate workflow runs"
runs-on: ubuntu-latest
steps:
- uses: potiuk/cancel-workflow-runs@master
name: "Cancel duplicate workflow runs"
with:
cancelMode: duplicates
cancelFutureDuplicates: true
notifyPRCancel: true
```
### Cancel "self" workflow run
This is useful in case you decide to cancel "self" run.
In the case below - own workflow will be cancelled immediately. It can be configured for "push",
"pull_request" (from the same repository) or "schedule" type of events.
```yaml
name: CI
on: push
jobs:
cancel-self-run:
name: "Cancel the self workflow run"
runs-on: ubuntu-latest
steps:
- name: "Cancel the self workflow run"
uses: potiuk/cancel-workflow-runs@master
with:
cancelMode: self
token: ${{ secrets.GITHUB_TOKEN }}
notifyPRCancel: true
```
### Fail-fast workflow runs with failed jobs
Cancels all runs (including self run!) if they have failed jobs matching any of the regular expressions.
Note that it does not take into account the branch of the running jobs. It will cancel all runs with failed
jobs, no matter what branch originated it.
In the case below, if any of the own workflow runs have failed jobs matching any of the
`^Static checks$` and `^Build docs^` or `^Build prod image .*` regexp, this workflow will cancel the runs.
```yaml
name: CI
on:
push:
jobs:
cancel-self-failed-runs:
name: "Cancel failed runs"
runs-on: ubuntu-latest
steps:
- uses: potiuk/cancel-workflow-runs@master
name: "Cancel failed runs"
with:
cancelMode: failedJobs
token: ${{ secrets.GITHUB_TOKEN }}
jobNameRegexps: '["^Static checks$", "^Build docs$", "^Build prod image.*"]'
notifyPRCancel: true
```
### Cancel all runs with named jobs
Cancels all runs (including self run!) if any of the job names match any of the regular
expressions. Note that it does not take into account the branch of the runs. It will cancel all runs with
matching jobs, no matter what branch originated it.
This is useful in case of job names generated dynamically.
In the case below, if any of the "self" workflow runs has job names that matches any of the
`^Static checks$` and `^Build docs^` or `^Build prod image .*` regexp, this workflow will cancel the runs.
```yaml
on:
push:
workflow_run:
workflows: ['CI']
types: ['requested']
jobs:
cancel-self-failed-runs:
name: "Cancel the self workflow run"
runs-on: ubuntu-latest
steps:
- uses: potiuk/cancel-workflow-runs@master
name: "Cancel past CI runs"
with:
cancelMode: namedJobs
token: ${{ secrets.GITHUB_TOKEN }}
jobNameRegexps: '["^Static checks$", "^Build docs$", "^Build prod image.*"]'
notifyPRCancel: true
```
## Development environment
It is highly recommended tu use [pre commit](https://pre-commit.com). The pre-commits
installed via pre-commit tool handle automatically linting (including automated fixes) as well
as building and packaging Javascript index.js from the main.ts Typescript code, so you do not have
to run it yourself.
## License
[MIT License](LICENSE) covers the scripts and documentation in this project.

View File

@@ -0,0 +1,5 @@
import * as process from 'process'
import * as cp from 'child_process'
import * as path from 'path'
test('no op', () => {})

View File

@@ -0,0 +1,74 @@
name: 'Cancel Workflow Runs'
description: 'Cancel Workflow Runs - duplicates, failed, named in order to limit job usage,'
author: 'potiuk'
inputs:
token:
description: The GITHUB_TOKEN secret of the repository
required: true
sourceRunId:
description: |
The run that triggered the action. It should be set to
`$\{\{ github.event.workflow_run.id` variable \}\}` if used in `workflow_run` triggered run if
you want to act on source workflow rather than the triggered run.
required: false
notifyPRCancel:
description: |
Boolean. If set to true, it notifies the cancelled PRs with a comment containing reason why
they are being cancelled.
required: false
notifyPRCancelMessage:
description: |
Optional cancel message to use instead of the default one when notifyPRCancel is true. Only
used in 'self' cancel mode.
required: false
notifyPRMessageStart:
description: |
Only for workflow_run events triggered by the PRs. If not empty, it notifies those PRs with the
message specified at the start of the workflow - adding the link to the triggered workflow_run.
required: false
cancelMode:
description: |
The mode of cancel. One of:
* `duplicates` - cancels duplicate runs from the same repo/branch as local run or
sourceId workflow. This is the default mode when cancelMode is not specified.
* `allDuplicates` - cancels duplicate runs from all workflows. It is more aggressive version of
duplicate canceling - as it cancels all duplicates. It is helpful in case
of long queues of builds - as it is enough that one of the workflows that
cancel duplicates is executed, it can effectively clean-up the queue in this
case for all the future, queued runs.
* `self` - cancels self run - either own run if sourceRunId is not set, or
the source run that triggered the `workflow_run'
* `failedJobs` - cancels all runs that failed in jobs matching one of the regexps
* `namedJobs` - cancels runs where names of some jobs match some of regexps
required: false
cancelFutureDuplicates:
description: |
In case of duplicate canceling, cancel also future duplicates leaving only the "freshest" running
job and not all the future jobs. By default it is set to true.
required: false
selfPreservation:
description: |
Do not cancel your own run. There are cases where selfPreservation should be disabled but it is
enabled by default. You can disable it by setting 'false' as value.
required: false
jobNameRegexps:
description: |
Array of job name regexps (JSON-encoded string). Used by `failedJobs` and `namedJobs` cancel modes
to match job names of workflow runs.
required: false
skipEventTypes:
description: |
Array of event names that should be skipped when cancelling (JSON-encoded string). This might be used
in order to skip direct pushes or scheduled events.
required: false
workflowFileName:
description: |
Name of the workflow file. It can be used if you want to cancel a different workflow than yours.
required: false
runs:
using: 'node12'
main: 'dist/index.js'
branding:
icon: 'play'
color: 'blue'

View File

@@ -0,0 +1,11 @@
module.exports = {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
testEnvironment: 'node',
testMatch: ['**/*.test.ts'],
testRunner: 'jest-circus/runner',
transform: {
'^.+\\.ts$': 'ts-jest'
},
verbose: true
}

10921
.github/actions/cancel-workflow-runs/package-lock.json generated vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,48 @@
{
"name": "typescript-action",
"version": "0.0.0",
"private": true,
"description": "TypeScript template action",
"main": "lib/main.js",
"scripts": {
"build": "tsc",
"format": "prettier --write **/*.ts",
"format-check": "prettier --check **/*.ts",
"lint": "eslint src/**/*.ts",
"pack": "ncc build",
"test": "jest",
"all": "npm run build && npm run format && npm run lint && npm run pack && npm test",
"release": "ncc build -o dist src/main.ts"
},
"repository": {
"type": "git",
"url": "git+https://github.com/actions/typescript-action.git"
},
"keywords": [
"actions",
"node",
"setup"
],
"author": "YourNameOrOrganization",
"license": "MIT",
"dependencies": {
"@actions/core": "^1.2.2",
"@actions/github": "^2.1.0",
"jstreemap": "^1.28.2"
},
"devDependencies": {
"@types/jest": "^24.0.23",
"@types/node": "^12.7.12",
"@typescript-eslint/parser": "^2.8.0",
"@zeit/ncc": "^0.20.5",
"eslint": "^5.16.0",
"eslint-plugin-github": "^2.0.0",
"eslint-plugin-jest": "^22.21.0",
"jest": "^26.2.2",
"jest-circus": "^26.2.2",
"js-yaml": "^3.13.1",
"prettier": "^1.19.1",
"ts-jest": "^26.1.4",
"typescript": "^3.6.4"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
{
"compilerOptions": {
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"outDir": "./lib", /* Redirect output structure to the directory. */
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
"strict": true, /* Enable all strict type-checking options. */
"noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
},
"exclude": ["node_modules", "**/*.test.ts"]
}

View File

@@ -0,0 +1,22 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
---
extends: default
rules:
line-length:
max: 110

View File

@@ -0,0 +1,13 @@
FROM ruby:2.6.0
LABEL "com.github.actions.name"="Comment on PR"
LABEL "com.github.actions.description"="Leaves a comment on an open PR matching a push event."
LABEL "com.github.actions.repository"="https://github.com/unsplash/comment-on-pr"
LABEL "com.github.actions.maintainer"="Aaron Klaassen <aaron@unsplash.com>"
LABEL "com.github.actions.icon"="message-square"
LABEL "com.github.actions.color"="blue"
RUN gem install octokit
ADD entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

7
.github/actions/comment-on-pr/LICENSE vendored Normal file
View File

@@ -0,0 +1,7 @@
Copyright 2019 Unsplash Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

27
.github/actions/comment-on-pr/README.md vendored Normal file
View File

@@ -0,0 +1,27 @@
# Comment on PR via GitHub Action
A GitHub action to comment on the relevant open PR when a commit is pushed.
## Usage
- Requires the `GITHUB_TOKEN` secret.
- Requires the comment's message in the `msg` parameter.
- Supports `push` and `pull_request` event types.
### Sample workflow
```
name: comment-on-pr example
on: pull_request
jobs:
example:
name: sample comment
runs-on: ubuntu-latest
steps:
- name: comment PR
uses: unsplash/comment-on-pr@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
msg: "Check out this message!"
```

View File

@@ -0,0 +1,15 @@
name: Comment on PR
author: Aaron Klaassen <aaron@unsplash.com>
description: Leaves a comment on an open PR matching a push event.
branding:
icon: 'message-square'
color: 'blue'
inputs:
msg:
description: Comment's message
required: true
runs:
using: 'docker'
image: 'Dockerfile'
args:
- ${{ inputs.msg }}

47
.github/actions/comment-on-pr/entrypoint.sh vendored Executable file
View File

@@ -0,0 +1,47 @@
#!/usr/bin/env ruby
require "json"
require "octokit"
json = File.read(ENV.fetch("GITHUB_EVENT_PATH"))
event = JSON.parse(json)
github = Octokit::Client.new(access_token: ENV["GITHUB_TOKEN"])
if !ENV["GITHUB_TOKEN"]
puts "Missing GITHUB_TOKEN"
exit(1)
end
if ARGV.empty?
puts "Missing message argument."
exit(1)
end
repo = event["repository"]["full_name"]
if ENV.fetch("GITHUB_EVENT_NAME") == "pull_request"
pr_number = event["number"]
else
pulls = github.pull_requests(repo, state: "open")
push_head = event["after"]
pr = pulls.find { |pr| pr["head"]["sha"] == push_head }
if !pr
puts "Couldn't find an open pull request for branch with head at #{push_head}."
exit(1)
end
pr_number = pr["number"]
end
message = ARGV.join(' ')
coms = github.issue_comments(repo, pr_number)
duplicate = coms.find { |c| c["user"]["login"] == "github-actions[bot]" && c["body"] == message }
if duplicate
puts "The PR already contains a database change notification"
exit(0)
end
github.add_comment(repo, pr_number, message)

View File

@@ -0,0 +1,55 @@
codecov:
notify:
require_ci_to_pass: yes
coverage:
notify:
slack:
default:
threshold: 1%
message: "Coverage {{changed}} for {{owner}}/{{repo}}" # customize the message
attachments: "sunburst, diff"
only_pulls: false
status:
src:
target: auto
threshold: 7%
base: auto
if_ci_failed: success
paths:
- src/
- '!src/tests/'
flags:
- src
test:
target: 60%
threshold: 10%
if_ci_failed: error
base: auto
paths:
- src/tests/
flags:
- test
precision: 2
round: down
range: "70...100"
flags:
src:
paths:
- src
- '!src/tests/'
test:
paths:
- src/tests/
parsers:
gcov:
branch_detection:
conditional: yes
loop: yes
method: no
macro: no
comment:
layout: "reach,diff,flags,tree"
behavior: default
require_changes: no

View File

@@ -0,0 +1,73 @@
plugins:
- '@typescript-eslint'
- eslint-comments
- promise
- unicorn
extends:
- airbnb-typescript
- plugin:@typescript-eslint/recommended
- plugin:eslint-comments/recommended
- plugin:promise/recommended
- plugin:unicorn/recommended
- prettier
- prettier/@typescript-eslint
settings:
import/parsers:
'@typescript-eslint/parser':
- .ts
- .tsx
- .js
import/resolver:
typescript: {}
rules:
unicorn/filename-case: off
react/static-property-placement: 0
no-prototype-builtins: 0
import/prefer-default-export: 0
'@typescript-eslint/no-explicit-any': 0
import/no-default-export: error
no-use-before-define:
- error
-
functions: false
classes: true
variables: true
'@typescript-eslint/explicit-function-return-type':
- error
-
allowExpressions: true
allowTypedFunctionExpressions: true
'@typescript-eslint/no-use-before-define':
- error
-
functions: false
classes: true
variables: true
typedefs: true
'@typescript-eslint/indent':
- 2
- 2
unicorn/prevent-abbreviations: 0
import/no-extraneous-dependencies: [error, {devDependencies: ['**/*.ts']}]
parser: "@typescript-eslint/parser"
parserOptions:
project: ./tsconfig.json
ecmaVersion: 2019
sourceType: module
env:
node: true
browser: true
ignorePatterns:
- '*.js'
overrides:
- files: ['src/tests/**/*']
plugins:
- jest
extends:
- plugin:jest/recommended
rules:
global-require: 0
'@typescript-eslint/no-var-requires': 0
no-console: 0
'@typescript-eslint/no-unused-vars': 0
'@typescript-eslint/no-throw-literal': 0

View File

@@ -0,0 +1,3 @@
# Contributing
The repository is released under the MIT license, and follows a standard Github development process, using Github tracker for issues and merging pull requests into master.

View File

@@ -0,0 +1,17 @@
---
name: Bug report
about: Create a report to help us improve
---
**Describe the bug**
A clear and concise description of what the bug is.
**Workflow**
If applicable, provide a workflow file to help explain your problem.
**Expected behavior**
A clear and concise description of what you expected to happen.
**Additional context**
Add any other context about the problem here.

View File

@@ -0,0 +1,17 @@
---
name: Feature request
about: Suggest an idea for this project
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -0,0 +1,14 @@
### Type of Change
<!-- What type of change does your code introduce? -->
- [ ] New feature
- [ ] Bug fix
- [ ] Documentation
- [ ] Refactor
- [ ] Chore
### Resolves
- Fixes #[Add issue number here.]
### Describe Changes
<!-- Describe your changes in detail, if applicable. -->
_Describe what this Pull Request does_

View File

@@ -0,0 +1 @@
.codecov.yml,.eslintignore,.eslintrc.json,.eslintrc.yml,.github/workflows/integration.yml,.github/workflows/pr.yml,.github/workflows/push.yml,.github/workflows/readme.md,.gitignore,.prettierignore,.prettierrc.json,.prettierrc.yml,.releaserc.yml,Makefile,README.md,__tests__/main.test.ts,action.yml,dist/index.js,jest.config.js,package.json,src/ChangedFiles.ts,src/File.ts,src/FilesHelper.ts,src/GithubHelper.ts,src/InputHelper.ts,src/UtilsHelper.ts,src/main.ts,src/tests/FilesHelper.test.ts,src/tests/GithubHelper.test.ts,src/tests/InputHelper.test.ts,src/tests/UtilsHelper.test.ts,src/tests/main.test.ts,src/tests/mocks/core/index.test.ts,src/tests/mocks/core/index.ts,src/tests/mocks/env/events/issue_comment_created.json,src/tests/mocks/env/events/issue_comment_edited.json,src/tests/mocks/env/events/pull_request_opened.json,src/tests/mocks/env/events/pull_request_reopened.json,src/tests/mocks/env/events/pull_request_synchronize.json,src/tests/mocks/env/events/push.json,src/tests/mocks/env/events/push_merge.json,src/tests/mocks/env/events/schedule.json,src/tests/mocks/env/index.test.ts,src/tests/mocks/env/index.ts,src/tests/mocks/fs/index.test.ts,src/tests/mocks/fs/index.ts,src/tests/mocks/github/index.test.ts,src/tests/mocks/github/index.ts,src/tests/mocks/octokit/endpoint/merge.test.ts,src/tests/mocks/octokit/endpoint/merge.ts,src/tests/mocks/octokit/index.test.ts,src/tests/mocks/octokit/index.ts,src/tests/mocks/octokit/paginate.test.ts,src/tests/mocks/octokit/paginate.ts,src/tests/mocks/octokit/payloads.ts,src/tests/mocks/octokit/pulls/listFiles.test.ts,src/tests/mocks/octokit/pulls/listFiles.ts,src/tests/mocks/octokit/repos/compareCommits.test.ts,src/tests/mocks/octokit/repos/compareCommits.ts,src/tests/payloads.ts,src/typings/ActionError/index.d.ts,src/typings/ChangedFiles/index.d.ts,src/typings/CoreMock/index.d.ts,src/typings/FsMock/index.d.ts,src/typings/GitHubFile/index.d.ts,src/typings/GitHubMock/index.d.ts,src/typings/Inferred/index.d.ts,src/typings/Inputs/index.d.ts,src/typings/OctokitMock/index.d.ts,src/typings/TestInput/index.d.ts,tsconfig.build.json,tsconfig.json,yarn.lock
1 .codecov.yml .eslintignore .eslintrc.json .eslintrc.yml .github/workflows/integration.yml .github/workflows/pr.yml .github/workflows/push.yml .github/workflows/readme.md .gitignore .prettierignore .prettierrc.json .prettierrc.yml .releaserc.yml Makefile README.md __tests__/main.test.ts action.yml dist/index.js jest.config.js package.json src/ChangedFiles.ts src/File.ts src/FilesHelper.ts src/GithubHelper.ts src/InputHelper.ts src/UtilsHelper.ts src/main.ts src/tests/FilesHelper.test.ts src/tests/GithubHelper.test.ts src/tests/InputHelper.test.ts src/tests/UtilsHelper.test.ts src/tests/main.test.ts src/tests/mocks/core/index.test.ts src/tests/mocks/core/index.ts src/tests/mocks/env/events/issue_comment_created.json src/tests/mocks/env/events/issue_comment_edited.json src/tests/mocks/env/events/pull_request_opened.json src/tests/mocks/env/events/pull_request_reopened.json src/tests/mocks/env/events/pull_request_synchronize.json src/tests/mocks/env/events/push.json src/tests/mocks/env/events/push_merge.json src/tests/mocks/env/events/schedule.json src/tests/mocks/env/index.test.ts src/tests/mocks/env/index.ts src/tests/mocks/fs/index.test.ts src/tests/mocks/fs/index.ts src/tests/mocks/github/index.test.ts src/tests/mocks/github/index.ts src/tests/mocks/octokit/endpoint/merge.test.ts src/tests/mocks/octokit/endpoint/merge.ts src/tests/mocks/octokit/index.test.ts src/tests/mocks/octokit/index.ts src/tests/mocks/octokit/paginate.test.ts src/tests/mocks/octokit/paginate.ts src/tests/mocks/octokit/payloads.ts src/tests/mocks/octokit/pulls/listFiles.test.ts src/tests/mocks/octokit/pulls/listFiles.ts src/tests/mocks/octokit/repos/compareCommits.test.ts src/tests/mocks/octokit/repos/compareCommits.ts src/tests/payloads.ts src/typings/ActionError/index.d.ts src/typings/ChangedFiles/index.d.ts src/typings/CoreMock/index.d.ts src/typings/FsMock/index.d.ts src/typings/GitHubFile/index.d.ts src/typings/GitHubMock/index.d.ts src/typings/Inferred/index.d.ts src/typings/Inputs/index.d.ts src/typings/OctokitMock/index.d.ts src/typings/TestInput/index.d.ts tsconfig.build.json tsconfig.json yarn.lock

View File

@@ -0,0 +1,75 @@
[
".codecov.yml",
".eslintignore",
".eslintrc.json",
".eslintrc.yml",
".github/workflows/integration.yml",
".github/workflows/pr.yml",
".github/workflows/push.yml",
".github/workflows/readme.md",
".gitignore",
".prettierignore",
".prettierrc.json",
".prettierrc.yml",
".releaserc.yml",
"Makefile",
"README.md",
"__tests__/main.test.ts",
"action.yml",
"dist/index.js",
"jest.config.js",
"package.json",
"src/ChangedFiles.ts",
"src/File.ts",
"src/FilesHelper.ts",
"src/GithubHelper.ts",
"src/InputHelper.ts",
"src/UtilsHelper.ts",
"src/main.ts",
"src/tests/FilesHelper.test.ts",
"src/tests/GithubHelper.test.ts",
"src/tests/InputHelper.test.ts",
"src/tests/UtilsHelper.test.ts",
"src/tests/main.test.ts",
"src/tests/mocks/core/index.test.ts",
"src/tests/mocks/core/index.ts",
"src/tests/mocks/env/events/issue_comment_created.json",
"src/tests/mocks/env/events/issue_comment_edited.json",
"src/tests/mocks/env/events/pull_request_opened.json",
"src/tests/mocks/env/events/pull_request_reopened.json",
"src/tests/mocks/env/events/pull_request_synchronize.json",
"src/tests/mocks/env/events/push.json",
"src/tests/mocks/env/events/push_merge.json",
"src/tests/mocks/env/events/schedule.json",
"src/tests/mocks/env/index.test.ts",
"src/tests/mocks/env/index.ts",
"src/tests/mocks/fs/index.test.ts",
"src/tests/mocks/fs/index.ts",
"src/tests/mocks/github/index.test.ts",
"src/tests/mocks/github/index.ts",
"src/tests/mocks/octokit/endpoint/merge.test.ts",
"src/tests/mocks/octokit/endpoint/merge.ts",
"src/tests/mocks/octokit/index.test.ts",
"src/tests/mocks/octokit/index.ts",
"src/tests/mocks/octokit/paginate.test.ts",
"src/tests/mocks/octokit/paginate.ts",
"src/tests/mocks/octokit/payloads.ts",
"src/tests/mocks/octokit/pulls/listFiles.test.ts",
"src/tests/mocks/octokit/pulls/listFiles.ts",
"src/tests/mocks/octokit/repos/compareCommits.test.ts",
"src/tests/mocks/octokit/repos/compareCommits.ts",
"src/tests/payloads.ts",
"src/typings/ActionError/index.d.ts",
"src/typings/ChangedFiles/index.d.ts",
"src/typings/CoreMock/index.d.ts",
"src/typings/FsMock/index.d.ts",
"src/typings/GitHubFile/index.d.ts",
"src/typings/GitHubMock/index.d.ts",
"src/typings/Inferred/index.d.ts",
"src/typings/Inputs/index.d.ts",
"src/typings/OctokitMock/index.d.ts",
"src/typings/TestInput/index.d.ts",
"tsconfig.build.json",
"tsconfig.json",
"yarn.lock"
]

View File

@@ -0,0 +1 @@
.codecov.yml .eslintignore .eslintrc.json .eslintrc.yml .github/workflows/integration.yml .github/workflows/pr.yml .github/workflows/push.yml .github/workflows/readme.md .gitignore .prettierignore .prettierrc.json .prettierrc.yml .releaserc.yml Makefile README.md __tests__/main.test.ts action.yml dist/index.js jest.config.js package.json src/ChangedFiles.ts src/File.ts src/FilesHelper.ts src/GithubHelper.ts src/InputHelper.ts src/UtilsHelper.ts src/main.ts src/tests/FilesHelper.test.ts src/tests/GithubHelper.test.ts src/tests/InputHelper.test.ts src/tests/UtilsHelper.test.ts src/tests/main.test.ts src/tests/mocks/core/index.test.ts src/tests/mocks/core/index.ts src/tests/mocks/env/events/issue_comment_created.json src/tests/mocks/env/events/issue_comment_edited.json src/tests/mocks/env/events/pull_request_opened.json src/tests/mocks/env/events/pull_request_reopened.json src/tests/mocks/env/events/pull_request_synchronize.json src/tests/mocks/env/events/push.json src/tests/mocks/env/events/push_merge.json src/tests/mocks/env/events/schedule.json src/tests/mocks/env/index.test.ts src/tests/mocks/env/index.ts src/tests/mocks/fs/index.test.ts src/tests/mocks/fs/index.ts src/tests/mocks/github/index.test.ts src/tests/mocks/github/index.ts src/tests/mocks/octokit/endpoint/merge.test.ts src/tests/mocks/octokit/endpoint/merge.ts src/tests/mocks/octokit/index.test.ts src/tests/mocks/octokit/index.ts src/tests/mocks/octokit/paginate.test.ts src/tests/mocks/octokit/paginate.ts src/tests/mocks/octokit/payloads.ts src/tests/mocks/octokit/pulls/listFiles.test.ts src/tests/mocks/octokit/pulls/listFiles.ts src/tests/mocks/octokit/repos/compareCommits.test.ts src/tests/mocks/octokit/repos/compareCommits.ts src/tests/payloads.ts src/typings/ActionError/index.d.ts src/typings/ChangedFiles/index.d.ts src/typings/CoreMock/index.d.ts src/typings/FsMock/index.d.ts src/typings/GitHubFile/index.d.ts src/typings/GitHubMock/index.d.ts src/typings/Inferred/index.d.ts src/typings/Inputs/index.d.ts src/typings/OctokitMock/index.d.ts src/typings/TestInput/index.d.ts tsconfig.build.json tsconfig.json yarn.lock

View File

@@ -0,0 +1 @@
.codecov.yml,.eslintrc.yml,.prettierrc.yml,.releaserc.yml,src/FilesHelper.ts,src/GithubHelper.ts,src/InputHelper.ts,src/UtilsHelper.ts,src/tests/FilesHelper.test.ts,src/tests/GithubHelper.test.ts,src/tests/InputHelper.test.ts,src/tests/UtilsHelper.test.ts,src/tests/main.test.ts,src/tests/mocks/core/index.test.ts,src/tests/mocks/core/index.ts,src/tests/mocks/env/events/issue_comment_created.json,src/tests/mocks/env/events/issue_comment_edited.json,src/tests/mocks/env/events/pull_request_opened.json,src/tests/mocks/env/events/pull_request_reopened.json,src/tests/mocks/env/events/pull_request_synchronize.json,src/tests/mocks/env/events/push.json,src/tests/mocks/env/events/push_merge.json,src/tests/mocks/env/events/schedule.json,src/tests/mocks/env/index.test.ts,src/tests/mocks/env/index.ts,src/tests/mocks/fs/index.test.ts,src/tests/mocks/fs/index.ts,src/tests/mocks/github/index.test.ts,src/tests/mocks/github/index.ts,src/tests/mocks/octokit/endpoint/merge.test.ts,src/tests/mocks/octokit/endpoint/merge.ts,src/tests/mocks/octokit/index.test.ts,src/tests/mocks/octokit/index.ts,src/tests/mocks/octokit/paginate.test.ts,src/tests/mocks/octokit/paginate.ts,src/tests/mocks/octokit/payloads.ts,src/tests/mocks/octokit/pulls/listFiles.test.ts,src/tests/mocks/octokit/pulls/listFiles.ts,src/tests/mocks/octokit/repos/compareCommits.test.ts,src/tests/mocks/octokit/repos/compareCommits.ts,src/tests/payloads.ts,src/typings/ActionError/index.d.ts,src/typings/ChangedFiles/index.d.ts,src/typings/CoreMock/index.d.ts,src/typings/FsMock/index.d.ts,src/typings/GitHubFile/index.d.ts,src/typings/GitHubMock/index.d.ts,src/typings/Inferred/index.d.ts,src/typings/Inputs/index.d.ts,src/typings/OctokitMock/index.d.ts,src/typings/TestInput/index.d.ts,tsconfig.build.json
1 .codecov.yml .eslintrc.yml .prettierrc.yml .releaserc.yml src/FilesHelper.ts src/GithubHelper.ts src/InputHelper.ts src/UtilsHelper.ts src/tests/FilesHelper.test.ts src/tests/GithubHelper.test.ts src/tests/InputHelper.test.ts src/tests/UtilsHelper.test.ts src/tests/main.test.ts src/tests/mocks/core/index.test.ts src/tests/mocks/core/index.ts src/tests/mocks/env/events/issue_comment_created.json src/tests/mocks/env/events/issue_comment_edited.json src/tests/mocks/env/events/pull_request_opened.json src/tests/mocks/env/events/pull_request_reopened.json src/tests/mocks/env/events/pull_request_synchronize.json src/tests/mocks/env/events/push.json src/tests/mocks/env/events/push_merge.json src/tests/mocks/env/events/schedule.json src/tests/mocks/env/index.test.ts src/tests/mocks/env/index.ts src/tests/mocks/fs/index.test.ts src/tests/mocks/fs/index.ts src/tests/mocks/github/index.test.ts src/tests/mocks/github/index.ts src/tests/mocks/octokit/endpoint/merge.test.ts src/tests/mocks/octokit/endpoint/merge.ts src/tests/mocks/octokit/index.test.ts src/tests/mocks/octokit/index.ts src/tests/mocks/octokit/paginate.test.ts src/tests/mocks/octokit/paginate.ts src/tests/mocks/octokit/payloads.ts src/tests/mocks/octokit/pulls/listFiles.test.ts src/tests/mocks/octokit/pulls/listFiles.ts src/tests/mocks/octokit/repos/compareCommits.test.ts src/tests/mocks/octokit/repos/compareCommits.ts src/tests/payloads.ts src/typings/ActionError/index.d.ts src/typings/ChangedFiles/index.d.ts src/typings/CoreMock/index.d.ts src/typings/FsMock/index.d.ts src/typings/GitHubFile/index.d.ts src/typings/GitHubMock/index.d.ts src/typings/Inferred/index.d.ts src/typings/Inputs/index.d.ts src/typings/OctokitMock/index.d.ts src/typings/TestInput/index.d.ts tsconfig.build.json

View File

@@ -0,0 +1,54 @@
[
".codecov.yml",
".eslintrc.yml",
".prettierrc.yml",
".releaserc.yml",
"src/FilesHelper.ts",
"src/GithubHelper.ts",
"src/InputHelper.ts",
"src/UtilsHelper.ts",
"src/tests/FilesHelper.test.ts",
"src/tests/GithubHelper.test.ts",
"src/tests/InputHelper.test.ts",
"src/tests/UtilsHelper.test.ts",
"src/tests/main.test.ts",
"src/tests/mocks/core/index.test.ts",
"src/tests/mocks/core/index.ts",
"src/tests/mocks/env/events/issue_comment_created.json",
"src/tests/mocks/env/events/issue_comment_edited.json",
"src/tests/mocks/env/events/pull_request_opened.json",
"src/tests/mocks/env/events/pull_request_reopened.json",
"src/tests/mocks/env/events/pull_request_synchronize.json",
"src/tests/mocks/env/events/push.json",
"src/tests/mocks/env/events/push_merge.json",
"src/tests/mocks/env/events/schedule.json",
"src/tests/mocks/env/index.test.ts",
"src/tests/mocks/env/index.ts",
"src/tests/mocks/fs/index.test.ts",
"src/tests/mocks/fs/index.ts",
"src/tests/mocks/github/index.test.ts",
"src/tests/mocks/github/index.ts",
"src/tests/mocks/octokit/endpoint/merge.test.ts",
"src/tests/mocks/octokit/endpoint/merge.ts",
"src/tests/mocks/octokit/index.test.ts",
"src/tests/mocks/octokit/index.ts",
"src/tests/mocks/octokit/paginate.test.ts",
"src/tests/mocks/octokit/paginate.ts",
"src/tests/mocks/octokit/payloads.ts",
"src/tests/mocks/octokit/pulls/listFiles.test.ts",
"src/tests/mocks/octokit/pulls/listFiles.ts",
"src/tests/mocks/octokit/repos/compareCommits.test.ts",
"src/tests/mocks/octokit/repos/compareCommits.ts",
"src/tests/payloads.ts",
"src/typings/ActionError/index.d.ts",
"src/typings/ChangedFiles/index.d.ts",
"src/typings/CoreMock/index.d.ts",
"src/typings/FsMock/index.d.ts",
"src/typings/GitHubFile/index.d.ts",
"src/typings/GitHubMock/index.d.ts",
"src/typings/Inferred/index.d.ts",
"src/typings/Inputs/index.d.ts",
"src/typings/OctokitMock/index.d.ts",
"src/typings/TestInput/index.d.ts",
"tsconfig.build.json"
]

View File

@@ -0,0 +1 @@
.codecov.yml .eslintrc.yml .prettierrc.yml .releaserc.yml src/FilesHelper.ts src/GithubHelper.ts src/InputHelper.ts src/UtilsHelper.ts src/tests/FilesHelper.test.ts src/tests/GithubHelper.test.ts src/tests/InputHelper.test.ts src/tests/UtilsHelper.test.ts src/tests/main.test.ts src/tests/mocks/core/index.test.ts src/tests/mocks/core/index.ts src/tests/mocks/env/events/issue_comment_created.json src/tests/mocks/env/events/issue_comment_edited.json src/tests/mocks/env/events/pull_request_opened.json src/tests/mocks/env/events/pull_request_reopened.json src/tests/mocks/env/events/pull_request_synchronize.json src/tests/mocks/env/events/push.json src/tests/mocks/env/events/push_merge.json src/tests/mocks/env/events/schedule.json src/tests/mocks/env/index.test.ts src/tests/mocks/env/index.ts src/tests/mocks/fs/index.test.ts src/tests/mocks/fs/index.ts src/tests/mocks/github/index.test.ts src/tests/mocks/github/index.ts src/tests/mocks/octokit/endpoint/merge.test.ts src/tests/mocks/octokit/endpoint/merge.ts src/tests/mocks/octokit/index.test.ts src/tests/mocks/octokit/index.ts src/tests/mocks/octokit/paginate.test.ts src/tests/mocks/octokit/paginate.ts src/tests/mocks/octokit/payloads.ts src/tests/mocks/octokit/pulls/listFiles.test.ts src/tests/mocks/octokit/pulls/listFiles.ts src/tests/mocks/octokit/repos/compareCommits.test.ts src/tests/mocks/octokit/repos/compareCommits.ts src/tests/payloads.ts src/typings/ActionError/index.d.ts src/typings/ChangedFiles/index.d.ts src/typings/CoreMock/index.d.ts src/typings/FsMock/index.d.ts src/typings/GitHubFile/index.d.ts src/typings/GitHubMock/index.d.ts src/typings/Inferred/index.d.ts src/typings/Inputs/index.d.ts src/typings/OctokitMock/index.d.ts src/typings/TestInput/index.d.ts tsconfig.build.json

View File

@@ -0,0 +1 @@
.github/workflows/integration.yml,.github/workflows/pr.yml,.github/workflows/push.yml,.github/workflows/readme.md,.gitignore,.prettierignore,README.md,action.yml,jest.config.js,package.json,src/main.ts,tsconfig.json,yarn.lock
1 .github/workflows/integration.yml .github/workflows/pr.yml .github/workflows/push.yml .github/workflows/readme.md .gitignore .prettierignore README.md action.yml jest.config.js package.json src/main.ts tsconfig.json yarn.lock

View File

@@ -0,0 +1,15 @@
[
".github/workflows/integration.yml",
".github/workflows/pr.yml",
".github/workflows/push.yml",
".github/workflows/readme.md",
".gitignore",
".prettierignore",
"README.md",
"action.yml",
"jest.config.js",
"package.json",
"src/main.ts",
"tsconfig.json",
"yarn.lock"
]

View File

@@ -0,0 +1 @@
.github/workflows/integration.yml .github/workflows/pr.yml .github/workflows/push.yml .github/workflows/readme.md .gitignore .prettierignore README.md action.yml jest.config.js package.json src/main.ts tsconfig.json yarn.lock

View File

@@ -0,0 +1 @@
.eslintignore,.eslintrc.json,.prettierrc.json,Makefile,__tests__/main.test.ts,dist/index.js,src/ChangedFiles.ts,src/File.ts
1 .eslintignore .eslintrc.json .prettierrc.json Makefile __tests__/main.test.ts dist/index.js src/ChangedFiles.ts src/File.ts

View File

@@ -0,0 +1,10 @@
[
".eslintignore",
".eslintrc.json",
".prettierrc.json",
"Makefile",
"__tests__/main.test.ts",
"dist/index.js",
"src/ChangedFiles.ts",
"src/File.ts"
]

View File

@@ -0,0 +1 @@
.eslintignore .eslintrc.json .prettierrc.json Makefile __tests__/main.test.ts dist/index.js src/ChangedFiles.ts src/File.ts

View File

@@ -0,0 +1,157 @@
json_output='["functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda.json", "functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json", "functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json", "functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json"]'
csv_output="functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda.json,functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json,functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json,functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json"
txt_hard_output='functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda.json_<br />&nbsp;&nbsp;_functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json_<br />&nbsp;&nbsp;_functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json_<br />&nbsp;&nbsp;_functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json'
txt_output='functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda.json functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json functions/twitch-sadako/webhookSubscribeLambda/test/webhookSubscribeLambda_post.json'
testOutput () {
# read from var
if [ "${2}" == "json" ]; then
local output_length=$(echo "${1}" | jq '. | length')
elif [ "${2}" == "," ]; then
local output_length=$(awk -F"${2}" '{print NF-1}' <<< $(echo "${1}"))
else
local output_length=$(awk -F"${2}" '{print NF-1}' <<< $(echo "${1}"))
fi
echo "$output_length"
}
testFile () {
# read from file
if [ "${2}" == "json" ]; then
local file_length=$(jq -r '. | length' ${file}.json)
elif [ "${2}" == "," ]; then
local file_length=$(cat ${file}.csv | awk -F"${2}" '{print NF-1}')
else
local file_length=$(cat ${file}.txt | awk -F"${2}" '{print NF-1}')
fi
echo "$file_length"
}
cleanTest () {
rm -rf $1.json $1.csv $1.txt
}
prepareTest () {
# if prefix is simple setup test var and file
if [ "$1" == "simple_" ]; then
# declare a var named simple_FILE
if [ "$dev" == "dev" ]; then
local file_prefix="events/"
else
local file_prefix=""
fi
declare -n file=${1}${2}
if [ "$3" == "json" ]; then
echo ${json_output} > "${file_prefix}${!file}.json"
elif [ "$3" == "," ]; then
echo ${csv_output} > "${file_prefix}${!file}.csv"
elif [ "$3" == "_<br />&nbsp;&nbsp;_" ]; then
echo ${txt_hard_output} > "${file_prefix}${!file}.txt"
else
echo ${txt_output} > "${file_prefix}${!file}.txt"
fi
if [ "$4" == "json" ]; then
file=$json_output
elif [ "$4" == "," ]; then
file=$csv_output
elif [ "$4" == "_<br />&nbsp;&nbsp;_" ]; then
file=$txt_hard_output
else
file=$txt_output
fi
else
declare -n file=${2}
if [ "$dev" == "dev" ]; then
if [ "$4" == "json" ]; then
file="$(cat events/${!file}.json)"
elif [ "$4" == "," ]; then
file="$(cat events/${!file}.csv)"
else
file="$(cat events/${!file}.txt)"
fi
fi
fi
echo "${file}"
}
testResults () {
if [ "$1" == 'simple_' ]; then
expected=3
if [ "$2" == 'json' ]; then
expected=$(($expected+1))
fi
# echo $result
if [ "$3" != "$expected" ]; then
echo -e "\t\033[1;91mTest failure $5/($1)$4:'$2' { EXPECTED:$expected RECEIVED:$3 } \033[0m"
exit 1;
fi
else
if [ "$4" == 'files' ]; then
expected=72
elif [ "$4" == 'files_added' ]; then
expected=51
elif [ "$4" == 'files_modified' ]; then
expected=12
elif [ "$4" == 'files_removed' ]; then
expected=7
fi
if [ "$2" == 'json' ]; then
expected=$(($expected+1))
fi
if [ "$3" != "$expected" ]; then
echo -e "\t\033[1;91mTest failure $5/($1)$4:'$2' { EXPECTED:$expected RECEIVED:$3 } \033[0m"
exit 1;
fi
fi
echo -e "\t\033[1;92mTest success $5/($1)$4:'$2' { $expected == $3 } \033[0m"
}
runTest () {
for prefix in "simple_" "real"; do \
file=${1}
if [ "$prefix" == 'simple_' ]; then
if [ "$dev" == "dev" ]; then
file=events/${prefix}${1}
else
file=${prefix}${1}
fi
elif [ "$prefix" != 'simple_' ] && [ "$dev" == "dev" ]; then
file=events/${1}
fi
input="$(prepareTest $prefix $1 "$2" "$3")"
local file_length=$(testFile $file "${2}")
local output_length=$(testOutput "${input}" "${3}")
testResults $prefix "${2}" "$file_length" "$1" "fileOutput"
testResults $prefix "${3}" "$output_length" "$1" "output"
if [ "$prefix" == 'simple_' ]; then
cleanTest $file
fi
done
}
test () {
if [ "$dev" == "dev" ]; then
echo -e "\t\033[1;91mDEV MODE\033[0m"
fi
if [ "$output" == "" ] || [ "$fileOutput" == "" ]; then
for fileOutput in "json" "," " "; do \
echo -e "\033[1;92mFILEOUTPUT:'$fileOutput'\033[0m"
for output in "json" "," " "; do \
echo -e "\033[1;92mOUTPUT:'$output'\033[0m"
for file in "files" "files_modified" "files_added" "files_removed"; do \
echo -e "\033[1;92mFILE:'$file'\033[0m"
runTest $file "$fileOutput" "$output"
done
done
done
else
for file in "files" "files_modified" "files_added" "files_removed"; do \
echo -e "\033[1;92mFILE:'$file' with FILEOUTPUT:'$fileOutput' OUTPUT:'$output'\033[0m"
runTest $file "$fileOutput" "$output"
done
fi
}
dev=$1
test

View File

@@ -0,0 +1,26 @@
# Set to true to add reviewers to pull requests
addReviewers: true
# Set to true to add assignees to pull requests
addAssignees: author
# A list of reviewers to be added to pull requests (GitHub user name)
reviewers:
- trilom
# A number of reviewers added to the pull request
# Set 0 to add all the reviewers (default: 0)
numberOfReviewers: 0
# A list of assignees, overrides reviewers if set
# assignees:
# - assigneeA
# A number of assignees to add to the pull request
# Set to 0 to add all of the assignees.
# Uses numberOfReviewers if unset.
# numberOfAssignees: 2
# A list of keywords to be skipped the process that add reviewers if pull requests include it
# skipKeywords:
# - wip

View File

@@ -0,0 +1,42 @@
- name: pretty
description: Code that has been linted with eslint and prettier
color: 76edd1
- name: builds
description: Code that builds with yarn and tsc
color: 39bc44
- name: tested-unit
description: Code that has passed unit tests with jest
color: 9520bc
- name: tested-integration
description: Code that has passed integration tests with jest
color: fc5aee
- name: "doesnt read directions"
description: "Doesn't know how to read directions, please PR to develop"
color: d876e3
- name: automated pr
description: This was created by create-pull-request action
color: b9ff9b
- name: released
description: This has been released to NPM, Github Packages, and Actions Marketplace
color: ededed
- name: bug
description: Something isn't working
color: d73a4a
- name: duplicate
description: This issue or pull request already exists
color: cfd3d7
- name: enhancement
description: New feature or request
color: a2eeef
- name: "automated merge"
description: This was merged automatically
color: c2e0c6
- name: "hold merge"
description: This merge will be blocked from automerging until this label is removed
color: b60205
- name: lintdogged
description: Code that has been looked at by reviewdog
color: 5F422D
- name: failure
description: Something bad happened...
color: d93f0b

View File

@@ -0,0 +1,97 @@
# this will tag PRs that are ready for release and automerge them
name: Automerge Pull Requests
on:
# issue_comment:
# types: [created]
pull_request:
branches: [master, next, alpha, beta]
types: [labeled, closed]
jobs:
automerge:
name: automerge pr
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.TRILOM_BOT_TOKEN }}
pr_number: ${{ format('{0}{1}', github.event.pull_request.number, github.event.issue.number) }}
# if event type is non fork PR or comment on PR from trilom with '/release'
if: >-
(
github.event_name == 'pull_request'
&& github.event.pull_request.head.repo.full_name == github.repository
&& contains(github.event.pull_request.labels.*.name, 'pretty')
&& contains(github.event.pull_request.labels.*.name, 'builds')
&& contains(github.event.pull_request.labels.*.name, 'tested-unit')
&& contains(github.event.pull_request.labels.*.name, 'tested-integration')
&& contains(github.event.pull_request.labels.*.name, 'lintdogged')
&& ! contains(github.event.pull_request.labels.*.name, 'automated merge')
&& ! contains(github.event.pull_request.labels.*.name, 'hold merge')
) || (
github.event_name == 'issue_comment'
&& github.event.issue.pull_request != ''
&& contains(github.event.comment.body, '/release')
&& github.actor == 'trilom'
&& contains(github.event.issue.labels.*.name, 'pretty')
&& contains(github.event.issue.labels.*.name, 'builds')
&& contains(github.event.issue.labels.*.name, 'tested-unit')
&& contains(github.event.issue.labels.*.name, 'tested-integration')
&& contains(github.event.issue.labels.*.name, 'lintdogged')
&& ! contains(github.event.issue.labels.*.name, 'automated merge')
&& ! contains(github.event.issue.labels.*.name, 'hold merge'))
steps:
- name: if pretty, builds, tested merge automerge pr
# if pretty, builds, and tested labels then merge
uses: pascalgn/automerge-action@v0.7.5
env:
GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }}
MERGE_METHOD: merge
# this breaks the /release on issue_comment portion unless I get the head.ref from github-script
MERGE_COMMIT_MESSAGE: 'Auto merge from ${{ github.event.pull_request.head.ref }} PR#{pullRequest.number}: {pullRequest.title}'
UPDATE_METHOD: merge
MERGE_LABELS: 'pretty,builds,tested-unit,tested-integration,lintdogged'
UPDATE_LABELS: ''
# if failure, get payload of PR and notify
- name: if failure, get pr payload
uses: actions/github-script@0.8.0
id: pr_json
if: failure()
with:
github-token: ${{env.GITHUB_TOKEN}}
script: |
const result = await github.pulls.get({
owner: '${{ github.repository }}'.split('/')[0],
repo: '${{ github.repository }}'.split('/')[1],
pull_number: ${{ env.pr_number }}
})
return result.data;
- name: if failure, set pr payload outputs
if: failure()
id: pr
run: |
echo '${{ steps.pr_json.outputs.result }}' > pr.json
echo "::set-output name=user::$( jq -r '.user.login' pr.json )"
echo "::set-output name=head::$( jq -r '.head.repo.full_name' pr.json )"
echo "::set-output name=head_url::$( jq -r '.head.repo.html_url' pr.json )"
echo "::set-output name=base::$( jq -r '.base.repo.full_name' pr.json )"
echo "::set-output name=base_url::$( jq -r '.base.repo.html_url' pr.json )"
- name: if failure, notify
uses: peter-evans/create-or-update-comment@v1
if: failure()
with:
token: ${{ env.GITHUB_TOKEN }}
issue-number: ${{ env.pr_number }}
body: |
@${{ steps.pr.outputs.user }}, @trilom - it appears that there was an issue with the merge.
Head Repo/Branch: **[${{ steps.pr.outputs.head }}]**(${{ steps.pr.outputs.head_url }}) merge into **[${{ steps.pr.outputs.base }}]**(${{ steps.pr.outputs.base_url }})
## Event JSON
```json
${{ toJSON(steps.pr_json.outputs.result)}}
```
- uses: actions/github-script@0.6.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.issues.addLabels({owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number,
labels: ['automated merge']
})

View File

@@ -0,0 +1,19 @@
name: Close Pull Request
on:
pull_request:
branches-ignore: [master]
types: [opened, reopened]
jobs:
# close any fork PRs not opened by trilom to anything but master
close_pr:
name: close non master PRs from fork
runs-on: ubuntu-latest
if: (github.actor != 'trilom' || github.actor != 'trilom-bot') && github.event.pull_request.head.repo.full_name != github.repository
steps:
- uses: superbrothers/close-pull-request@v2
with:
comment: Please merge your code into master, this will trigger the desired merge workflow.
- uses: actions/github@v1.0.0
if: success()
with:
args: label "doesnt read directions"

View File

@@ -0,0 +1,106 @@
name: Integration Tests
on:
issue_comment:
types:
- created
schedule:
- cron: '0 0 * * *'
pull_request:
branches: [master]
push:
branches: [master]
jobs:
# always_job:
# name: Always run job
# runs-on: ubuntu-latest
# steps:
# - name: dump env
# env:
# GITHUB_CONTEXT: ${{ toJson(github) }}
# JOB_CONTEXT: ${{ toJson(job) }}
# STEPS_CONTEXT: ${{ toJson(steps) }}
# RUNNER_CONTEXT: ${{ toJson(runner) }}
# STRATEGY_CONTEXT: ${{ toJson(strategy) }}
# MATRIX_CONTEXT: ${{ toJson(matrix) }}
# run: |
# echo "GITHUB_EVENT_PATH\n$GITHUB_EVENT_PATH"
# echo "GITHUB_CONTEXT\n$GITHUB_CONTEXT"
# echo "JOB_CONTEXT\n$JOB_CONTEXT"
# echo "STEPS_CONTEXT\n$STEPS_CONTEXT"
# echo "RUNNER_CONTEXT\n$RUNNER_CONTEXT"
# echo "STRATEGY_CONTEXT\n$STRATEGY_CONTEXT"
# echo "MATRIX_CONTEXT\n$MATRIX_CONTEXT"
integration:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
event_type: ['push', 'pull_request']
output: ['json', ',', ' ', '_<br />&nbsp;&nbsp;_']
fileOutput: ['json', ',', ' ', '_<br />&nbsp;&nbsp;_']
if: >-
( startsWith(github.head_ref, '1.')
|| startsWith(github.head_ref, '2.'))
||
contains(github.event.head_commit.message, 'Release merge from')
||
github.event_name == 'schedule'
|| (
github.event_name == 'issue_comment'
&& github.event.issue.number != ''
&& contains(github.event.comment.body, '/integration')
&& github.actor == 'trilom')
steps:
# get pr number if exists
- id: pr
if: github.event_name == 'issue_comment'
run: |
pr=$(echo "${{github.event.comment.body}}" | sed 's|.*/integration||') &&
echo "::set-output name=pr::${pr}"
env:
comment: ${{ toJson(github) }}
# use pr number from integration command
- uses: actions/checkout@v2
if: github.event_name == 'issue_comment' && steps.pr.outputs.pr != ''
with:
ref: ${{format('refs/pull/{0}/head', steps.pr.outputs.pr )}}
# use the issue number if pr is blank
- uses: actions/checkout@v2
if: github.event_name == 'issue_comment' && steps.pr.outputs.pr == '' && github.event.issue.pull_request != ''
with:
ref: ${{format('refs/pull/{0}/head', github.event.issue.number )}}
- name: fail if no PR number and issue comment
if: github.event_name == 'issue_comment' && steps.pr.outputs.pr == '' && github.event.issue.pull_request == ''
run: |
echo "Please provide a PR number to use like /integration13 for PR# 13."
exit 1
- uses: actions/checkout@v2
if: github.event_name != 'issue_comment'
- run: yarn build-package
- uses: ./
id: file_changes_build_pr
if: matrix.event_type == 'pull_request'
with:
prNumber: 83
output: ${{ matrix.output }}
fileOutput: ${{ matrix.fileOutput }}
- uses: ./
id: file_changes_build_push
if: matrix.event_type == 'push'
with:
pushBefore: 6ac7697cd1c4f23a08d4d4edbe7dab06b34c58a2
pushAfter: 4ee1a1a2515f4ac1b90a56aaeb060b97f20c8968
output: ${{ matrix.output }}
fileOutput: ${{ matrix.fileOutput }}
- run: |
mv $HOME/files* .
chmod +x test.sh && ./test.sh
working-directory: .github/actions/integration
if: success()
env:
fileOutput: ${{ matrix.fileOutput }}
output: ${{ matrix.output }}
files: ${{ format('{0}{1}', steps.file_changes_build_pr.outputs.files, steps.file_changes_build_push.outputs.files ) }}
files_modified: ${{ format('{0}{1}', steps.file_changes_build_pr.outputs.files_modified, steps.file_changes_build_push.outputs.files_modified ) }}
files_added: ${{ format('{0}{1}', steps.file_changes_build_pr.outputs.files_added, steps.file_changes_build_push.outputs.files_added ) }}
files_removed: ${{ format('{0}{1}', steps.file_changes_build_pr.outputs.files_removed, steps.file_changes_build_push.outputs.files_removed ) }}

View File

@@ -0,0 +1,13 @@
name: Sync labels
on:
push:
branches: [master]
paths: [.github/labels.yml]
jobs:
make-labels:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: micnncim/action-label-syncer@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -0,0 +1,192 @@
name: Contribution Workflow
env:
isFork: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
on: [pull_request]
jobs:
add-reviews:
runs-on: ubuntu-latest
steps:
- uses: kentaro-m/auto-assign-action@v1.1.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# make sure we can build
build:
name: yarn install && tsc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: yarn build
- uses: actions/github-script@0.6.0
if: failure() && contains(env.isFork, 'false')
with:
github-token: ${{ secrets.TRILOM_BOT_TOKEN }}
script: |
if ('${{ contains(github.event.pull_request.labels.*.name, 'builds') }}' == 'true') {
github.issues.removeLabel({owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number,
name: 'builds'
})
}
- uses: actions/github-script@0.6.0
if: contains(env.isFork, 'false')
with:
github-token: ${{ secrets.TRILOM_BOT_TOKEN }}
script: |
github.issues.addLabels({owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number,
labels: ['builds']
})
# unit test with jest
test-unit:
name: jest unit tests
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v2
- run: yarn build
- run: yarn test-coverage
- run: bash <(curl -s https://codecov.io/bash)
if: contains(env.isFork, 'false')
- uses: actions/github-script@0.6.0
if: failure() && contains(env.isFork, 'false')
with:
github-token: ${{ secrets.TRILOM_BOT_TOKEN }}
script: |
if ('${{ contains(github.event.pull_request.labels.*.name, 'tested-unit') }}' == 'true') {
github.issues.removeLabel({owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number,
name: 'tested-unit'
})
}
- uses: actions/github-script@0.6.0
if: contains(env.isFork, 'false')
with:
github-token: ${{ secrets.TRILOM_BOT_TOKEN }}
script: |
github.issues.addLabels({owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number,
labels: ['tested-unit']
})
# integration test with jest
test-integration:
name: jest integration tests
runs-on: ubuntu-latest
needs: test-unit
steps:
- uses: actions/checkout@v2
- run: yarn build
- run: yarn test-integration
env:
GITHUB_TOKEN: ${{ secrets.TRILOM_BOT_TOKEN }}
- uses: actions/github-script@0.6.0
if: failure() && contains(env.isFork, 'false')
with:
github-token: ${{ secrets.TRILOM_BOT_TOKEN }}
script: |
if ('${{ contains(github.event.pull_request.labels.*.name, 'tested-integration') }}' == 'true') {
github.issues.removeLabel({owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number,
name: 'tested-integration'
})
}
- uses: actions/github-script@0.6.0
if: contains(env.isFork, 'false')
with:
github-token: ${{ secrets.TRILOM_BOT_TOKEN }}
script: |
github.issues.addLabels({owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number,
labels: ['tested-integration']
})
# lint code in github check
lintdog-fork:
name: eslintdog (reviewdog)
runs-on: ubuntu-latest
needs: build
if: github.event.pull_request.head.repo.full_name != github.repository
steps:
- uses: actions/checkout@v2
- run: yarn build
- name: Lint and report
uses: reviewdog/action-eslint@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-check
eslint_flags: '--ext .ts ./'
# lint code and comment back if possible
lintdog:
name: eslintdog (reviewdog)
runs-on: ubuntu-latest
needs: build
if: github.event.pull_request.head.repo.full_name == github.repository
steps:
- uses: actions/checkout@v2
- run: yarn build
- name: Lint and report
uses: reviewdog/action-eslint@v1
with:
github_token: ${{ secrets.TRILOM_BOT_TOKEN }}
reporter: github-pr-review
eslint_flags: '--ext .ts ./'
- uses: actions/github-script@0.6.0
if: failure()
with:
github-token: ${{ secrets.TRILOM_BOT_TOKEN }}
script: |
if ('${{ contains(github.event.pull_request.labels.*.name, 'lintdogged') }}' == 'true') {
github.issues.removeLabel({owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number,
name: 'lintdogged'
})
}
- uses: actions/github-script@0.6.0
with:
github-token: ${{ secrets.TRILOM_BOT_TOKEN }}
script: |
github.issues.addLabels({owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number,
labels: ['lintdogged']
})
# format and push code back if not forked branch
format_check_push:
name: prettier
runs-on: ubuntu-latest
needs: [lintdog, lintdog-fork]
if: always()
env:
GITHUB_TOKEN: ${{ secrets.TRILOM_BOT_TOKEN }}
steps:
- uses: actions/checkout@v2 # checkout for forks
if: contains(env.isFork, 'true')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v2 # checkout for PR
if: contains(env.isFork, 'false')
with:
token: ${{ secrets.TRILOM_BOT_TOKEN }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
- run: yarn build
- run: yarn format-check
- name: yarn format and push code if check failed
if: failure() && github.actor != 'trilom-bot' && contains(env.isFork, 'false')
env:
GITHUB_TOKEN: ${{ secrets.TRILOM_BOT_TOKEN }}
run: |
yarn format
sudo yarn clean
git config --local user.email "trilom-bot@trailmix.me"
git config --local user.name "trilom-bot"
git add -A
git diff-index --quiet HEAD || git commit -m "Adding format changes 🤖" -a
git push https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git HEAD:refs/heads/${{ github.head_ref }} && exit 0
- uses: actions/github-script@0.6.0
if: failure() && contains(env.isFork, 'false')
with:
github-token: ${{ secrets.TRILOM_BOT_TOKEN }}
script: |
if ('${{ contains(github.event.pull_request.labels.*.name, 'pretty') }}' == 'true') {
github.issues.removeLabel({owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number,
name: 'pretty'
})
}
- uses: actions/github-script@0.6.0
if: contains(env.isFork, 'false')
with:
github-token: ${{ secrets.TRILOM_BOT_TOKEN }}
script: |
github.issues.addLabels({owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number,
labels: ['pretty']
})

View File

@@ -0,0 +1,259 @@
# if a push comes in then this will test it for a release and create a release PR if needed
name: Push to release branches
on:
push:
branches: [master, next, alpha, beta]
tags-ignore: ['**']
jobs:
# semantic release an auto-merged branch to github package repo, npm, github actions
release:
name: Release to NPM, Github, Github Actions Marketplace
runs-on: ubuntu-latest
needs: [build, test-unit, test-integration, lintdog]
if: >
github.actor != 'semantic-release-bot'
&& ( (contains(github.event.head_commit.message, 'trilom/1.')
|| contains(github.event.head_commit.message, 'trilom/2.'))
&& ! contains(github.event.head_commit.message, 'chore(release):'))
env:
GITHUB_TOKEN: ${{ secrets.TRILOM_BOT_TOKEN }}
SEMANTIC_RELEASE_PACKAGE: '@${{ github.repository }}'
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: semantic-release
uses: cycjimmy/semantic-release-action@v2
id: semantic
with:
semantic_version: 15.14.0
extra_plugins: |
@semantic-release/git@7.0.18
@semantic-release/changelog
semantic-release-slack-bot
dry_run: false
- name: echo release outputs
if: steps.semantic.outputs.new_release_published == 'true'
run: |
echo ${{ steps.semantic.outputs.new_release_version }}
echo ${{ steps.semantic.outputs.new_release_major_version }}
echo ${{ steps.semantic.outputs.new_release_minor_version }}
echo ${{ steps.semantic.outputs.new_release_patch_version }}
- name: Setup Node.js with GitHub Package Registry
if: steps.semantic.outputs.new_release_published == 'true'
uses: actions/setup-node@v1
with:
node-version: 12
registry-url: 'https://npm.pkg.github.com'
scope: trilom
- name: Publish To GitHub Package Registry
if: steps.semantic.outputs.new_release_published == 'true'
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ env.GITHUB_TOKEN }}
# create PR from release branch to master to prepare for release
check-release:
name: Check if we need to release
runs-on: ubuntu-latest
needs: [build, test-unit, test-integration, lintdog]
if: >
github.actor != 'semantic-release-bot'
&& ! contains(github.event.head_commit.message, 'trilom/1.')
&& ! contains(github.event.head_commit.message, 'trilom/2.')
&& ! contains(github.event.head_commit.message, 'chore(release):')
env:
GITHUB_TOKEN: ${{ secrets.TRILOM_BOT_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: commit format changes and create authors file
run: |
git config --local user.email "trilom-bot@trailmix.me"
git config --local user.name "trilom-bot"
yarn build
yarn format
git add -A
git diff-index --quiet HEAD || git commit -m "Adding format changes 🤖" -a
yarn build-release
git add -A
git diff-index --quiet HEAD || git commit -m "Adding release changes ⚙️" -a
git log --format='%aN <%aE>%n%cN <%cE>' | sort -u > AUTHORS
sed -i '/trilom-bot/d' AUTHORS
sed -i '/semantic-release-bot/d' AUTHORS
sed -i '/carnoco@gmail.com/d' AUTHORS
sed -i '/GitHub <noreply@github.com>/d' AUTHORS
sed -i '/dependabot/d' AUTHORS
echo -e "\r\n$(date)" >> AUTHORS
git add -A
git diff-index --quiet HEAD || git commit -m "Updating AUTHORS 📓" -a
# see if we need to release, if so create a automerge release PR and notify the original creator
- name: semantic-release
uses: cycjimmy/semantic-release-action@v2
id: semantic
env:
SEMANTIC_RELEASE_PACKAGE: '@${{ github.repository }}'
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
with:
semantic_version: 15.14.0
extra_plugins: |
@semantic-release/git@7.0.18
@semantic-release/changelog
semantic-release-slack-bot
dry_run: true
- name: echo release outputs
if: steps.semantic.outputs.new_release_published == 'true'
run: |
echo ${{ steps.semantic.outputs.new_release_version }}
echo ${{ steps.semantic.outputs.new_release_major_version }}
echo ${{ steps.semantic.outputs.new_release_minor_version }}
echo ${{ steps.semantic.outputs.new_release_patch_version }}
- name: push potential formatting changes since there is no release
if: steps.semantic.outputs.new_release_published == 'false'
run: |
git config --local user.email "trilom-bot@trailmix.me"
git config --local user.name "trilom-bot"
git push -f https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git HEAD:${{ github.ref }}
- name: get changed files and format for automerge PR body
id: file_changes
uses: trilom/file-changes-action@master
if: steps.semantic.outputs.new_release_published == 'true'
with:
githubToken: ${{ env.GITHUB_TOKEN }}
output: '_<br />&nbsp;&nbsp;_'
- name: get original PR number
uses: actions/github-script@0.6.0
id: pr
if: steps.semantic.outputs.new_release_published == 'true'
with:
github-token: ${{env.GITHUB_TOKEN}}
result-encoding: string
script: |
const result = await github.repos.listPullRequestsAssociatedWithCommit({
owner: context.payload.repository.owner.name,
repo: context.payload.repository.name,
commit_sha: context.payload.head_commit.id
})
if (result.data.length >= 1) {
return result.data[0].number
} else return 87
- name: get original PR user
uses: actions/github-script@0.6.0
id: login
if: steps.pr.outputs.result != 0 && steps.semantic.outputs.new_release_published == 'true'
with:
github-token: ${{env.GITHUB_TOKEN}}
result-encoding: string
script: |
const result = await github.pulls.get({
owner: context.payload.repository.owner.name,
repo: context.payload.repository.name,
pull_number: ${{ steps.pr.outputs.result }}
})
if (result.data.user === true && result.data.user.login === true) {
return result.data.user.login
} else return 'trilom';
- name: create release PR
id: create-pr
uses: peter-evans/create-pull-request@v2
if: steps.semantic.outputs.new_release_published == 'true'
with:
token: ${{ env.GITHUB_TOKEN }}
commit-message: '${{ github.event.head_commit.message }}'
committer: trilom-bot <trilom-bot@trailmix.me>
author: ${{ steps.login.outputs.result }} <${{ steps.login.outputs.result }}@users.noreply.github.com>
title: 'releases/v${{ steps.semantic.outputs.new_release_version }} [@${{ steps.login.outputs.result }}] - ${{ github.event.head_commit.message }}'
body: |
# @${{ steps.login.outputs.result }} would like to merge into file-changes-action
[**compare link**](${{ github.event.compare }})
## Commits
```json
${{ toJSON(github.event.commits)}}
```
## Files
&nbsp;&nbsp;_${{ steps.file_changes.outputs.files}}_
## Files modified
&nbsp;&nbsp;_${{ steps.file_changes.outputs.files_modified}}_
## Files added
&nbsp;&nbsp;_${{ steps.file_changes.outputs.files_added}}_
## Files removed
&nbsp;&nbsp;_${{ steps.file_changes.outputs.files_removed}}_
labels: 'automated pr'
assignees: '${{ steps.login.outputs.result }},trilom'
reviewers: trilom
branch: '${{ steps.semantic.outputs.new_release_version }}'
- name: notify initial commiter of change
uses: peter-evans/create-or-update-comment@v1
if: steps.login.outputs.result != '' && steps.semantic.outputs.new_release_published == 'true'
with:
token: ${{ env.GITHUB_TOKEN }}
issue-number: ${{ steps.pr.outputs.result }}
body: |
Hey @${{ steps.login.outputs.result }},
This merge has triggered a release, hurray!
[Here you can follow the release.](https://github.com/trilom/file-changes-action/pull/${{ steps.create-pr.outputs.pr_number }})
Please use this new **Pull Request** if there are any issues to communicate further.
Thanks!
# - uses: actions/github-script@0.6.0
# if: steps.create-pr.outputs.pr_number != '' && steps.semantic.outputs.new_release_published == 'true'
# with:
# github-token: ${{ secrets.TRILOM_BOT_TOKEN }}
# script: |
# github.issues.addLabels({owner: context.repo.owner, repo: context.repo.repo, issue_number: ${{ steps.create-pr.outputs.pr_number }},
# labels: ['${{ steps.semantic.outputs.new_release_version }}']
# })
# make sure we can build
build:
name: yarn install && tsc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: yarn build
# unit test with jest
test-unit:
name: jest unit tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: yarn build
- run: yarn test-coverage
- run: bash <(curl -s https://codecov.io/bash)
# integration test with jest
test-integration:
name: jest integration tests
needs: test-unit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: yarn build
- run: yarn test-integration
env:
GITHUB_TOKEN: ${{ secrets.TRILOM_BOT_TOKEN }}
# lint code and comment back if possible
lintdog:
name: eslintdog (reviewdog)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Lint and report push
uses: reviewdog/action-eslint@v1
with:
github_token: ${{ secrets.TRILOM_BOT_TOKEN }}
reporter: github-check
eslint_flags: 'src/**/*.ts'

View File

@@ -0,0 +1,86 @@
# Workflow Information
- [Workflow Information](#workflow-information)
- [Overview](#overview)
- [Schedule](#schedule)
- [Issue Comment](#issue-comment)
- [Pull Request](#pull-request)
- [Push](#push)
# Overview
1. Make a **Pull Request** from your forked branch (forked from _master_) with changes to _trilom/file-changes-action/master_ branch.
2. Once merged into master this will lint the code and provide output in the checks, update the AUTHORS file, and package _dist/_. If there is a release then this will create a **Pull Request** from the _v\*\*_ branch to _master_ and a comment will be made on the original **Pull Request** notifying contributors. If there is not a release the changes will be **push**ed to _master_.
3. In the **Pull Request** linting and testing will be performed again. If _linted_, _tested-unit_, _tested-integration_, _builds_, and _lintdogged_ label exist and _hold merge_ does not the release will be merged into _master_.
4. Once merged this time [semantic-release](https://github.com/semantic-release/semantic-release) will run to create the Github Release, release notes, changelog, notify Slack, package and deploy to NPM and Github Package Repo, label the release, and notify any issues of it's deployment.
5. After user semantic-release-bot commits the release commit, this code will be pushed to the release branch.
## Schedule
- Everyday at 5:00 AM GMT:
- Run integration tests via Github Actions.
## Issue Comment
- When any `created` **Issue Comment** type runs on a **Pull Request** from trilom with the body of `/integrationNUMBER`(**integration.yml**):
- Run integration tests via Github Actions with PR.
- **NOT IMPLEMENTED** When any `created` **Issue Comment** type runs on a **Pull Request** from trilom with the body of `/release`(**automerge.yml**):
- If _linted_, _tested-unit_, _tested-integration_, _builds_, _lintdogged_, and _hold merge_ or _automated merge_ **does not** labels exist:
- Merge the PR and add the _automated merge_ label
- If failure, put some output on the original PR.
## Pull Request
- When any `opened`, `reopened`, or `synchronize` **Pull Request** type runs to the _master_ branch from a _v\*\*_ branch:
- Run integration tests via Github Actions.
- When any `opened` or `reopened` **Pull Request** type runs on any branch other than _master_ from anyone other than trilom or trilom-bot from a forked branch(**close_pr.yml**):
- Close the **Pull Request** and put the dunce cap on.
- When any `labeled`, or `closed` **Pull Request** type runs on _master_, _next_, _alpha_, or _beta_(**automerge.yml**):
- If _linted_, _tested-unit_, _tested-integration_, _builds_, _lintdogged_, and _hold merge_ or _automated merge_ **does not** labels exist:
- Merge the PR and add the _automated merge_ label
- If failure, put some output on the original PR.
- When any `opened`, `reopened`, or `synchronize` **Pull Request** type runs(**pr.yml**):
- Assign it to trilom (**add-reviews**)
- Build code with `yarn build` which runs `yarn` and `tsc` (**build**)
- Label with builds if passing and on inner workspace
- Test code with `yarn test-coverage` which runs `jest --coverage` (**test-unit**)
- Label with tested-unit if passing and on inner workspace
- Test code with `yarn test-integration` which runs `jest -c jest.config.integration.js` (**test-integration**)
- Label with tested-integration if passing and on inner workspace
- Test code with eslint reviewdog and report back if inner workspace (**lintdog**)
- Label with pretty if passing and on inner workspace
- Check format of code with `yarn format-check` which runs `prettier --check` (**format_check_push**)
- If:
- Fork then pull **Pull Request** github.ref with GITHUB_TOKEN
- Inner **Pull Request** then pull HEAD repo ref
- Build code with `yarn build` which runs `yarn` and `tsc`
- If format-check succeeds and on inner workspace
- Label with pretty
- If format-check fails and on inner workspace and actor is not trilom-bot
- Run `yarn format` which runs `prettier --write`
- Clean build files with `yarn clean`
- Commit the format changes as trilom-bot to **Pull Request** head
## Push
- When any **Push** type runs to _master_:
- Run integration tests via Github Actions.
- When any **Push** type runs to _master_, _next_, _alpha_, or _beta_(**push.yml**):
- Build code with `yarn build` which runs `yarn` and `tsc` (**build**)
- Test code with `yarn test-coverage` which runs `jest` (**test**)
- Test code with eslint reviewdog and report back with github checks(**lintdog**)
- When any **Push** type runs to _master_, _next_, _alpha_, or _beta_ with a head_commit message **NOT** containing 'trilom/v1.' or 'trilom/v2.':
- Build with `yarn build-release` which runs `yarn && tsc --build tsconfig.build.json && ncc build --minify` to build the **dist/\*\*.js** files, update **AUTHORS**, format **src/\*\*.ts** files and commit.
- Test [semantic-release](https://github.com/semantic-release/semantic-release) if a release is ready then create a **Pull Request**
- Echo release outputs
- Get changed files with [file-changes-action](https://github.com/trilom/file-changes-action) and build a message to post to new **Pull Request**
- Comment on the original **Pull Request** with the new details of the release.
- If no release, then **Push** changes directly back to master.
- When any **Push** type runs to _master_, _next_, _alpha_, or _beta_ with a head_commit message containing 'trilom/v1.' or 'trilom/v2.':
- Run [semantic-release](https://github.com/semantic-release/semantic-release) to prepare Github Release, release notes, changelog, notify Slack, package and deploy to NPM and Github Package Repo, label the release, and notify any issues of it's deployment.
- When any **Push** type runs to _master_, _next_, _alpha_, or _beta_ from semantic-release-bot with a head_commit message containing 'chore(release):':
- Get the **Pull Request** number from the **Push** and push the semantic-release changes to the tagged release branch.

View File

@@ -0,0 +1,100 @@
lib
**/outputs/**
# Dependency directory
node_modules
# Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
jspm_packages/
# # TypeScript v1 declaration files
# typings/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# OS metadata
.DS_Store
Thumbs.db
# Ignore built ts files
__tests__/runner/*

View File

@@ -0,0 +1,2 @@
/dist
/node_modules

View File

@@ -0,0 +1,9 @@
printWidth: 80
tabWidth: 2
useTabs: false
semi: false
singleQuote: true
trailingComma: none
bracketSpacing: false
arrowParens: avoid
parser: typescript

View File

@@ -0,0 +1,62 @@
branches:
- "+([1-9])?(.{+([1-9]),x}).x"
- master
- next
- name: alpha
prerelease: true
- name: beta
prerelease: true
dryRun: false
plugins:
- "@semantic-release/commit-analyzer"
- "@semantic-release/release-notes-generator"
-
- semantic-release-slack-bot
- notifyOnSuccess: true
notifyOnFail: true
markdownReleaseNotes: true
onSuccessTemplate:
text: "$package_name version v$npm_package_version!\n\n$release_notes"
-
- "@semantic-release/changelog"
- changelogFile: CHANGELOG.md
- "@semantic-release/npm"
-
- "@semantic-release/github"
- assets:
- path: "dist/**/*.js"
label: Packaged JS Code
successComment: >
# 🎉🦍🎉 This <% issue.pull_request ? 'pull request' : 'issue' %>
has been resolved in version *<%= nextRelease.version %>* at
*trilom/file-changes-action@<%= nextRelease.gitTag %>*
` - name: File Changes Action
uses: trilom/file-changes-action@<%= nextRelease.gitTag %>`
## Release<%= _.size(releases) > 1 ? 's' : '' %>
<% _.forEach(releases, function(release) { %>
\n\t\t**Release Name:** [<%= release.name %>](<%= release.url %>)<% }); %>
\n\n ## Commits<% _.forEach(commits, function(commit) { %>
\n\t\t@<%= commit.author %> - [_<%= commit.message %>_](https://github.com/trilom/file-changes-action/commit/<%= commit.hash %>)<% }); %>"
**Release Name:** [<%= release.name %>](<%= release.url %>)<% }); %>
## Commits
<% _.forEach(commits, function(commit) { %>
@<%= commit.author.name %> - [_<%= commit.message.toString().replace(/[()\\\/_\*]/g, '') %>_](https://github.com/trilom/file-changes-action/commit/<%= commit.hash %>)<% }); %>
labels: [failure]
releasedLabels: ["releases/${nextRelease.gitTag}"]
assignees: trilom
-
- "@semantic-release/git"
- assets: [CHANGELOG.md, package.json, yarn.lock]
message: >
chore(release): 🎉🦍🎉 Release <%= nextRelease.version %> -
<%= new Date().toLocaleDateString('en-US', {year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric' }) %> [skip ci]
`- name: File Changes Action
uses: trilom/file-changes-action@<%= nextRelease.gitTag %>`
<%= nextRelease.notes %>

View File

@@ -0,0 +1,5 @@
Bryan Killian <bryan.v.killian@gmail.com>
Daniel Orner <daniel.orner@wishabi.com>
Sergey Kluchkovsky <kaineer@gmail.com>
Thu May 21 14:42:36 UTC 2020

Some files were not shown because too many files have changed in this diff Show More