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

fix(class): keep members in namespace classes #4532

Merged

Conversation

tomperr
Copy link
Contributor

@tomperr tomperr commented Jun 24, 2023

📑 Summary

Keep members of classes in namespaces, whether relations are defined before or after classes definition

Resolves #4519

📏 Design Decisions

We keep all classes (including the ones inside a namespace) inside classes dictionary so we don't consider them as undefined

📋 Tasks

Make sure you

  • 📖 have read the contribution guidelines
  • 💻 have added unit/e2e tests (if appropriate)
  • 📓 have added documentation (if appropriate)
  • 🔖 targeted develop branch

@github-actions github-actions bot added the fix label Jun 24, 2023
@codecov-commenter
Copy link

codecov-commenter commented Jun 24, 2023

Codecov Report

Merging #4532 (47db1a3) into develop (ecc5289) will increase coverage by 2.93%.
The diff coverage is 82.35%.

❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #4532      +/-   ##
===========================================
+ Coverage    81.01%   83.95%   +2.93%     
===========================================
  Files          136      136              
  Lines        10446    10445       -1     
  Branches       492      491       -1     
===========================================
+ Hits          8463     8769     +306     
+ Misses        1829     1529     -300     
+ Partials       154      147       -7     
Flag Coverage Δ
e2e 83.83% <82.35%> (+2.94%) ⬆️
unit 28.28% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...ges/mermaid/src/diagrams/class/classRenderer-v2.ts 79.85% <81.25%> (-0.15%) ⬇️
packages/mermaid/src/diagrams/class/classDb.ts 73.79% <100.00%> (-9.19%) ⬇️

... and 36 files with indirect coverage changes

Comment on lines 104 to 107
let cssClassStr = '';
if (vertex.cssClasses.length > 0) {
cssClassStr = cssClassStr + ' ' + vertex.cssClasses.join(' ');
}
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
let cssClassStr = '';
if (vertex.cssClasses.length > 0) {
cssClassStr = cssClassStr + ' ' + vertex.cssClasses.join(' ');
}
const cssClassStr = vertex.cssClasses.join(' ');

if (parent) {
g.setParent(vertex.id, parent);
}
const styles = { labelStyle: '', style: '' }; //getStylesFromArray(vertex.styles);
Copy link
Member

Choose a reason for hiding this comment

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

This is not modified afterwards. Bug?

tooltip: diagObj.db.getTooltip(vertex.id, parent) || '',
haveCallback: vertex.haveCallback,
link: vertex.link,
width: vertex.type === 'group' ? 500 : undefined,
Copy link
Member

Choose a reason for hiding this comment

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

Avoid magic number 500

@tomperr
Copy link
Contributor Author

tomperr commented Jun 26, 2023

@sidharthv96 seems like there is a bug on this PR, the only thing I added in classRenderer-v2.ts was the filter before the foreach loop

@tomperr
Copy link
Contributor Author

tomperr commented Jun 26, 2023

There might be some lines of code in this file that need to be reworked, but I don't think this should be done in this PR (as it is not linked to the issue + I am not the author of the code you commented)

