* refactor: sync Scoping tree with Forms data
* refactor: update scoping tree
* refactor: update scope tree logic to be more UX friendly
* test: fix tests
* lint: fix lin CR notes
* fix: fix jsx
* refactor: revert type changes
* refactor: revert type changes
* lint: fix lint
* lint: fix lint
* test: fix test
* fix: process initial dashboard case
* lint: fix lint / tests
* 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>
* 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>
* 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>
* 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
* 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
* 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
* 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
* 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!
* 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.
* 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