Skip to content

[NAE-1703] Dashboard #120

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

Merged
merged 56 commits into from
May 5, 2023
Merged

[NAE-1703] Dashboard #120

merged 56 commits into from
May 5, 2023

Conversation

mazarijuraj
Copy link
Contributor

@mazarijuraj mazarijuraj commented Sep 29, 2022

Description

Configurable dashboard and dashboard tile processes

Implements NAE-1703

How Has Been This Tested?

Manually

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes have been checked, personally or remotely, with @...
  • I have commented my code, particularly in hard-to-understand areas
  • I have resolved all conflicts with the target branch of the PR
  • I have updated and synced my code with the target branch
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing tests pass locally with my changes:
    • Lint test
    • Unit tests
    • Integration tests
  • I have checked my contribution with code analysis tools:
  • I have made corresponding changes to the documentation:
    • Developer documentation
    • User Guides
    • Migration Guides

minop and others added 30 commits September 7, 2022 12:59
- Empty Task ref component classes
- Don't filter out dashboard task ref fields when preprocessing data groups
- associate dashboard tiles with dashboard task ref field
- component resolver task ref field
- resolve dashboard rows/cols
- fix resolve dashboard rows/cols
- layout task ref dashboard grid tiles
- fix dashboard group title line present
- fix dashboard group lost layout information
- task ref dashboard tile content resolution
- fix task ref dashboard tile task content spinner
- task ref dashboard tile + button
- create task ref dashboard tile case on +
- task ref dashboard tile + is shown only if the task ref is editable and not blocked (assigned)
- create new task ref dashboard tile case instance and set relevant tile data
- set new task ref dashboard tile reference in the parent task ref
- fixed diagonal swap of dashboard + button positions
- change button type
- add border
- hidden fields in data groups are filtered only in the data groups that are immediately displayed (dashboard content is passed unfiltered until it reaches the display stage)
- dashboard line chart text field component prototype/example
- display the chart component as a text area when editable
- fix empty dashboard bugs
- add parent case id data when creating dashboard tile
- add portal card component
- add portal component registry service
- add iframe dashboard component
- register multiple example app components to dashboard registry
- add injector as component getter argument
- refresh content of task, when new tile is added by clicking +
machacjozef
machacjozef previously approved these changes Oct 7, 2022
- implemented abstract classes for filter components
- implemented tests for abstract classes for filter components
- added type resolution to dashboard-portal-component-registry.service.ts
- implemented dashboard constants enum
- reverted old method of implementing components for filter case, now using portals
renczesstefan and others added 5 commits October 12, 2022 12:09
- corrected tests
# Conflicts:
#	projects/netgrif-components-core/src/lib/data-fields/public-api.ts
- added resolution for grid, when col number is greater than 1 for tile
# Conflicts:
#	package.json
#	projects/netgrif-components-core/package.json
#	projects/netgrif-components/package.json
@sonarqubecloud
Copy link

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 11 Code Smells

40.7% 40.7% Coverage
0.0% 0.0% Duplication

machacjozef and others added 3 commits December 19, 2022 18:15
# Conflicts:
#	package.json
#	projects/netgrif-components-core/package.json
#	projects/netgrif-components/package.json
@sonarqubecloud
Copy link

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 11 Code Smells

