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: support custom 3rd party plugins along with platform plugins #3184

Open
wants to merge 64 commits into
base: master
Choose a base branch
from

Conversation

jenniferarnesen
Copy link
Collaborator

@jenniferarnesen jenniferarnesen commented Jan 15, 2025

Implements:

Requires these PRs:


Key features

  • add support for 3rd party dashboard plugins
  • item menu on app items that includes fullscreen button

Description
Dashboard app should have support for custom plugins built with the DHIS2 tooling.
This assumes the plugin uses the platform's components that provide the postRobot communication compatible with this version of dashboard app.

TODO

  • update min versions for analytics apps

Known issues

  • rendering error on AppItem

edoardo and others added 30 commits January 14, 2025 17:04
This silences warnings in the console.
This hopefully has a better solution.
It should be enough to just use isParentCached for knowing when to start
recording and removing the cache in the plugins.
This is to avoid the error boundary to show up for uncaught errors
(failed to fetch a visualization) which
interferes with Cypress testing.
* chore(deps): bump the security group with 3 updates

Updates `ejs` from 3.1.8 to 3.1.10
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](mde/ejs@v3.1.8...v3.1.10)

Updates `tmpl` from 1.0.4 to 1.0.5
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

Updates `word-wrap` from 1.2.3 to 1.2.5
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](jonschlinkert/word-wrap@1.2.3...1.2.5)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
  dependency-group: security
- dependency-name: tmpl
  dependency-type: indirect
  dependency-group: security
- dependency-name: word-wrap
  dependency-type: indirect
  dependency-group: security
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: break up command chain

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jen Jones Arnesen <[email protected]>
So it can be used also for custom 3rd-party plugins.
So it can be reused for different item types, ie. both VisualizationItem
and AppItem.
…HIS2-17947)

The same solution is used in VisualizationItem
This together with the fixes in app-runtime should solve he refresh on
resize issues.
This is needed as the new plugin system is used, because the messages
used in the communication have changed.
These are now reused for AppItem items too.
Don't render Plugin before knowing width and height.
Platform's plugin components rely on width and height in order to
disable automatic resize.
@dhis2-bot
Copy link
Contributor

dhis2-bot commented Jan 15, 2025

🚀 Deployed on https://pr-3184.dashboard.netlify.dhis2.org

@dhis2-bot dhis2-bot temporarily deployed to netlify January 15, 2025 18:03 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify January 16, 2025 11:59 Inactive
…/dashboard-app into feat/custom-plugins-rebased-latest
@dhis2-bot dhis2-bot temporarily deployed to netlify January 17, 2025 08:49 Inactive
@dhis2-bot dhis2-bot temporarily deployed to netlify January 17, 2025 09:44 Inactive
itemId: PropTypes.string,
onDeleteItem: PropTypes.func,
EditItemActions.defaultProps = {
onDelete: () => Promise.resolve(),
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Could this default have unintended consequences by running the "finally" code even though nothing was deleted?

Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
4 New issues
1 New Critical Issues (required ≤ 0)
4 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@dhis2-bot dhis2-bot temporarily deployed to netlify January 17, 2025 10:26 Inactive
@jenniferarnesen jenniferarnesen changed the title feat: support custom 3rd party plugins feat: support custom 3rd party plugins along with platform plugins Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants