Commit Graph

49 Commits

Author SHA1 Message Date
Ville Brofeldt
9955156265 feat(query): add new fields to QueryContext and QueryObject (#583)
* feat: add new fields to QueryContext and QueryObject

* linting

* remove change to package.json
2021-11-26 11:46:24 +08:00
Krist Wongsuphasawat
bdb0f50874 feat(chart): adjust chartclient to point to new endpoints (#551)
* feat: adjust to new endpoints

* fix: unit tests

* fix: tests

* fix: unit tests

* fix: remove unused
2021-11-26 11:46:22 +08:00
Krist Wongsuphasawat
67e15d011a fix: hundreds lint warning (#447)
* fix: lint

* fix: more lints

* fix: more lints

* fix: comment

* fix: any

* fix: ChartDataProvider test lint

* fix: lints

* fix: chartprops
2021-11-26 11:46:12 +08:00
Ville Brofeldt
4322d1cd39 feat(query): Add force to QueryContext (#445)
* Add force to QueryContext

* fix tests

* fix test
2021-11-26 11:46:11 +08:00
Krist Wongsuphasawat
62b2a50faf fix: lint errors (#420)
* fix: lint errors

* fix: lint

* fix: more lints

* fix: broken test

* fix: singleton type
2021-11-26 11:46:11 +08:00
Krist Wongsuphasawat
2be7b4ba0a feat(control-utils): add packages control-utils (#417)
* feat(control-utils): add package

* fix: remove export

* fix: export

* fix: dep version
2021-11-26 11:46:09 +08:00
David Aaron Suddjian
fb4664235b feat(chart): add shared plugin controls utilities (#389)
* add shared controls utilities

* accidentally yarn lock

* bring in date formatting fix

* turn off no-plusplus rule

* address PR feedback, reorganize modules a bit

* turn off no-plusplus

* bring in new external changes

* superset-ui packages should be peer dependencies

* add tests for ported in code
2021-11-26 11:46:07 +08:00
Jesse Yang
9b009e7198 feat(table): enable table filter and better typing (#344) 2021-11-26 11:46:06 +08:00
Jianchao Yang
23f52286cd build: try to merge superset-ui-plugins (#333) 2021-11-26 11:45:04 +08:00
Jesse Yang
4d0d05f71f Revert "build: try to merge superset-ui-plugins"
This reverts commit 823126633ea0743254f78b0a74fe83c68ee6438f.
2021-11-26 11:45:03 +08:00
Jesse Yang
1238e78e2d build: try to merge superset-ui-plugins 2021-11-26 11:45:03 +08:00
Erik Ritter
06d7ad571a feat: add NoResultsComponent to charts (#305) 2021-11-26 11:45:02 +08:00
Krist Wongsuphasawat
6ae05114ca build: fix lints (#289)
* build: remove no-test-callback override

* fix: no-callback auto-fix

* fix: lint issues import/extension
2021-11-26 11:45:01 +08:00
Krist Wongsuphasawat
97f18e686b build: migrate build tool to nimbus (#281)
* build: migrate to nimbus

* build: update gitignore

* build: update package.json

* build: update travis config

* build: lower engine requirements

* build: adjust typescript config

* fix: errors

* fix: change yarn run to yarn

* fix: lint

(cherry picked from commit 22328c349c9b987eecc5e46fb306e459b6a9cadc)

* fix: eslint rules

* fix: lint

* fix: setup file

* fix: more lint

* fix: lint - pass build and lint

* fix: test setup and babel transform runtime

(cherry picked from commit dd55fd88ced045a8f83ca771705721bf2f930ff0)

* fix: timeout issues

* fix: some broken test due to jest.setTimeout

* fix: computeMaxFontSize tests

* fix: createLoadableRenderer test

* fix: loadble and broken tests due to warnings

* fix: test coverage

* fix: coverage of generator tests

* fix: all unit tests pass

* fix: remove yeutech-lab/react-loadable
2021-11-26 11:45:00 +08:00
Krist Wongsuphasawat
e6c3fad721 build: suppress logs from intentionally thrown/caught errors (#221) 2021-11-26 11:44:57 +08:00
Krist Wongsuphasawat
095c1839b2 feat: add Wrapper support and bounding box for dynamic width/height (#215)
* feat: add Wrapper support and bounding box for dynamic width/height

* fix: unit tests

* fix: address comments and update unit tests

* docs: update storybook
2021-11-26 11:44:56 +08:00
Krist Wongsuphasawat
3df26ae76d refactor(chart): remove and rename fields in ChartProps (#174)
* refactor(chart): remove and remove fields in ChartProps

BREAKING CHANGE: ChartProps fields are removed and renamed.

* test: update tests

* fix: unit tests

* fix: type
2021-11-26 11:44:54 +08:00
Krist Wongsuphasawat
a7a12c79a2 feat: add control panel support to chart plugin (#203) 2021-11-26 11:44:54 +08:00
Krist Wongsuphasawat
0fb91c0e6b feat: deprecate old SuperChart API that accepts chartProps (#202)
BREAKING CHANGE: No longer accept chartProps as a single prop in <SuperChart>. Developers must specify each field in chartProps individually.
2021-11-26 11:44:54 +08:00
Krist Wongsuphasawat
9decd815ec feat: split superset-ui/query from superset-ui/chart (#178)
BREAKING CHANGE: some api and types are removed from @superset-ui/chart and moved to /query

* feat: split superset-ui/query from superset-ui/chart

* fix: update references

* test: fix broken tests

* refactor: rename ChartFormData to QueryFormData

* fix: rename file

* fix: remove annotation layer from query package
2021-11-26 11:44:54 +08:00
Krist Wongsuphasawat
e48b445bfe fix: eslint issues (#198) 2021-11-26 11:44:53 +08:00
Erik Ritter
3d6ef61658 fix: move eslint disable comment in reactify test (#184) 2021-11-26 11:44:53 +08:00
Krist Wongsuphasawat
34d475fac7 feat: add error boundary and responsiveness to SuperChart (#175)
* feat: add fallback component

* feat: add superchart shell

* feat: add vx/responsive type declaration

* fix: path and dependencies

* test: add unit tests

* test: add more tests

* docs: add storybook

* test: fix FallBackComponent test

* feat: make fallback accepts width and height

* test: reach 100%

* fix: test

* fix: add more checks

* refactor: rename SuperChartKernel to SuperChartCore

* refactor: separate backward-compatibility code into another wrapper
2021-11-26 11:44:52 +08:00
Krist Wongsuphasawat
4f23311813 test: extract mock plugins into separate file (#172)
* test: extract mock plugins into separate file

* fix: use constants

* fix: test coverage
2021-11-26 11:44:51 +08:00
Krist Wongsuphasawat
09f9405334 feat: allow chart plugin to be unregistered (#168)
* feat: allow chart plugin to be unregistered

* test: address edge cases
2021-11-26 11:44:51 +08:00
Krist Wongsuphasawat
c9e3e73f2e feat: update ChartFormData and QueryObject to support filters. (#164)
* feat: update types to include filters

* refactor: remove namespace

* refactor: split function

* feat: add filter processing and refactor

* feat: revise metrics processing

* test: add unit tests

* refactor: move type files back

* test: add unit tests

* fix: unit test

* fix: remove exports

* docs: add field info

* fix: type check undefined

* docs: add more comments

* build: speed up storybook build
2021-11-26 11:44:50 +08:00
Christine Chambers
2ac3c082ab feat: callback hooks for Reactified components (#131)
* feat: callback hooks for Reactified components

Add a second argument to the exported `reactify` method to allow wrapped component to pass in callback hooks for React lifecycle methods. This PR only exposes the willUnmount hook. Other hooks can be added in the future.

* fix: improve code coverage

* chore: rename willUnmount hook to componentWillUnmount
2021-11-26 11:44:47 +08:00
Christine Chambers
f71180e251 Revert "Handle BigNumber conversions in JSON properly (without loss of precision) (#71)" (#126)
* revert: revert "Handle BigNumber conversions in JSON properly (without loss of precision) (#71)"

This reverts commit e3866129b2b3cbd6e099fe4ab66319c4fe6ae485.

* fix: type errors

* fix: typescript errors in superset-ui-demo
2021-11-26 11:44:47 +08:00
Conglei
fdd10fa062 fix: 🐛 Fixed type definition for chart plugin (#123)
* fix: 🐛 Fixed typ definiton for chart plugin

This PR is to fix the type definiton for transformProps and LoadData.

* fix: 🐛 Type compatibility

Change the output of preTransformProps to ChartProps

* fix: 🐛 Fixed Test

Fixed the test according to the changes:
2021-11-26 11:44:46 +08:00
Chris Williams
fea7c589f5 chore(chart): remove faux @superset-ui/core TS declaration (#121)
* chore(chart): remove faux @superset-ui/core TS declaration

* test(chart): test all ChartPlugin.register() branches

* refactor(chart): support loaders that return esmodules

* refactor(chart): rename ChartMetaDataConfig => ChartMetadataConfig

* test(chart): fix loader test + branch coverage

* test(chart): hit all branches in sanitizeLoader

* refactor(chart): use ChartMetadata in registry
2021-11-26 11:44:45 +08:00
Chris Williams
061faab818 feat(chart): Add <ChartDataProvider /> (#120)
* docs: [demo][connection] add ConfigureCORS story for testing CORS

* docs: [demo][ConfigureCORS] better instructions

* feat: [chart] add mvp DataProvider component

* docs: better CORS story, update webpack for @babel/polyfill

* docs: [chart] add DataProvider story with WordCloudPlugin

* docs: [chart] add DataProvider deets to Readme

* test(chart): move SuperChart.test.jsx => .tsx and instead use @ts-ignore

* fix(connection): point interface.request to client.request

* feat(chart): re-write DataProvider as ChartDataProvider

* docs(demo): re-write LegacyWordCloudStories => ChartDataProviderStories

* refactor(chart): use IDENTITY as ChartPlugin buildQuery default

* feat(chart): support legacy + v1 loadQueryData endpoints in ChartClient

* docs(demo): add sankey + sunburst plugins to ChartDataProvider story

* style(chart): run prettier on SuperChart

* feat(chart): export QueryData type from models/ChartProps

* feat(chart): export Metrics and BaseFormData from types/ChartFormData

* feat(chart): add request option overrides in ChartDataProvider

* fix(chart): use Partial<> for ChartClient request option overrides

* test(chart): add ChartDataProvider tests

* build: include demo pkg in type script

* build: move storybook/mocks to test/fixtures

* build: move json-bigint TS declaration to root

* test(chart): clean up ChartDataProvider test TS

* chore(chart): lint fix SuperChart

* fix(chart): set ChartPlugin.buildQuery default back to undefined

* test(connection): fix expected Client.get call count

* test(chart): fix ChartClient tests and add test for legacy API

* fix(chart): uninitialized typo, change fetching => loading

* docs(chart): update README to final ChartDataProvider API

* docs(chart): fix typo

* test(chart): get ChartDataProvider to one hundo

* feat(chart): add and export more meaningful Datasource type

* feat(chart): use Datasource type in ChartClient
2021-11-26 11:44:45 +08:00
Conglei
86c0c26213 feat: 🎸 Improved QueryObject to handle more fields (#116)
* feat: 🎸 Improved QueryObject to handle more fields

The commit is to ensure the feature parity between frontend and backend
QueryOjbect

* test: 💍 Added tests to improve the coverage
2021-11-26 11:44:45 +08:00
Krist Wongsuphasawat
9454aed59f feat: 🎸 add .clone() function to ChartMetadata (#112)
* feat: 🎸 add .clone() function to ChartMetadata

* test: 💍 add unit tests

* fix: 🐛 lint
2021-11-26 11:44:44 +08:00
Krist Wongsuphasawat
e4cd35a02e Rename FormData to ChartFormData (#100) 2021-11-26 11:44:43 +08:00
Krist Wongsuphasawat
80290426ec Remove unnecessary export types and reorganize types (#99)
* fix re-export types in translation

* Fix more types

* reorganize type in chart package

* Fix unit tests

* remove Array<> in favor of []
2021-11-26 11:44:42 +08:00
Krist Wongsuphasawat
1e1cf146ca Add WordCloud plugin (#50)
* scaffold

* resolve dependency issues

* use d3 v4

* - Update peer dependencies
- Getting src to build

* Type word cloud

* Add tests for transformProps

* Update and simplify d3-cloud typing as the fix we've been waiting was merged.

* resolve all tests

* update unit tests

* fix unit test

* update readme
2021-11-26 11:44:40 +08:00
Krist Wongsuphasawat
1d62f764e2 Add SuperChart (#68)
* Add superchart and convert to ts

* fix compilation error

* fix build issue

* unit test working

* Add default width and height to ChartProps

* export SuperChart

* Add null check and update unit tests

* update unit tests

* complete test coverage

* Add generic

* reduce timeout
2021-11-26 11:44:38 +08:00
Krist Wongsuphasawat
fb6cde64d8 Convert core to TS (#62)
feat: convert core models to ts
2021-11-26 11:44:38 +08:00
Chris Williams
6c8e40c710 [build] fix typescript builds (#56)
* [build] fix typescript builds

* [typescript] ensure types pass in build

* [typescript][connection] declare modules in tests

* [typescript][connection] fix ts errors in tests

* [typescript][connection] test/types.ts => types/external.d.ts

* [chart][typescript] add @types/react-loadable

* [chart][components] convert to ts

* [charts][tests][broken] convert to ts

* [chart][typescript] re-write component generics

* [chart][typescript] fix reactify generic, add react-dom types

* [chart][typescript] more iteration

* - Tweaking reactify types (using Readonly types).
- Uncovered an issue in which ReactifyProps and Props can collide on id and className.
- Move @types/react-loadable to dev dependency
- Fixing a lint error

* [chart][deps] add @types/fetch-mock

* [client][typescript] add and export SupersetClientInterface

* [chart][clients] fix ts

* [charts][components] more ts iterations

* [chart][client] assert FormData type

* [chart][deps] try adding newest @types/react

* [chart][components][ts] fix reactify prop TS

* [chart] lint

* [chart][ts] lint #2, move @types to deps not dev-deps

* [chart][jest] fix tests

* [chart][tests] up branch coverage

* [chart][ts][test] null => undefined

* [chart][tests] hundo

* [chart][tests] update name

* [chart][ts] ChartClient type fixes
2021-11-26 11:44:38 +08:00
Conglei
908f9693f0 Revert "[Chart]Unify Metric format (#63)" (#65)
This reverts commit a97f66689ae51ad2e02101230ca959fa3e429218.
2021-11-26 11:44:38 +08:00
Conglei
9c8c0a9692 [Chart]Unify Metric format (#63)
* unify the metric format

* fix test

* fix lint

* fix lint

* change per comments in pr
2021-11-26 11:44:38 +08:00
Krist Wongsuphasawat
fcb7ded22a Add ChartClient (v2) (#57)
feat: Add ChartClient
2021-11-26 11:44:38 +08:00
Christine Chambers
07ad06f595 Allow metrics arrays in form data (#61)
Metrics can take shape of an array of metrics in form data for a given metrics key. For example, `{ metrics: ['sum__num'] }`. This PR changes Metrics class to handle the array case.
2021-11-26 11:44:38 +08:00
Krist Wongsuphasawat
19bb506ca1 Convert chart models to TS and export additional modules (#55)
internal: Convert Chart models to ts
2021-11-26 11:44:37 +08:00
Krist Wongsuphasawat
3b54039428 Add reactify (#51)
feat: Add `reactify` function from `incubator-superset`
2021-11-26 11:44:37 +08:00
Krist Wongsuphasawat
a4c3e7da3a Add createLoadableRenderer (#49)
feat: Add `createLoadableRenderer`
2021-11-26 11:44:37 +08:00
Christine Chambers
0f3bd0cd9c Moving query module into superset-ui from incubator-superset (#48)
* migrate query code from incubator-superset

* Getting tests to pass

- Up build-config version to pick up a fix to eslint-typescript-parser
- Remove usage of default exports in favor of named exports unless the export is the only thing being exported out of a module
- Fixing up a few linting errors

* - Remove DatasourceKey interface in favor of readonly id and type properties on the DatasourceKey class directly.
- Adding tests for DatasourceKey.
2021-11-26 11:44:37 +08:00
Conglei
4a92a91cb6 changed the default value for buildQuery to null (#40) 2021-11-26 11:44:35 +08:00
Krist Wongsuphasawat
ae476317d6 Add @superset-ui/chart with extract modules and additional unit tests (#23)
* initialize chart package

* add unit tests for metadata and chartprops

* fix lint

* add unit test for ChartPlugin

* update README
2021-11-26 11:44:33 +08:00