40.7% 40.7% Coverage
0.0% 0.0% Duplication

],
bootstrap: [AppComponent]
})
export class AppModule {

constructor(registry: DashboardPortalComponentRegistryService) {
registry.register('email', (injector: Injector) => new ComponentPortal(EmailSubmissionFormComponent, null, injector));
Copy link
Member

Choose a reason for hiding this comment

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

I think it would be better to replace these string literals with constants.

public tabs = [];

constructor(public userService: UserService) {
const filter = SimpleFilter.fromCaseQuery({process: {identifier: 'dashboard'}}).merge(
Copy link
Member

Choose a reason for hiding this comment

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

Why are you using .merge? It is possible to define author and process in the same query, isn't it?

@@ -320,7 +326,7 @@ export abstract class AbstractTaskPanelComponent extends AbstractPanelWithImmedi
}

public canCollapse(): boolean {
return this._permissionService.canCollapse(this.taskPanelData.task);
return this._taskForceOpen ? false : this._permissionService.canCollapse(this.taskPanelData.task);
Copy link
Member

Choose a reason for hiding this comment

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

How does this force open work? If it is set to true, it is not possible to close the task?

- corrected text area.
@mazarijuraj mazarijuraj assigned minop and camperko and unassigned mazarijuraj Feb 3, 2023
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 6, 2023

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 11 Code Smells

40.6% 40.6% Coverage
0.0% 0.0% Duplication

renczesstefan and others added 2 commits April 20, 2023 14:08
- corrected bug, when fields are in wrong order, because hidden task ref is present in datagroup array
# Conflicts:
#	CHANGELOG.md
#	package.json
#	projects/nae-example-app/src/app/app.module.ts
#	projects/netgrif-components-core/package.json
#	projects/netgrif-components/package.json
#	projects/netgrif-components/src/lib/data-fields/data-fields.module.ts
#	projects/netgrif-components/src/lib/panel/panel.module.ts
@pull-request-quantifier-deprecated

This PR has 2574 quantified lines of changes. In general, a change size of upto 200 lines is ideal for the best PR experience!


Quantification details

Label      : Extra Large
Size       : +2423 -151
Percentile : 100%

Total files changed: 122

Change summary by file extension:
.md : +1 -0
.json : +12 -4
.ts : +2130 -127
.html : +152 -19
.scss : +128 -1

Change counts above are quantified counts, based on the PullRequestQuantifier customizations.

Why proper sizing of changes matters

Optimal pull request sizes drive a better predictable PR flow as they strike a
balance between between PR complexity and PR review overhead. PRs within the
optimal size (typical small, or medium sized PRs) mean:

  • Fast and predictable releases to production:
    • Optimal size changes are more likely to be reviewed faster with fewer
      iterations.
    • Similarity in low PR complexity drives similar review times.
  • Review quality is likely higher as complexity is lower:
    • Bugs are more likely to be detected.
    • Code inconsistencies are more likely to be detected.
  • Knowledge sharing is improved within the participants:
    • Small portions can be assimilated better.
  • Better engineering practices are exercised:
    • Solving big problems by dividing them in well contained, smaller problems.
    • Exercising separation of concerns within the code changes.

What can I do to optimize my changes

  • Use the PullRequestQuantifier to quantify your PR accurately
    • Create a context profile for your repo using the context generator
    • Exclude files that are not necessary to be reviewed or do not increase the review complexity. Example: Autogenerated code, docs, project IDE setting files, binaries, etc. Check out the Excluded section from your prquantifier.yaml context profile.
    • Understand your typical change complexity, drive towards the desired complexity by adjusting the label mapping in your prquantifier.yaml context profile.
    • Only use the labels that matter to you, see context specification to customize your prquantifier.yaml context profile.
  • Change your engineering behaviors
    • For PRs that fall outside of the desired spectrum, review the details and check if:
      • Your PR could be split in smaller, self-contained PRs instead
      • Your PR only solves one particular issue. (For example, don't refactor and code new features in the same PR).

How to interpret the change counts in git diff output

  • One line was added: +1 -0
  • One line was deleted: +0 -1
  • One line was modified: +1 -1 (git diff doesn't know about modified, it will
    interpret that line like one addition plus one deletion)
  • Change percentiles: Change characteristics (addition, deletion, modification)
    of this PR in relation to all other PRs within the repository.


Was this comment helpful? 👍  :ok_hand:  :thumbsdown: (Email)
Customize PullRequestQuantifier for this repository.

@mazarijuraj mazarijuraj merged commit 70cc52a into release/6.3.0 May 5, 2023
@mazarijuraj mazarijuraj deleted the NAE-1711 branch May 5, 2023 08:32
@sonarqubecloud
Copy link

sonarqubecloud bot commented May 5, 2023

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 17 Code Smells

39.9% 39.9% Coverage
0.0% 0.0% Duplication

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants