* Test Cypress on package list
* Skip Puppeteer Chromium as well
* Put back missing npm install on netlify.toml
* Netlify: move env vars to build.environment
* Remove cypress:install script
* Update Cypress dockerfile
* Copy package-lock.json to Cypress dockerfile
* expire CSRF tokens after 6 hours
* use axios' built-in cookie to header copy mechanism
* add axios-auth-refresh
* retry CSRF-related 400 errors by refreshing the cookie
* export the auth refresh interceptor to support ejecting it if neccessary
* reject the original request if it's unrelated to CSRF
* add flask-wtf
* add CSRF tokens to all static forms
* add CSRF tokens to all axios requests
* disable CSRF validation in unit tests
* support CSRF-protected requests in *most* cypress tests
* don't enfroce CSRF checks by default
* avoid CSRF enforcement in unit tests
* remove redundant spread
* some camel casing hiccups
* always yield the CSRF cookie, but avoid enforcing it if CSRF toggle is off
* Restyled by prettier (#5056)
Co-authored-by: Restyled.io <commits@restyled.io>
* set a CSRF header only if cookie is present
* enforce CSRF in CI
* install lodash directly for Cypress
* install request-cookies directly for Cypress. We should probably start loading package.json deps
* enable CSRF support when logout and login happen within the same spec
Co-authored-by: restyled-io[bot] <32688539+restyled-io[bot]@users.noreply.github.com>
Co-authored-by: Restyled.io <commits@restyled.io>
* TASK Add typescript dependencies to package.json
* TASK Add typescript to build process and npm scripts and TASK Move example components to typescript and add an example definition file.
* TASK Move back to ts-loader instead of babel typescript preset
* FIX Remove unnecessary changes
* FIX Explicitly mention tsconfig file in webpack.config.js to avoid `error while parsing tsconfig.json, The 'files' list in config file 'tsconfig.json' is empty`
See (https://github.com/TypeStrong/ts-loader/issues/405#issuecomment-330108362)
* FIX Move tsconfig to client subdirectory to make it accessible in docker container (only webpack.config.js is copied over from root folder in Dockerfile)
* TASK Move from ts-loader to babel to reduce compatibility issues between ES6/7 and typescript compilation.
* TASK Add types for classnames, hoist-non-react-statics and lodash. Fix default export of DashboardList and run prettier on eslintrc
* Run npm install
* Trigger tests
* Run npm install 2
* Trigger tests
* V9 Changelog: Initial Draft from Jesse
* V9 Changelog: Add later updates
* Adjust title spacing
* Apply Jesse's suggestions
Co-authored-by: Jesse <jesse@whitehouse.dev>
* provide an explanation on how to switch from Celery to RQ when upgrading to v9
* Update CHANGELOG.md
Co-authored-by: Gabriel Dutra <nesk.frz@gmail.com>
* Add contributor names
* Update version.
* Update CHANGELOG
Co-authored-by: Gabriel Dutra <nesk.frz@gmail.com>
Co-authored-by: Jesse <jesse@whitehouse.dev>
Co-authored-by: Omer Lachish <omer@rauchy.net>
* Add visualizations project settings
* Move visualizations to redash-visualizations
* Delete shared components
* Remove antd from deps
* Remove p-r-5 from table utils
* Remove visualization deps from package.json
* Rename package and change its version
* Test preinstall script
* Update Dockerfile build for frontend
* Test adding dockerignore
* Update jest tests
* Add step for jest tests
* Include viz-lib on dev commands
* User prettier v1 for now
* Delete unused libs on the app
* Add readme draft (to be finished)
* Add getOptions to Editor
* Add required libraries and finish basic example
* Bump version
* Allow touch action on dashboard grid
* Deactivate touch when resizing widgets
* Disable touch interactions on Plotly
* Update Plotly and use dragmode: false
* Remove autoFocus from ItemsList search
* Fix spacing for queries and dashboard favorites
* Make sure admin pages don't go over 100% width
* Migrate router and <app-view> to React: skeleton
* Update layout on route change
* Start moving page routes from angular to react
* Move page routes to react except of public dashboard and visualization embed)
* Move public dashboard and visualization embed routes to React
* Replace $route/$routeParams usages
* Some cleanup
* Replace AngularJS $location service with implementation based on history library
* Minor fix to how ApplicationView handles route change
* Explicitly use global layout for each page instead of handling related stuff in ApplicationArea component
* Error handling
* Remove AngularJS and related dependencies
* Move Parameter factory method to a separate file
* Fix CSS (replace custom components with classes)
* Fix: keep other url parts when updating location partially; refine code
* Fix tests
* Make router work in multi-org mode (respect <base> tag)
* Optimzation: don't resolve route if path didn't change
* Fix search input in header; error handling improvement (handle more errors in pages; global error handler for unhandled errors; dialog dismiss 'unhandled rejection' errors)
* Fix page keys; fix navigateTo calls (third parameter not available)
* Use relative links
* Router: ignore location REPLACE events, resolve only on PUSH/POP
* Fix tests
* Remove unused jQuery reference
* Show error from backend when creating Destination
* Remove route.resolve where not necessary (used constant values)
* New Query page: keep state on saving, reload when creating another new query
* Use currentRoute.key instead of hard-coded keys for page components
* Tidy up Router
* Tidy up location service
* Fix tests
* Don't add parameters changes to browser's history
* Fix test (improved fix)
Co-authored-by: Gabriel Dutra <nesk.frz@gmail.com>
* Remove app/service/query-string (unused) and its dependency.
* Fix usage of mixed operators.
* eslint --fix fixes for missing dependencies for react hooks
* Fix: useCallback dependency passed to $http's .catch.
* Satisfy react/no-direct-mutation-state.
* Fix no-mixed-operators violations.
* Move the decision of whether to render Custom chart one level up to make sure hooks are called in the same order.
* Fix: name was undefined. It wasn't detected before because there is such global.
* Simplify eslint config and switch to creat-react-app's eslint base.
* Add prettier config.
* Make sure eslint doesn't conflict with prettier
* A few updates post eslint (#4425)
* Prettier command in package.json
* Migrate Cohort to React: Editor
* Extract prepareData and getOptions to own files
* Refine CohortRenderer Angular component (js, less, prepareData) for easier migration
* Migrate Cohort to React: Renderer
* Migrate Cornelius to React: styles
* Migrate Cohort to React: Cornelius library
* Cornelius: add licence info; remove unused style
* Cornelius: use numeral to format numbers; revisit styles
* Cornelius: use moment to format date labels
* Cornelius: use chroma for cell backgrounds; update options; update proptypes; minor fixes
* Tidy up
* Tests
* npm install react-pivottable
* Initiate Pivot Table Migration
* Update renderer with editor options
* Clean up
* Remove old pivottable from package.json
* Test Percy Snapshot with Pivot Table in a Dashboard
* Tmp: use cy.wait to make sure dashboard is loaded
* Clean up Percy snapshot test
* Small improvements
- cy.all with multiple args
- add controls to pivot valid options
* Watch for options in the Renderer
* Draft for Date Dynamic values
* Use value with prefix instead of specific attr
* Fix not possible to select static value
* Update antd version
* Cleanup and DateRangeParameter
* Dynamic DateTimeRange
* Add Dynamic options to Date Parameters
* UI refinements
* Add getDynamicValue function
* Add 'This' options and prevent text clipping
* Make allowClear available
* Update ScheduleDialog snapshot
* Add some protections and separate Date/DateRange
* Accept null values on date or daterange parameters
* Handle undefined values on Moment propType
* Move export to end of files
* Remove Today/Now option
* Update with Apply Changes
* Show name instead of value for dynamic values
* Add comment about supporting useCurrentDateTime
* Cypress Tests: Date Parameters
* Cypress Tests: Date Range Parameters
* Don't put null params in the url
* Add workaround comments to Cypress tests
Co-Authored-By: Ran Byron <ranbena@gmail.com>
* Fix Dynamic Value as default for global parameters
* Update Back to Static Value
* Add isValid to value on Date and DateRange inputs
* CR suggestions
* Fix Back to Static Value for Dates
* Update Dynamic Value Styling
* Fix failing Date tests
* Fix selectedDynamicValue
* Parameter spec: Remove date range clickThrough
* Add transition
* Fix failing Cypress tests
* Back with 'width: auto'
* Check value is valid on Back to Static value
* CR
* Update Date Range width
* Dashboard grid React migration
* Updated tests
* Fixes comments
* One col layout
* Tests unskipped
* Test fixes
* Test fix
* AutoHeight feature
* Kebab-cased
* Get rid of lazyInjector
* Replace react-grid-layout with patched fork to fix performance issues
* Fix issue with initial layout when page has a scrollbar
* Decrease polling interval (500ms is too slow)
* Rename file to match it's contents
* Added some notes and very minor fixes
* Fix Remove widget button (should be visible only in editing mode); fix widget actions menu
* Fixed missing grid markings
* Enhanced resize handle
* Updated placeholder color
* Render DashboardGrid only when dashboard is loaded
* Browser support config
* Removed some offending code
* Added unsupported html page and redirect for IE
* Typo in regex
* Made html page static
* Added redirect script to multi_org
* Moved static html page to client/app