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 #3184

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

Conversation

jenniferarnesen
Copy link
Collaborator

Implements DHIS2-XXXX

Requires https://github.com/dhis2/analytics/pull/XXX


Key features

  1. feature

Description

text


TODO

  • task

Known issues

  • issue

Screenshots

supporting text

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] <support@github.com>

* chore: break up command chain

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jen Jones Arnesen <jennifer@dhis2.org>
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.
edoardo and others added 25 commits January 15, 2025 15:21
Still not quite there.
Currently the render fails with an error, but the updated snapshot makes
the test pass.
This is to allow plugins to show different content, ie. an edit button
for configuring the plugin content only when editing a dashboard.
The button won't show when viewing the plugin content.
This is a promise that the plugin passes to dashboard app.
Regardless of the promise outcome, the dashboard item is always deleted,
but only after calling the promise.
This gives plugins a chance to do some cleanup before the iframe is
removed from the DOM.
This is related to the previous fix of the default initialisation of
appDetails.
Remove the Cover component as it does not cover anything...
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
Copy link
Contributor

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

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.

3 participants