* 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
* 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
* [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.
* 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()
* [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.
* 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