Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add relational filter conditions in data browser #2576

Merged
merged 21 commits into from
Jul 6, 2024

Conversation

vardhan0604
Copy link
Contributor

@vardhan0604 vardhan0604 commented Jun 26, 2024

New Pull Request Checklist

Issue Description

Added filter conditions that relate to other classes. Since Parse Dashboard knows the entire schema, it also knows which other classes have a pointer to the currently displayed class; it can use that information to allow for filtering by fields of these related classes.

image

Closes: #2496

Copy link

parse-github-assistant bot commented Jun 26, 2024

Thanks for opening this pull request!

  • 🎉 We are excited about your hands-on contribution!

@vardhan0604
Copy link
Contributor Author

@mtrezza, can you please check this

Copy link

uffizzi-cloud bot commented Jun 26, 2024

Uffizzi Ephemeral Environment deployment-53547

⌚ Updated Jun 26, 2024, 18:37 UTC

☁️ https://app.uffizzi.com/github.com/parse-community/parse-dashboard/pull/2576

📄 View Application Logs etc.

What is Uffizzi? Learn more

@vardhan0604 vardhan0604 changed the title feat: Add relational filter conditions (#2496) feat:Add relational filter conditions (#2496) Jun 26, 2024
@vardhan0604
Copy link
Contributor Author

Hey @mtrezza, I have fixed the lint issue, can you please review the PR

@mtrezza
Copy link
Member

mtrezza commented Jun 27, 2024

The dashboard data browser seems to be continuously loading the table; not sure if that is a bug related to this feature, still investigating. You can see this by launching the preview environment from the uffizzi-cloud comment and just opening a collection like "_User".

Edit: I can confirm that the issue only occurs in this PR; could you look into that?

@mtrezza mtrezza changed the title feat:Add relational filter conditions (#2496) feat: Add relational filter conditions (#2496) Jun 27, 2024
@mtrezza mtrezza closed this Jun 27, 2024
@mtrezza mtrezza reopened this Jun 27, 2024
Copy link
Member

@mtrezza mtrezza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've marked some var names with incorrect caps. There are more, could you please correct them?

src/dashboard/Data/Browser/Browser.react.js Outdated Show resolved Hide resolved
src/dashboard/Data/Browser/Browser.react.js Outdated Show resolved Hide resolved
src/dashboard/Data/Browser/BrowserToolbar.react.js Outdated Show resolved Hide resolved
@mtrezza mtrezza changed the title feat: Add relational filter conditions (#2496) feat: Add relational filter conditions (#2496) Jun 27, 2024
Copy link

uffizzi-cloud bot commented Jun 27, 2024

Uffizzi Ephemeral Environment deployment-53601

⌚ Updated Jun 27, 2024, 23:49 UTC

☁️ https://app.uffizzi.com/github.com/parse-community/parse-dashboard/pull/2576

📄 View Application Logs etc.

What is Uffizzi? Learn more

@vardhan0604
Copy link
Contributor Author

vardhan0604 commented Jun 28, 2024

I've marked some var names with incorrect caps. There are more, could you please correct them?

data browser seems to be continuously loading the table

Sure, I will correct them and I will look into the second issue as well

@vardhan0604 vardhan0604 reopened this Jun 28, 2024
Copy link

uffizzi-cloud bot commented Jun 28, 2024

Uffizzi Ephemeral Environment deployment-53602

⌚ Updated Jun 28, 2024, 00:25 UTC

☁️ https://app.uffizzi.com/github.com/parse-community/parse-dashboard/pull/2576

📄 View Application Logs etc.

What is Uffizzi? Learn more

@mtrezza
Copy link
Member

mtrezza commented Jun 28, 2024

The preview environment does not update on every commit. If you want to update the environment you can close and re-open this PR, then after a few minutes uffizzi will post a new comment with the update env link.

@vardhan0604
Copy link
Contributor Author

The preview environment does not update on every commit. If you want to update the environment you can close and re-open this PR, then after a few minutes uffizzi will post a new comment with the update env link.

ohh okay, I will keep that in my mind

Copy link

uffizzi-cloud bot commented Jun 28, 2024

Uffizzi Ephemeral Environment deployment-53606

⌚ Updated Jun 28, 2024, 09:32 UTC

☁️ https://app.uffizzi.com/github.com/parse-community/parse-dashboard/pull/2576

📄 View Application Logs etc.

What is Uffizzi? Learn more

@vardhan0604
Copy link
Contributor Author

Just one last thing, given that our filter dialog is now more complex with an additional column, do you think you could add the headings "Class, Field, Condition, Value", like in the screenshot? I believe this would make the UI easier to use. If that's too much work, no worries, we can merge without.

And I found another tiny issue: classes with a pointer to the current class only appear in the filter dialog after reloading the dashboard in the browser window. It seems that the schema is not updated locally after adding a pointer field to a class. I'm not sure whether this is a general dashboard issue that the schema is not updated, or whether it is related to this feature.

Hey @mtrezza , I have fixed the second issue and added the headings in the UI. you can check it and test it out.
lemme know if something breaks

@vardhan0604 vardhan0604 closed this Jul 2, 2024
@vardhan0604 vardhan0604 reopened this Jul 2, 2024
Copy link

uffizzi-cloud bot commented Jul 2, 2024

Uffizzi Ephemeral Environment deployment-53743

⌚ Updated Jul 02, 2024, 17:18 UTC

☁️ https://app.uffizzi.com/github.com/parse-community/parse-dashboard/pull/2576

📄 View Application Logs etc.

What is Uffizzi? Learn more

Copy link
Member

@mtrezza mtrezza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems that the class is still only displaying after a website refresh. Could you check please? The headings look great!

@vardhan0604 vardhan0604 closed this Jul 3, 2024
@vardhan0604 vardhan0604 reopened this Jul 3, 2024
Copy link

uffizzi-cloud bot commented Jul 3, 2024

Uffizzi Ephemeral Environment deployment-53788

⌚ Updated Jul 03, 2024, 13:05 UTC

☁️ https://app.uffizzi.com/github.com/parse-community/parse-dashboard/pull/2576

📄 View Application Logs etc.

What is Uffizzi? Learn more

@vardhan0604
Copy link
Contributor Author

It seems that the class is still only displaying after a website refresh. Could you check please? The headings look great!

Hey @mtrezza , you can check I have fixed the issue

@vardhan0604 vardhan0604 requested a review from mtrezza July 4, 2024 05:43
mtrezza
mtrezza previously approved these changes Jul 6, 2024
Copy link
Member

@mtrezza mtrezza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thanks for this PR!

@mtrezza mtrezza closed this Jul 6, 2024
@mtrezza mtrezza reopened this Jul 6, 2024
Copy link

uffizzi-cloud bot commented Jul 6, 2024

Uffizzi Ephemeral Environment deployment-53907

⌚ Updated Jul 06, 2024, 13:24 UTC

☁️ https://app.uffizzi.com/github.com/parse-community/parse-dashboard/pull/2576

📄 View Application Logs etc.

What is Uffizzi? Learn more

@mtrezza mtrezza merged commit aa5c68d into parse-community:alpha Jul 6, 2024
9 checks passed
parseplatformorg pushed a commit that referenced this pull request Jul 6, 2024
# [6.0.0-alpha.9](6.0.0-alpha.8...6.0.0-alpha.9) (2024-07-06)

### Features

* Add relational filter conditions in data browser ([#2576](#2576)) ([aa5c68d](aa5c68d))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 6.0.0-alpha.9

@parseplatformorg parseplatformorg added the state:released-alpha Released as alpha version label Jul 6, 2024
parseplatformorg pushed a commit that referenced this pull request Oct 7, 2024
# [6.0.0-beta.2](6.0.0-beta.1...6.0.0-beta.2) (2024-10-07)

### Bug Fixes

* Crash after setting filter using context menu and opening filters panel ([#2579](#2579)) ([5a690eb](5a690eb))
* Dashboard not building for Docker platform arm64/v8 ([#2534](#2534)) ([8c4a862](8c4a862))
* Descriptive statistics for number cells in data browser not showing ([#2581](#2581)) ([e146b6f](e146b6f))
* Filter string is erased when changing filter condition ([#2586](#2586)) ([6fa2c8c](6fa2c8c))
* Internal classes `_User`, `_Role`, `_Installation` referenced with pointer don't appear in data browser filter dialog ([#2599](#2599)) ([8239cc8](8239cc8))

### Features

* Add Cloud Config change history to roll back to previous values ([#2554](#2554)) ([a784129](a784129))
* Add data panel to display object related data fetched via Cloud Function ([#2584](#2584)) ([914cc71](914cc71))
* Add optional restriction of script execution to certain object fields and values ([#2488](#2488)) ([8feac9b](8feac9b))
* Add relational filter conditions in data browser ([#2576](#2576)) ([aa5c68d](aa5c68d))
* Add support for Node 22 ([#2603](#2603)) ([3689106](3689106))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 6.0.0-beta.2

@parseplatformorg parseplatformorg added the state:released-beta Released as beta version label Oct 7, 2024
parseplatformorg pushed a commit that referenced this pull request Oct 7, 2024
# [6.0.0](5.4.0...6.0.0) (2024-10-07)

### Bug Fixes

* App metrics for user and installation counts show dash ([#2528](#2528)) ([850d7b3](850d7b3))
* Class Level Permissions dialog throws error `TypeError: ce.current is null` for newly created class ([#2549](#2549)) ([27ed692](27ed692))
* Config page fails to load ([#2531](#2531)) ([d721b7c](d721b7c))
* Crash after setting filter using context menu and opening filters panel ([#2579](#2579)) ([5a690eb](5a690eb))
* Dashboard crashes if Parse Server Cloud Function script returns object ([#2516](#2516)) ([5de08f8](5de08f8))
* Dashboard not building for Docker platform arm64/v8 ([#2534](#2534)) ([8c4a862](8c4a862))
* Dashboard scrolls when selecting row in data browser ([#2559](#2559)) ([2aa54a5](2aa54a5))
* Data browser redirects to wrong class when changing app ([#2526](#2526)) ([7713f54](7713f54))
* Deleting all code in the JS Console editor fills in the default code ([#2558](#2558)) ([4b830ba](4b830ba))
* Descriptive statistics for number cells in data browser not showing ([#2581](#2581)) ([e146b6f](e146b6f))
* Filter string is erased when changing filter condition ([#2586](#2586)) ([6fa2c8c](6fa2c8c))
* Internal classes `_User`, `_Role`, `_Installation` referenced with pointer don't appear in data browser filter dialog ([#2599](#2599)) ([8239cc8](8239cc8))
* Open pointer in new tab in data browser not working when mount path is not root ([#2527](#2527)) ([2f4081f](2f4081f))

### Features

* Add Cloud Config change history to roll back to previous values ([#2554](#2554)) ([a784129](a784129))
* Add data panel to display object related data fetched via Cloud Function ([#2584](#2584)) ([914cc71](914cc71))
* Add descriptive statistics for number cells in data browser ([#2529](#2529)) ([ead9ec4](ead9ec4))
* Add filter `starts with` in data browser for fields of type Pointer ([#2553](#2553)) ([0b94ab6](0b94ab6))
* Add Node 20 support; remove Node 14, 16 support ([#2532](#2532)) ([578a339](578a339))
* Add Node 20 support; remove Node 14, 16 support ([#2535](#2535)) ([5c90f2d](5c90f2d))
* Add optional restriction of script execution to certain object fields and values ([#2488](#2488)) ([8feac9b](8feac9b))
* Add relational filter conditions in data browser ([#2576](#2576)) ([aa5c68d](aa5c68d))
* Add support for Node 22 ([#2603](#2603)) ([3689106](3689106))
* Execute script for selected rows ([#2508](#2508)) ([5d9901e](5d9901e))
* Select rows in data browser by clicking and dragging mouse cursor over checkboxes ([#2548](#2548)) ([792ba9e](792ba9e))

### BREAKING CHANGES

* Removes support for Node 14 and 16 ([5c90f2d](5c90f2d))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 6.0.0

@parseplatformorg parseplatformorg added the state:released Released as stable version label Oct 7, 2024
vardhan0604 pushed a commit to vardhan0604/parse-dashboard that referenced this pull request Oct 22, 2024
# [6.0.0-beta.2](parse-community/parse-dashboard@6.0.0-beta.1...6.0.0-beta.2) (2024-10-07)

### Bug Fixes

* Crash after setting filter using context menu and opening filters panel ([parse-community#2579](parse-community#2579)) ([5a690eb](parse-community@5a690eb))
* Dashboard not building for Docker platform arm64/v8 ([parse-community#2534](parse-community#2534)) ([8c4a862](parse-community@8c4a862))
* Descriptive statistics for number cells in data browser not showing ([parse-community#2581](parse-community#2581)) ([e146b6f](parse-community@e146b6f))
* Filter string is erased when changing filter condition ([parse-community#2586](parse-community#2586)) ([6fa2c8c](parse-community@6fa2c8c))
* Internal classes `_User`, `_Role`, `_Installation` referenced with pointer don't appear in data browser filter dialog ([parse-community#2599](parse-community#2599)) ([8239cc8](parse-community@8239cc8))

### Features

* Add Cloud Config change history to roll back to previous values ([parse-community#2554](parse-community#2554)) ([a784129](parse-community@a784129))
* Add data panel to display object related data fetched via Cloud Function ([parse-community#2584](parse-community#2584)) ([914cc71](parse-community@914cc71))
* Add optional restriction of script execution to certain object fields and values ([parse-community#2488](parse-community#2488)) ([8feac9b](parse-community@8feac9b))
* Add relational filter conditions in data browser ([parse-community#2576](parse-community#2576)) ([aa5c68d](parse-community@aa5c68d))
* Add support for Node 22 ([parse-community#2603](parse-community#2603)) ([3689106](parse-community@3689106))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state:released Released as stable version state:released-alpha Released as alpha version state:released-beta Released as beta version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add relational filter conditions
3 participants