Skip to content

Conversation

@jeremystretch
Copy link
Member

@jeremystretch jeremystretch commented Nov 3, 2025

Closes: #20204

  • Implement new Layout, Row, and Column components to replace boilerplate HTML in templates
  • Introduce a set of Panels to render cards containing content
  • Introduce a set of ObjectAttributes for use within ObjectAttributePanels
  • Define programmatic layouts for a number of object views under dcim

Note: I am still in the process of writing documentation for the components.

TODO

  • Write plugin development documentation for UI components
  • Delete the relevant HTML from templates which have been replaced with layouts

@jeremystretch jeremystretch changed the title Closes #20204: Introduce modular temlate components Closes #20204: Introduce modular template components Nov 4, 2025
@jeremystretch jeremystretch requested review from a team and bctiemann and removed request for a team November 6, 2025 19:59
@jeremystretch jeremystretch marked this pull request as ready for review November 6, 2025 19:59
Parameters:
accessor: The dotted path to the attribute being rendered (e.g. "site.region.name")
label: Human-friendly label for the rendered attribute
template_name: The name of the template to render
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure about these parameter signatures in __init__ for these classes and the ones in panels.py. Is template_name a valid thing to list as a parameter here when it isn't being consumed in __init__ and can't be set directly on the class at instantiation?

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants