Project

General

Profile

Actions

Task #1351

closed

Tree structure - develop new frontend component for tree nodes

Added by Radek Tomiška over 5 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Radek Tomiška
Category:
Tree structures
Target version:
Start date:
10/26/2018
Due date:
% Done:

90%

Estimated time:
48.00 h
Owner:

Description

Find and use or develop new FE component for rendering and selecting tree nodes.

Requirements:
- traversing tree structure (use component for organizations and role catalogues)
- selecting items in forms (e.g. on identity contract detail - work position)

Implementation notes:
- traversing tree structure:
-- expand tree node children with pagination + show more link (or load automatically by waypoint)
-- "+" for expand tree node, "click" on node name - show path above and children as root (idea of standard desktop explorers)
-- show quick buttons on the top (with path from root) for operations with the selected node (e.g. show detail + custom buttons which depends on component usage - the same as Table component)
- selecting items:
-- single select at least
-- multiselect with ctrl / shift can be implemented
-- add basic validation support (required, validation callback + asterisk)


Files

catalogue-selected.png (35.8 KB) catalogue-selected.png Radek Tomiška, 11/08/2018 01:49 PM
tree-selected.png (41.7 KB) tree-selected.png Radek Tomiška, 11/08/2018 01:49 PM

Related issues

Related to IdStory Identity Manager - Defect #1064: Opening sub nodes of another rootClosedRadek Tomiška04/09/2018

Actions
Related to IdStory Identity Manager - Task #491: Filling the organization element filter by clicking on org. tree.ClosedRadek Tomiška06/06/2017

Actions
Related to IdStory Identity Manager - Task #168: Component Tree - implement paginationClosedRadek Tomiška10/21/2016

Actions
Related to IdStory Identity Manager - Task #1358: Save tree state (expanded, selected node) in redux storeNewRadek Tomiška11/01/2018

Actions
Related to IdStory Identity Manager - Task #1359: FE: CodeableField componentRejectedRadek Tomiška11/02/2018

Actions
Related to IdStory Identity Manager - Task #908: Empty line in the organizational structureClosedRadek Tomiška01/15/2018

Actions
Related to IdStory Identity Manager - Task #1369: FE: Tree component - multi select, usage for role composition (business roles)ClosedRadek Tomiška11/08/2018

Actions
Actions #1

Updated by Radek Tomiška over 5 years ago

  • File tree.png added
  • % Done changed from 0 to 60

Basic tree component is implemented and is used on tree structure and role catalogue

Remains:
- using component in forms
- extract styles to less
- add tooltips + locales
- readme

Actions #2

Updated by Radek Tomiška over 5 years ago

  • File deleted (tree.png)
Actions #3

Updated by Radek Tomiška over 5 years ago

  • Related to Defect #1064: Opening sub nodes of another root added
Actions #4

Updated by Radek Tomiška over 5 years ago

  • Category changed from Frontend to Tree structures
Actions #5

Updated by Radek Tomiška over 5 years ago

  • Related to Task #491: Filling the organization element filter by clicking on org. tree. added
Actions #6

Updated by Radek Tomiška over 5 years ago

  • Related to Task #168: Component Tree - implement pagination added
Actions #7

Updated by Radek Tomiška over 5 years ago

  • Related to Task #1358: Save tree state (expanded, selected node) in redux store added
Actions #8

Updated by Radek Tomiška over 5 years ago

  • Estimated time changed from 40.00 h to 48.00 h

Tree component used in:
- role catalogue form
- contact form
- other position form
- filters - identity table, role table, tree node table

Remain:
- use tree component in time slices, automatic roles by tree structure, synchronization
- extract styles to less
- readme
- new renderers for usage in eavs

Actions #9

Updated by Radek Tomiška over 5 years ago

  • Related to Task #1359: FE: CodeableField component added
Actions #10

Updated by Radek Tomiška over 5 years ago

  • Related to Task #908: Empty line in the organizational structure added
Actions #11

Updated by Radek Tomiška over 5 years ago

  • Related to Task #1369: FE: Tree component - multi select, usage for role composition (business roles) added
Actions #12

Updated by Radek Tomiška over 5 years ago

Tree node component is implemented with needed features and is used on all places. New renderers for selecting tree nodes, roles and role catalogue in eav were added. Quick buttons on the top of the tree (e.g. detail button) was not implemented - selected node is implemented a different way (screenshots added).
I refactored 'RoleSelect' component - it works the same way as other two components.
I simplified tree node selection - choosing tree type is possible in the modal. Default tree type (overridable by the force search parametrs) is used in the single select box.

Additional features will be implemented in related tasks (e.g. multi select).

Commit:
https://github.com/bcvsolutions/CzechIdMng/commit/f0dd9a102ecc22c35b5223e4cd4cc71d805fbaba
Doc:
https://github.com/bcvsolutions/CzechIdMng/tree/develop/Realization/frontend/czechidm-core/src/components/advanced/Tree
https://github.com/bcvsolutions/CzechIdMng/commit/f0dd9a102ecc22c35b5223e4cd4cc71d805fbaba#diff-4ac32a78649ca5bdd8e0ba38b7006a1e

Could you do a feedback please?

Actions #13

Updated by Ondřej Kopr over 5 years ago

  • Assignee changed from Ondřej Kopr to Radek Tomiška
I tested your new component on these browsers:
  • Google chrome 70.0.3538.67,
  • IE 11.345.17134.0,
  • Edge 42.17134.1.0,
  • Opera 56.0.3051.99,
  • Firefox 63.0.

Behavior with select and filtering works for all browsers (user agenda and request for roles)

I only change icon for tree structure, from tree to folder. Commit: https://github.com/bcvsolutions/CzechIdMng/commit/c1695151c185dceca491886fafabbd65b7fa2574

I have only one question about behavior with select tree node that contains another nodes, we can consult this behavior tomorrow.

Actions #14

Updated by Radek Tomiška over 5 years ago

  • Status changed from Needs feedback to Closed

Thx for feedback!

I changed behavior with tree node selection - tree mode is used now everywhere, as we consulted.

Actions

Also available in: Atom PDF