Uploaded image for project: 'SAFe Program'
  1. SAFe Program
  2. SP-2192

CLONE - Containers used to group widgets in Taranta

Details

    • Obs Mgt & Controls
    • Hide

      The ability to nest boxes supports expectations of users (this is the normal behavior of many graphical tools that allow grouping/ungrouping of things), and makes users much more productive because this supports introduction of different levels of abstractions in the dashboard.

      This makes the development of complex dashboards less painful, time consuming and error prone.

      In addition, the ability to nest boxes is particularly important because in this way you can split the area of a box in rows and then within each row you can layout things by columns. Without the ability to nest boxes this cannot be done.

      Show
      The ability to nest boxes supports expectations of users (this is the normal behavior of many graphical tools that allow grouping/ungrouping of things), and makes users much more productive because this supports introduction of different levels of abstractions in the dashboard. This makes the development of complex dashboards less painful, time consuming and error prone. In addition, the ability to nest boxes is particularly important because in this way you can split the area of a box in rows and then within each row you can layout things by columns. Without the ability to nest boxes this cannot be done.
    • Hide

      We need to enhance the behavior of the "container widget" (aka "box") so that:

      • in the editor view one can put a box (empty or with some widget) inside another box; possibly by drag and drop;
      • in the editor view one can extract a box from a box and put elsewhere without loosing its content nor its configuration; possibly by drag and drop;
      • when running a dashboard widgets included in any box (nested or not) are updated as any other widget, and users can interact with them.
      • there will be no nesting of boxes at 2+ levels;
        • a dashboard can have 1+ boxes, and each of them could have 1+ boxes;
        • but these "boxes inside boxes" cannot have other sub-boxes.
        • (This is due to the particular structure of the React code in the Taranta frontend. Depending on how people will use the box widgets, we will decide if it will be worth implementing it in PI14).
      • there will be ways for the user to specify the size (width or height) of the widgets of a box:
        • by default the size will be "auto", meaning that the unallocated space of the box will be equally divided among all the "auto" widgets;
        • the user can edit the size of a widget inside a box by specifying a size in %age such that:
          • 0<s<=100, and the sum of all the sizes <= 100%  
      • it is possible that the rows/columns of a box do not occupy  the entire space available. In such a case the user should be able to specify that the box content is either "aligned-left", "aligned-right", "aligned-center" (the possible empty space is put all to the right of the widgets, to the left, or at both ends - in the case of a horizontal layout). By default: "aligned-center". The white space should be rendered as space painted in the background color of the box.
      Show
      We need to enhance the behavior of the "container widget" (aka "box") so that: in the editor view one can put a box (empty or with some widget) inside another box; possibly by drag and drop; in the editor view one can extract a box from a box and put elsewhere without loosing its content nor its configuration; possibly by drag and drop; when running a dashboard widgets included in any box (nested or not) are updated as any other widget, and users can interact with them. there will be no nesting of boxes at 2+ levels; a dashboard can have 1+ boxes, and each of them could have 1+ boxes; but these "boxes inside boxes" cannot have other sub-boxes. (This is due to the particular structure of the React code in the Taranta frontend. Depending on how people will use the box widgets, we will decide if it will be worth implementing it in PI14). there will be ways for the user to specify the size (width or height) of the widgets of a box: by default the size will be "auto", meaning that the unallocated space of the box will be equally divided among all the "auto" widgets; the user can edit the size of a widget inside a box by specifying a size in %age such that: 0<s<=100, and the sum of all the sizes <= 100%   it is possible that the rows/columns of a box do not occupy  the entire space available. In such a case the user should be able to specify that the box content is either "aligned-left", "aligned-right", "aligned-center" (the possible empty space is put all to the right of the widgets, to the left, or at both ends - in the case of a horizontal layout). By default: "aligned-center". The white space should be rendered as space painted in the background color of the box.
    • 3
    • 3
    • 40
    • 13.333
    • Team_CREAM
    • Sprint 3
    • Hide

      The feature has been demoed privately to FO.

      Documentation is available in the following link: https://taranta.readthedocs.io/en/sp-1406/box.html

      Merge request is available here.

      Show
      The feature has been demoed privately to FO. Documentation is available in the following link: https://taranta.readthedocs.io/en/sp-1406/box.html Merge request is available here .
    • 13.6
    • Stories Completed, Integrated, BDD Testing Passes (no errors), Outcomes Reviewed, Demonstrated, Satisfies Acceptance Criteria, Accepted by FO
    • PI22 - UNCOVERED

    • Taranta Team_CREAM webjive

    Description

      this is a clone of sp-1406 https://jira.skatelescope.org/browse/SP-1406  because substantial work was done in PI12 but also substantial value is missing, and expected to be achieved in PI13, namely the ability to have nested boxes.

       In view of the demo held today (25 Nov) we need also to revise the way in which widgets are automatically sized inside a box. Bootstrap (a web library developed by Twitter) divides the space in 12 virtual columns and then each widget placed in the box has to occupy 1 or more of those 12ths. We could do something similar here, but to simplify handling small widgets like an LEDs, instead of 12s we could use 100s.

      My proposal:

      • a box space is divided into 100s (either vertically or horizontally);
      • widgets can be put there so that they are automatically sized (each of them using the same proportion of available space), or the designer can configure a specific widget to occupy N% of the space; 
      • the width (or alternatively height) of a widget is a property that can be changed  over time, also after the widget has been added to the box;
      • unless at least one of the widgets has the "auto" size enabled, it is possible that the row/column of widgets does not occupy  the entire space available. In such a case it would be good to be to able to specify that the box content is either "aligned-left", "aligned-right", "aligned-center" (the possible empty space is put all to the right of the widgets, to the left, or at both ends - in the case of a horizontal layout). 

       

      Attachments

        Issue Links

          Structure

            Activity

              People

                Adam.Avison Avison, Adam
                g.brajnik Brajnik, Giorgio
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Feature Progress

                  Story Point Burn-up: (100.00%)

                  Feature Estimate: 3.0

                  IssuesStory Points
                  To Do00.0
                  In Progress   00.0
                  Complete1441.0
                  Total1441.0

                  Dates

                    Created:
                    Updated:
                    Resolved:

                    Structure Helper Panel