@sidharthv96 sidharthv96 merged commit 562910e into mermaid-js:develop Jun 29, 2023
@tomperr tomperr deleted the fix/4519-namespace-lose-members branch June 29, 2023 06:52
github-merge-queue bot referenced this pull request in fuxingloh/contented Jul 2, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [mermaid](https://togithub.com/mermaid-js/mermaid) | [`10.2.3` ->
`10.2.4`](https://renovatebot.com/diffs/npm/mermaid/10.2.3/10.2.4) |
[![age](https://badges.renovateapi.com/packages/npm/mermaid/10.2.4/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/mermaid/10.2.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/mermaid/10.2.4/compatibility-slim/10.2.3)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/mermaid/10.2.4/confidence-slim/10.2.3)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>mermaid-js/mermaid (mermaid)</summary>

###
[`v10.2.4`](https://togithub.com/mermaid-js/mermaid/releases/tag/v10.2.4):
10.2.4

[Compare
Source](https://togithub.com/mermaid-js/mermaid/compare/v10.2.3...v10.2.4)

#### Features

- Add Plausible analytics to mermaid.js.org by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[https://github.com/mermaid-js/mermaid/pull/4473](https://togithub.com/mermaid-js/mermaid/pull/4473)
- Support for development in Docker by
[@&#8203;nirname](https://togithub.com/nirname) in
[https://github.com/mermaid-js/mermaid/pull/4478](https://togithub.com/mermaid-js/mermaid/pull/4478)
- standardize info diagram definitions by
[@&#8203;Yokozuna59](https://togithub.com/Yokozuna59) in
[https://github.com/mermaid-js/mermaid/pull/4486](https://togithub.com/mermaid-js/mermaid/pull/4486)
- Change C4 stereotype braces from ASCII <\</>> to Unicode «/» by
[@&#8203;jonathan-r-young](https://togithub.com/jonathan-r-young) in
[https://github.com/mermaid-js/mermaid/pull/4460](https://togithub.com/mermaid-js/mermaid/pull/4460)
- Add coverage for E2E tests by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[https://github.com/mermaid-js/mermaid/pull/4498](https://togithub.com/mermaid-js/mermaid/pull/4498)
- set normal mode for vitest coverage by
[@&#8203;Yokozuna59](https://togithub.com/Yokozuna59) in
[https://github.com/mermaid-js/mermaid/pull/4505](https://togithub.com/mermaid-js/mermaid/pull/4505)
- Use v8 coverage in vitest by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[https://github.com/mermaid-js/mermaid/pull/4560](https://togithub.com/mermaid-js/mermaid/pull/4560)
- feat(flowchart): add classDef style group definition by
[@&#8203;tomperr](https://togithub.com/tomperr) in
[https://github.com/mermaid-js/mermaid/pull/3923](https://togithub.com/mermaid-js/mermaid/pull/3923)
- add cypress coverage clean by
[@&#8203;Yokozuna59](https://togithub.com/Yokozuna59) in
[https://github.com/mermaid-js/mermaid/pull/4556](https://togithub.com/mermaid-js/mermaid/pull/4556)
- fix(class): keep members in namespace classes by
[@&#8203;tomperr](https://togithub.com/tomperr) in
[https://github.com/mermaid-js/mermaid/pull/4532](https://togithub.com/mermaid-js/mermaid/pull/4532)

#### Bugfixes

- Add hint on "flowchart" and "graph" by
[@&#8203;koppor](https://togithub.com/koppor) in
[https://github.com/mermaid-js/mermaid/pull/4096](https://togithub.com/mermaid-js/mermaid/pull/4096)
- fix(flowchart): apply style on doublecircle by
[@&#8203;tomperr](https://togithub.com/tomperr) in
[https://github.com/mermaid-js/mermaid/pull/4540](https://togithub.com/mermaid-js/mermaid/pull/4540)
- fix not rendered style when style is optional by
[@&#8203;Yokozuna59](https://togithub.com/Yokozuna59) in
[https://github.com/mermaid-js/mermaid/pull/4528](https://togithub.com/mermaid-js/mermaid/pull/4528)
- fix(flowchart): allow multiple vertices with style by
[@&#8203;tomperr](https://togithub.com/tomperr) in
[https://github.com/mermaid-js/mermaid/pull/4553](https://togithub.com/mermaid-js/mermaid/pull/4553)

#### Documentation

- change REAMDME.md coverage from coveralls into codecov by
[@&#8203;Yokozuna59](https://togithub.com/Yokozuna59) in
[https://github.com/mermaid-js/mermaid/pull/4507](https://togithub.com/mermaid-js/mermaid/pull/4507)
- Update latest news section by
[@&#8203;huynhicode](https://togithub.com/huynhicode) in
[https://github.com/mermaid-js/mermaid/pull/4468](https://togithub.com/mermaid-js/mermaid/pull/4468)
- Fix link to Tutorials from n00b-overview page by
[@&#8203;Spiderpig86](https://togithub.com/Spiderpig86) in
[https://github.com/mermaid-js/mermaid/pull/4472](https://togithub.com/mermaid-js/mermaid/pull/4472)
- Fix Directives Documentation by
[@&#8203;adamazing](https://togithub.com/adamazing) in
[https://github.com/mermaid-js/mermaid/pull/4475](https://togithub.com/mermaid-js/mermaid/pull/4475)
- Correct "Bronze" spelling in timeline docs by
[@&#8203;adamazing](https://togithub.com/adamazing) in
[https://github.com/mermaid-js/mermaid/pull/4467](https://togithub.com/mermaid-js/mermaid/pull/4467)
- Document recommended file extension and MIME type docs by
[@&#8203;bollwyvl](https://togithub.com/bollwyvl) in
[https://github.com/mermaid-js/mermaid/pull/4485](https://togithub.com/mermaid-js/mermaid/pull/4485)
- Fix typo in quadrant chart documentation by
[@&#8203;tobie](https://togithub.com/tobie) in
[https://github.com/mermaid-js/mermaid/pull/4512](https://togithub.com/mermaid-js/mermaid/pull/4512)
- fix cspell issues in \*.md files by
[@&#8203;Yokozuna59](https://togithub.com/Yokozuna59) in
[https://github.com/mermaid-js/mermaid/pull/4531](https://togithub.com/mermaid-js/mermaid/pull/4531)
- docs: Howto on foreground color on timelines by
[@&#8203;mcbeelen](https://togithub.com/mcbeelen) in
[https://github.com/mermaid-js/mermaid/pull/4524](https://togithub.com/mermaid-js/mermaid/pull/4524)
- Add citation.cff file by
[@&#8203;schackartk](https://togithub.com/schackartk) in
[https://github.com/mermaid-js/mermaid/pull/4521](https://togithub.com/mermaid-js/mermaid/pull/4521)
- Update Tutorials.md by
[@&#8203;ellenealds](https://togithub.com/ellenealds) in
[https://github.com/mermaid-js/mermaid/pull/4539](https://togithub.com/mermaid-js/mermaid/pull/4539)
- Add Standard Notes extension in integrations page by
[@&#8203;nienow](https://togithub.com/nienow) in
[https://github.com/mermaid-js/mermaid/pull/4557](https://togithub.com/mermaid-js/mermaid/pull/4557)
- Fix up Gantt Chart demo by
[@&#8203;AlexMooney](https://togithub.com/AlexMooney) in
[https://github.com/mermaid-js/mermaid/pull/4561](https://togithub.com/mermaid-js/mermaid/pull/4561)

#### Chore

- Update all patch dependencies (patch) by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/mermaid-js/mermaid/pull/4482](https://togithub.com/mermaid-js/mermaid/pull/4482)
- chore: revise Contributing documentation by
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon) in
[https://github.com/mermaid-js/mermaid/pull/3814](https://togithub.com/mermaid-js/mermaid/pull/3814)
- chore(deps): update all minor dependencies (minor) by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/mermaid-js/mermaid/pull/4435](https://togithub.com/mermaid-js/mermaid/pull/4435)
- fix(deps): update all patch dependencies (patch) by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/mermaid-js/mermaid/pull/4510](https://togithub.com/mermaid-js/mermaid/pull/4510)
- fix(deps): update all patch dependencies (patch) by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/mermaid-js/mermaid/pull/4535](https://togithub.com/mermaid-js/mermaid/pull/4535)
- chore(deps): update dependency eslint-plugin-jsdoc to v46 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/mermaid-js/mermaid/pull/4544](https://togithub.com/mermaid-js/mermaid/pull/4544)
- chore(deps): update dependency jsdom to v22 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/mermaid-js/mermaid/pull/4546](https://togithub.com/mermaid-js/mermaid/pull/4546)
- chore(deps): update dependency eslint-plugin-unicorn to v47 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/mermaid-js/mermaid/pull/4545](https://togithub.com/mermaid-js/mermaid/pull/4545)
- chore(deps): update dependency workbox-window to v7 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/mermaid-js/mermaid/pull/4547](https://togithub.com/mermaid-js/mermaid/pull/4547)
- chore(deps): update node.js to v20 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/mermaid-js/mermaid/pull/4548](https://togithub.com/mermaid-js/mermaid/pull/4548)
- fix(deps): update all patch dependencies (patch) by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/mermaid-js/mermaid/pull/4543](https://togithub.com/mermaid-js/mermaid/pull/4543)
- add `Suggested Solutions` field in `bug_report.yml` by
[@&#8203;Yokozuna59](https://togithub.com/Yokozuna59) in
[https://github.com/mermaid-js/mermaid/pull/4541](https://togithub.com/mermaid-js/mermaid/pull/4541)

#### New Contributors

- [@&#8203;Spiderpig86](https://togithub.com/Spiderpig86) made their
first contribution in
[https://github.com/mermaid-js/mermaid/pull/4472](https://togithub.com/mermaid-js/mermaid/pull/4472)
- [@&#8203;adamazing](https://togithub.com/adamazing) made their first
contribution in
[https://github.com/mermaid-js/mermaid/pull/4475](https://togithub.com/mermaid-js/mermaid/pull/4475)
- [@&#8203;koppor](https://togithub.com/koppor) made their first
contribution in
[https://github.com/mermaid-js/mermaid/pull/4096](https://togithub.com/mermaid-js/mermaid/pull/4096)
- [@&#8203;nirname](https://togithub.com/nirname) made their first
contribution in
[https://github.com/mermaid-js/mermaid/pull/4478](https://togithub.com/mermaid-js/mermaid/pull/4478)
- [@&#8203;Yokozuna59](https://togithub.com/Yokozuna59) made their first
contribution in
[https://github.com/mermaid-js/mermaid/pull/4486](https://togithub.com/mermaid-js/mermaid/pull/4486)
- [@&#8203;jonathan-r-young](https://togithub.com/jonathan-r-young) made
their first contribution in
[https://github.com/mermaid-js/mermaid/pull/4460](https://togithub.com/mermaid-js/mermaid/pull/4460)
- [@&#8203;tobie](https://togithub.com/tobie) made their first
contribution in
[https://github.com/mermaid-js/mermaid/pull/4512](https://togithub.com/mermaid-js/mermaid/pull/4512)
- [@&#8203;schackartk](https://togithub.com/schackartk) made their first
contribution in
[https://github.com/mermaid-js/mermaid/pull/4521](https://togithub.com/mermaid-js/mermaid/pull/4521)
- [@&#8203;mcbeelen](https://togithub.com/mcbeelen) made their first
contribution in
[https://github.com/mermaid-js/mermaid/pull/4524](https://togithub.com/mermaid-js/mermaid/pull/4524)
- [@&#8203;ellenealds](https://togithub.com/ellenealds) made their first
contribution in
[https://github.com/mermaid-js/mermaid/pull/4539](https://togithub.com/mermaid-js/mermaid/pull/4539)
- [@&#8203;nienow](https://togithub.com/nienow) made their first
contribution in
[https://github.com/mermaid-js/mermaid/pull/4557](https://togithub.com/mermaid-js/mermaid/pull/4557)
- [@&#8203;AlexMooney](https://togithub.com/AlexMooney) made their first
contribution in
[https://github.com/mermaid-js/mermaid/pull/4561](https://togithub.com/mermaid-js/mermaid/pull/4561)

**Full Changelog**:
mermaid-js/mermaid@v10.2.3...v10.2.4

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/levaintech/contented).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNDQuMiIsInVwZGF0ZWRJblZlciI6IjM1LjE0NC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

namespaced classes lose members if relation statement comes after namespace
3 participants