* Refine existing implementation of dashboards/queries/users lists and a common base controller
* Migrate common list page controller to React and refactor it's logic
* Migrate Dashboard list page to React
* Migrate Queries list page to React
* Migrate Users list page to React
* Remove react-timeago dependency
* Use composition instead of inheritance
* Refine implementation
* Merge sidebar into single component
* Refine column definitions
* Use simple controller instead of React context
* Refine implementation
* Restore changes from getredash/redash#2888
* Tweak Users list page
* Ability to render dynamically defined components
* Tweak users list page
* User list page for non-admins
* Fix: ItemsTable ignores isAvailable field
* Refine implementation
* Refine implementation
* Implement LiveItemsList as higher order component
* Some fixes
* Move some definitions to a better place
* Some fixes
* Refine components
* Refine UsersList page
* More comments for a god of comments
* Fix wrong tables size on smaller screens
* Tweak tables
* Refine Auth service: remove dead code and fix race condition
* Export services in CommonJS style
* Refine Users, Events and OfflineListener services
* Refactor Notifications service - rewrite to CommonJS
* Replace Angular service injection with imports in React components
* Fix Footer tests
* Events service -> recordEvent function
* CR1
* Autocomplete toggle improvements:
* Refactor to its own component.
* Show state in tooltip (enabled/disabled).
* Disable the toggle if autocomplete is not possible (no schema/too many tokens).
* Remove unsued code.
* Custom icons font (currently has only two icons).
Generated with Icomoon. If we extend its use, we should probably automate this and move to its own package.
* Don't disable live autocomplete for data sources without schema.
It can still be useful to autocomplete from local keywords.
* Differentiate between autocomplete toggle states with an icon.
Also added explicit message for the disabled state.
* Remember thes state of autocomplete.
* Only auto register init functions.
Add page size settings.
| name | default | description |
| :---- | :------ | :---------- |
| `REDASH_PAGE_SIZE` | 20 | How many items are displayed in one page as default. |
| `REDASH_PAGE_SIZE_OPTIONS` | 5,10,20,50,100 | How many steps as page_size. |
This feature has requested at the meetup in Japan.
https://redash-meetup.connpass.com/event/101420/
This reduces the code duplication between the dashboard, user and queries list pages and normalizes many of the APIs between them.
This also:
- allows sorting query favorites
- adds a pagination size select to the dashboard list
- fixes a bunch of UI inconsistencies between the queries and dashboards list (e.g. margins)
The new ListCtrl class is subclassed in the various specific page controllers and extended as needed. New list pages can make use of the same pattern in the future.
This also adds some missing event recordings from 34e39eda4a.