grafana / grafonnet

Jsonnet library for generating Grafana dashboards.
https://grafana.github.io/grafonnet/
Apache License 2.0
342 stars 18 forks source link

Improve wrapPanels #214

Closed v-zhuravlev closed 1 month ago

v-zhuravlev commented 1 month ago

Initial implementation (#110 ) of wrapPanels didn't support panels inside rows. This PR adds support for panels inside rows, so wrapPanels can properly calculate grid coordinates with collapsed rows as well. Useful in conjunction with g.util.panel.resolveCollapsedFlagOnRows:

        g.dashboard.new('Dash')
        + g.dashboard.withPanels(
          g.util.panel.resolveCollapsedFlagOnRows(
            g.util.grid.wrapPanels(
              [
              g.panel.row.new('row1')
              + g.panel.row.withCollapsed(true)
                + g.panel.row.withPanels(panels1),
              g.panel.row.new('row2')
              + g.panel.row.withCollapsed(true)
                + g.panel.row.withPanels(panels2),
              ]
            )
          ),
        ),
    },
v-zhuravlev commented 1 month ago

@Duologic is it ready to be merged?