Skip to content

Apply dynamic styles to nested table #154

Description

@samiraguiar

Is it possible to have dynamic styles (e.g. different color based on the contents) for nested tables?
I couldn't get it to work and it doesn't seem to be possible because the table is print to a string without styles when nested.

Activity

  1. pinkforest commented on Mar 10, 2023

    @pinkforest
    Collaborator

    Could we sketch some examples of the desired minimal / ideal support(s) ?

  2. samiraguiar commented on Mar 11, 2023

    @samiraguiar
    Author

    Ideally it would be something like this:

    pub fn bool_icon(v: bool) -> Cell {
        if v {
            cell![Fgb -> "✔"]
        } else {
            cell![Frb -> "✘"]
        }
    }
    
    ...
    subtable.add_row(row![ "Enabled?", bool_icon(d.can_connect) ]);
    table.add_row(row![ "Details", subtable ]);
    ...

    Or without macros if not possible. When it's not inside a subtable I can workaround it by not using macros:

    table.add_row(Row::new(vec![
        Cell::new("Enabled?"),
        bool_icon(d.can_connect),
    ]));

    But with a subtable this doesn't work because it is converted to a string without styles first.

  3. pinkforest commented on Mar 11, 2023

    @pinkforest
    Collaborator

    Would you like to try a PR ?

  4. samiraguiar commented on Mar 16, 2023

    @samiraguiar
    Author

    Sure, I'd love to. I can't make promises on a time frame but I'll take a look when possible

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions