Skip to content

Conversation

dblythy
Copy link
Member

@dblythy dblythy commented Apr 26, 2025

New Pull Request Checklist

Issue Description

Closes: #2718

Approach

TODOs before merging

  • Add tests
  • Add changes to documentation (guides, repository pages, in-code descriptions)

Summary by CodeRabbit

  • New Features

    • Added explicit loading indicators during data fetching in the data browser interface.
  • Bug Fixes

    • Improved accuracy of loading state display, ensuring the UI correctly reflects when data is being loaded.

Copy link

parse-github-assistant bot commented Apr 26, 2025

🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review.

@parseplatformorg
Copy link
Contributor

parseplatformorg commented Apr 26, 2025

🎉 Snyk checks have passed. No issues have been found so far.

security/snyk check is complete. No issues have been found. (View Details)

Copy link

uffizzi-cloud bot commented Apr 26, 2025

Uffizzi Ephemeral Environment deployment-63184

⌚ Updated Apr 26, 2025, 11:35 UTC

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

📄 View Application Logs etc.

What is Uffizzi? Learn more

@mtrezza mtrezza changed the title feature: add data loading fix: Data loading indicator not showing when using pagination Apr 28, 2025
@mtrezza mtrezza merged commit 62d7aec into parse-community:alpha Apr 28, 2025
9 of 10 checks passed
parseplatformorg pushed a commit that referenced this pull request Apr 28, 2025
# [7.1.0-alpha.11](7.1.0-alpha.10...7.1.0-alpha.11) (2025-04-28)

### Bug Fixes

* Data loading indicator not showing when using pagination ([#2768](#2768)) ([62d7aec](62d7aec))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 7.1.0-alpha.11

@parseplatformorg parseplatformorg added the state:released-alpha Released as alpha version label Apr 28, 2025
Copy link

coderabbitai bot commented Apr 28, 2025

Warning

Rate limit exceeded

@parseplatformorg has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 14 minutes and 26 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between e3bf21d and b0984c4.

📒 Files selected for processing (2)
  • src/dashboard/Data/Browser/Browser.react.js (3 hunks)
  • src/dashboard/Data/Browser/BrowserTable.react.js (1 hunks)
📝 Walkthrough

Walkthrough

The changes introduce explicit management of a loading state within the data fetching logic of the data browser. The isLoading state is set to true when a data fetch begins and set to false once the fetch completes, with the data state being cleared at the start of the fetch. This loading state is passed as a prop to child components, which now use it to determine when to display loading indicators, rather than inferring loading from the presence of data.

Changes

File(s) Change Summary
src/dashboard/Data/Browser/Browser.react.js Added explicit isLoading state management in fetchParseData, clearing data at fetch start and passing isLoading to children.
src/dashboard/Data/Browser/BrowserTable.react.js Changed logic for loading indicator: passes isLoading to header bar and uses it to determine loading state.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant DataBrowser
    participant DataBrowserTable
    participant DataBrowserHeaderBar

    User->>DataBrowser: Initiate page navigation
    DataBrowser->>DataBrowser: Set isLoading = true, data = null
    DataBrowser->>DataBrowser: Fetch data
    DataBrowser->>DataBrowserTable: Pass isLoading prop
    DataBrowserTable->>DataBrowserHeaderBar: Pass isDataLoaded = !isLoading
    DataBrowser-->>User: (UI shows loading indicator)
    DataBrowser->>DataBrowser: On fetch complete, set isLoading = false, set data
    DataBrowser->>DataBrowserTable: Pass isLoading = false
    DataBrowserTable->>DataBrowserHeaderBar: Pass isDataLoaded = true
    DataBrowser-->>User: (UI shows loaded data)
Loading

Assessment against linked issues

Objective Addressed Explanation
Show loading indicator in data browser when navigating pages (#2718)

Poem

A hop and a skip, the data loads anew,
Now with a spinner, you’ll know what we do!
No more confusion, no silent delay—
The browser now signals when data’s away.
With every page turn, a rabbit’s delight:
Loading made clear, UI shining bright!
🐇✨


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

parseplatformorg pushed a commit that referenced this pull request May 1, 2025
# [7.1.0](7.0.0...7.1.0) (2025-05-01)

### Bug Fixes

* Clicking on pointer in data browser when using pagination does not reset to first page ([#2767](#2767)) ([ab512e5](ab512e5))
* Dashboard crashes on login due to `passport` upgrade ([#2758](#2758)) ([ee74321](ee74321))
* Dashboard crashes when selecting app ([#2747](#2747)) ([8b0cfea](8b0cfea))
* Data browser filters "key exists" and "key does not exist" not working ([#2760](#2760)) ([0691b3c](0691b3c))
* Data browser filters "key exists" and "key does not exist" not working ([#2762](#2762)) ([099eca3](099eca3))
* Data loading indicator not showing when using pagination ([#2768](#2768)) ([62d7aec](62d7aec))
* Improperly aligned unfolding sub-items in context menu in data browser  ([#2713](#2713)) ([189c817](189c817))
* Logout bar layout not aligned with data browser navigation bar ([#2720](#2720)) ([01a2a1c](01a2a1c))
* Navigation bar in data browser is transparent and partly covers info panel ([#2717](#2717)) ([60b38a5](60b38a5))
* Obsolete, long-running data fetch request overrides displayed data of newer fetch request in the data browser ([#2715](#2715)) ([31668eb](31668eb))

### Features

* Add pagination to data browser ([#2659](#2659)) ([a3c8a11](a3c8a11))
* Allow row selection in data browser by dragging mouse outside of selection box column ([#2716](#2716)) ([7c0f607](7c0f607))
* Display filter list in data browser sorted alphabetically ([#2761](#2761)) ([0209a0d](0209a0d))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 7.1.0

@parseplatformorg parseplatformorg added the state:released Released as stable version label May 1, 2025
beiguancyc pushed a commit to beiguancyc/parse-dashboard that referenced this pull request May 6, 2025
* source: (58 commits)
  chore(release): 7.1.0 [skip ci]
  empty commit to trigger CI
  refactor: Bump webpack-cli from 5.0.1 to 6.0.1 (parse-community#2772)
  refactor: Bump @babel/plugin-proposal-decorators from 7.20.13 to 7.25.9 (parse-community#2773)
  refactor: Bump eslint-plugin-react from 7.37.4 to 7.37.5 (parse-community#2764)
  chore(release): 7.1.0-alpha.12 [skip ci]
  fix: Clicking on pointer in data browser when using pagination does not reset to first page (parse-community#2767)
  chore(release): 7.1.0-alpha.11 [skip ci]
  fix: Data loading indicator not showing when using pagination (parse-community#2768)
  chore(release): 7.1.0-alpha.10 [skip ci]
  fix: Data browser filters "key exists" and "key does not exist" not working (parse-community#2762)
  refactor: Bump puppeteer from 24.6.0 to 24.6.1 (parse-community#2750)
  chore(release): 7.1.0-alpha.9 [skip ci]
  feat: Display filter list in data browser sorted alphabetically (parse-community#2761)
  chore(release): 7.1.0-alpha.8 [skip ci]
  fix: Data browser filters "key exists" and "key does not exist" not working (parse-community#2760)
  chore(release): 7.1.0-alpha.7 [skip ci]
  fix: Dashboard crashes on login due to `passport` upgrade (parse-community#2758)
  refactor: Bump http-server from 14.0.0 to 14.1.1 (parse-community#2757)
  refactor: Bump webpack from 5.94.0 to 5.99.5 (parse-community#2751)
  ...
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

No loading indicator when navigating pages
3 participants