Commit Graph

40 Commits

Author SHA1 Message Date
Stefano Magni
040a281392 platform(console): Refactor everything Analytics
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6153
GitOrigin-RevId: e0dea3acf995d8f73eed8fabae374e215ebcd964
2022-10-24 08:30:01 +00:00
Matthew Goodwin
b3b9ff269a console: GQL Customization while tracking a table
## Description 🔖

This adds the ability to "customize & track" using the [new tracking ui](https://github.com/hasura/graphql-engine-mono/pull/5391).

A new button was added to implement this:

<img width="870" alt="Screen Shot 2022-09-16 at 12 37 14 PM" src="https://user-images.githubusercontent.com/49927862/190701948-1ad86717-f6be-4f67-8e0c-17b618790795.png">

## Solution and Design 🎨

This feature mostly makes use of components and hooks already created.

I was able to refactor some code to reduce code duplication and type duplication.

A few highlights on the refactor:

- `useTrackTable`, `useUntrackTable` and `useTrackSelectedTables` were all refactored into a single hook: `useTrackTable`. This hook has one main function but returns 4 wrapper functions: `trackTable`, `untrackTable`, `trackTables`, and `untrackTables`. This should make maintaining easier in the future.
- Synced up types between `MetadataTableConfig` and the customization form. Previously, the customization form had duplicated this same type, and there was some slight discrepancies between them.
- Modified `TableTrackingCustomizationModal` `onSubmit` return with a 2nd argument that's in the exact shape of `MetadataTableConfig` for convenience.
- Did some refactoring of the `DropDownMenu` component that should not interfere with anything. Exposed a few of the inner components for export and used these modular pieces in the current implementation. This ended up not being used in the feature, but left it in as it's a slight improvement.

I also added a function called `delayAsyncAction` [here](5e88262628/console/src/components/Common/utils/jsUtils.tsx (L416)) to create an artificial delay for `async` functions. This allows us to create a more confident UX when requests happen near-instantly. Introducing a tiny delay of around 300ms with good UI feedback (i.e. loading spinner) shows the user something is happening. I wanted to document this as I'm not sure it's something other will agree on. If it's against our UX philosophy, I can remove it, but I found it nice.

## Review Setup 💻

1. Run the code locally and go to `http://localhost:3000/data/v2/manage?database=YOUR_DATABASE_NAME_HERE`
2. You should see the new button as shown above to `Customize & Track`
3. Try it out with various field custom roots
4. Also try tracking and untracking tables both from the individual rows as well as the checkboxes as this logic was also modified in the refactor.

 ** I am not totally sure how much I need to put here for testing, I may want some help here from the team. **

## Review checklist. 📋

### Functionality

- [ ] Steps to verify console behaviour

### Tests

Going to open another PR for adding testing to the relevant areas. Will update this PR with a link once that's been done.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5922
GitOrigin-RevId: e7c14be5b9bcc255a7b9ecfd43f1f84aa8aabba2
2022-09-26 22:02:40 +00:00
Luca Restagno
11b22f7dc9 console: fix the Typescript no implicit returns rules
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5447
GitOrigin-RevId: e80e203a0a29652313d86c8de4382dc9b8796d2a
2022-08-17 14:37:04 +00:00
Nicolas Beaussart
6c88b96b21 platform(console): prepare oss codebase for migration
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5445
GitOrigin-RevId: a659d1f82d73466e2d8ffeb6a32e6586f066d352
2022-08-11 13:06:54 +00:00
Daniele Cammareri
8040c91b1b console: upgrade to node 16 and npm 8
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5035
Co-authored-by: Nicolas Beaussart <7281023+beaussan@users.noreply.github.com>
GitOrigin-RevId: fa80b49bc18d8aaee85ad6fc146fef3b318c51f9
2022-08-02 13:52:53 +00:00
hasura-bot
4c1c4cd773 fix(console): actions search case insensitive (close #6351)
GITHUB_PR_NUMBER: 8368
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/8368

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4144
Co-authored-by: Alex Parra <10448714+alex-parra@users.noreply.github.com>
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
Co-authored-by: Alberto Francesco Motta <36401353+afmotta@users.noreply.github.com>
GitOrigin-RevId: ea782e59e9e1a7ded032aa3821012dfaa2aa34db
2022-04-06 09:21:21 +00:00
Matt Hardman
d2724878d3 Matt/console/permissions form
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2893
Co-authored-by: Ikechukwu Eze <22247592+iykekings@users.noreply.github.com>
GitOrigin-RevId: e6c8dedf8369df887fdc376c606b9b2e9b3d5ddd
2022-02-14 15:37:00 +00:00
Matt Hardman
6451fba595 console: create permissions table components
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2840
GitOrigin-RevId: a6dbc4d7e3278006465b44cfc4392afec1f9d426
2021-11-26 12:32:04 +00:00
Nicolas Beaussart
59cc19e2d4 console: remove import order eslint rule
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2824
GitOrigin-RevId: cd17ab0fee72821e9379b518f152cd4cb0706105
2021-11-11 13:36:18 +00:00
Nicolas Beaussart
4c8687fdab console: add form library components
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2421
Co-authored-by: Martin Mark <74692114+martin-hasura@users.noreply.github.com>
GitOrigin-RevId: 52dc6e600ebc174616e3f408c4394a3993b6dae7
2021-10-07 09:51:10 +00:00
Nicolas Beaussart
a34f8d86cb console: add storybook support
https://github.com/hasura/graphql-engine-mono/pull/2154

Co-authored-by: Matt Hardman <28978422+mattshardman@users.noreply.github.com>
GitOrigin-RevId: e3caefdd0eaa904ed2167248cc166cdb38e7722e
2021-09-20 16:31:25 +00:00
Ikechukwu Eze
701f3fd304 pro-console/security features: add support for api limits
https://github.com/hasura/graphql-engine-mono/pull/1541

Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
GitOrigin-RevId: 83f0f20a45f0f396002c53a716dd3541e82b83e1
2021-07-13 11:18:06 +00:00
Nicolas Beaussart
e3e078fa42 console: add schema sharing
https://github.com/hasura/graphql-engine-mono/pull/1512

Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
GitOrigin-RevId: 71efbb2a5a577f765b83b1fd9ee9254a292d361d
2021-07-08 08:18:25 +00:00
Ikechukwu Eze
c82d4de0cb console: column comparison feature
This PR changes column operators to be an array of strings that follows what was specified in this [RFC](https://github.com/hasura/graphql-engine-mono/blob/rfc/column-comparison-improvements/rfcs/column-comparison-improvements.md)
The RFC also provides a good schema for testing this feature.

The server PR for this is at https://github.com/hasura/graphql-engine-mono/pull/504

---

### Preview

#### Before
![comparison-before](https://user-images.githubusercontent.com/22247592/112810281-c45c8000-9072-11eb-9bab-9e2f3b85c547.gif)

#### After
![column](https://user-images.githubusercontent.com/22247592/113628210-77713e80-965c-11eb-9da3-474773f1d8b0.gif)

#### Todo

- [x] Refactoring and cleanup
- [x] Find and fix errors

Co-authored-by: Karthikeyan Chinnakonda <15602904+codingkarthik@users.noreply.github.com>
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: 22d35c1d886f8b40b1ae7ad7bf214eefd50bbe6e
2021-04-19 19:26:00 +00:00
Aleksandra Sikora
33f7fa9550 console: upgrade typescript
GitOrigin-RevId: 6daee605820497c4f3c687aa589a2c8799e52566
2021-03-26 12:14:21 +00:00
Rakesh Emmadi
be62641f68 server: multi source metadata APIs (#217)
Co-authored-by: Aleksandra Sikora <aleksandra@hasura.io>
Co-authored-by: Anon Ray <ecthiender@users.noreply.github.com>
Co-authored-by: Vishnu Bharathi <vishnubharathi04@gmail.com>
Co-authored-by: Aleksandra Sikora <aleksandra@hasura.io>
Co-authored-by: Sameer Kolhar <kolhar730@gmail.com>
Co-authored-by: Aleksandra Sikora <ola.zxcvbnm@gmail.com>
Co-authored-by: Vamshi Surabhi <0x777@users.noreply.github.com>
GitOrigin-RevId: 0dd1e4d58ab81f1b4ce24de2d3eab709c2755e6d
2021-01-07 09:05:19 +00:00
Sameer Kolhar
9cb44fa61e
console: add notifications (#5070) 2020-10-05 14:31:10 +05:30
Sameer Kolhar
18e4c103ad
console: add option to flag an insertion as a migration (close #1766) (#4993)
https://github.com/hasura/graphql-engine/pull/4993
2020-09-29 17:15:39 +00:00
soorajshankar
ab311cd9f1
console: add eslint-plugin-react-hooks (#5219) 2020-07-01 12:22:09 +02:00
Aleksandra Sikora
f2428e3984
console: allow manual edit of column types and handle array data types (close #2544, #3335, #2583) (#4546) 2020-06-18 12:43:19 +02:00
Pavel Kostenko
2030da5282
console: convert settings/utils to typescript (#4684) 2020-06-10 10:52:23 +02:00
Rishichandra Wawhal
aaab6d3eb6
console: add scheduled triggers support (#4732) 2020-06-05 13:40:08 +05:30
Tirumarai Selvan
c0d2bc6653
Remote Joins: Create relationships across database and remote schemas (#2392)
add remote joins: Create relationships across database and remote schemas (#2392)

Co-authored-by: Aleksandra Sikora <ola.zxcvbnm@gmail.com>

Co-authored-by: Chris Done <chrisdone@gmail.com>
Co-authored-by: Chris Done <github@chrisdone.com>
Co-authored-by: wawhal <rishichandra.wawhal@gmail.com>
Co-authored-by: Aravind Shankar <aravind@hasura.io>
Co-authored-by: Brandon Simmons <brandon.m.simmons@gmail.com>
Co-authored-by: Rishichandra Wawhal <rishi@hasura.io>
Co-authored-by: Brandon Simmons <brandon@hasura.io>
Co-authored-by: nizar-m <19857260+nizar-m@users.noreply.github.com>
Co-authored-by: Praveen Durairaju <praveend.web@gmail.com>
Co-authored-by: rakeshkky <12475069+rakeshkky@users.noreply.github.com>
Co-authored-by: Anon Ray <rayanon004@gmail.com>
Co-authored-by: Shahidh K Muhammed <shahidh@hasura.io>
Co-authored-by: soorajshankar <soorajshankar@users.noreply.github.com>
Co-authored-by: Sooraj Sanker <sooraj@Soorajs-MacBook-Pro.local>
Co-authored-by: Karthikeyan Chinnakonda <karthikeyan@hasura.io>
Co-authored-by: Aleksandra Sikora <ola.zxcvbnm@gmail.com>
2020-05-27 20:32:58 +05:30
Raj Anand
1b442fc2dd
console: migrate cypress tests to TypeScript (#4550) 2020-05-27 14:56:29 +05:30
Ryan Dsouza
619d167329
console: migrate HTML helpers, route hooks helpers and version utils to TypeScript (#4641) 2020-05-14 19:30:05 +05:30
Aleksandra Sikora
447aac3692
console: allow adding post-update checks in update permissions (close #4142) (#4313) 2020-04-22 17:55:10 +05:30
ryo
ae11e9b557
console: migrate checkbox, icon and radio button to TypeScript (#4373) 2020-04-22 16:47:10 +05:30
Aleksandra Sikora
72b2301bc0
console: persist page size in data browser (#4323) 2020-04-15 20:38:37 +05:30
Ali Oğuzhan Yıldız
dfc1f98e61
console: convert theme files to typescript (#4325) 2020-04-15 13:49:52 +05:30
Aleksandra Sikora
141f2afb01
console: fix linter config (#4137) 2020-04-06 16:53:04 +05:30
Phil Freeman
4ce4eb1d2f
Remove any outstanding hdb_views (fixes #3940) (#3965) 2020-03-26 15:42:33 -05:00
Aleksandra Sikora
bd74ecfdb0
console: upgrade eslint and change eslint parser (#4131) 2020-03-18 14:29:15 +05:30
Rishichandra Wawhal
6b8c7eff67
console: add actions support (#3889) 2020-02-19 15:29:20 +05:30
Rikin Kachhia
db6b2aa378
add computed fields support on console (close #3203 #3565) (#3522) 2020-01-13 12:41:30 +05:30
IMRAN KHAN
4aef5b4c26 add About page to console to show versions info (#2334) 2019-07-29 19:45:39 +05:30
Rishichandra Wawhal
3ef1219fa0 change default endpoint to v1/graphql; remove semver checks (#2181) 2019-05-16 14:38:44 +05:30
Rishichandra Wawhal
70cd78fec0 support composite foreign keys and primary keys through console (close #1707) (#1854) 2019-04-08 18:47:02 +05:30
Rishichandra Wawhal
c964c90a7b persist queries in GraphiQL (closes #1894) (#1903) 2019-04-03 19:43:09 +05:30
Rishichandra Wawhal
9d8ac86269 enable updating event trigger from console (close #489) (#1124) 2018-12-17 17:37:58 +05:30
Praveen D
b8bb2d652c add console to graphql-engine 2018-06-28 10:27:37 +05:30