Add page-state icons to content nodes in the backoffice.
v2.0.1 - Adds appropriate hover styles to sort handle
v2.0 - Adds full support for icon packages (Belle / FontAwesome / Google Material) and improves CSS - icon positioning previously went a bit skewy on nested nodes, should be ok now.
Still seeing an intermittent issue where the show/hide children arrow is not rendered - to replicate, change a property on a node (with children) to trigger a Stately icon change. Refresh the browser. Occasionally the show/hide children arrows are not rendered. Switching to another backoffice section then back to the content pane corrects it.
Looks like the tree-rendering Javascript service is returning false for the hasChildren property on the nodes. Not sure how Stately would be causing that, but will continue to investigate.
***
Long-time fans of Umbraco will be familiar with the Page State Icons package (bitbucket.org/umbristol/page-state-icons) - Stately is a v7 implementation of the same functionality.
Stately adds a new dashboard to the settings section of your Umbraco installation.
From the dashboard, you can configure rules for displaying page-state icons - set a property alias, true/false and choose an icon.
The settings are stored in a config file that comes preloaded with best-practice Umbraco properties, being umbracoNaviHide, umbracoRedirect and umbracoUrlAlias.
Stately will match on either the presence of a property value (ie bodyText[true] will add an icon to any node where the bodyText property contains any value) or the presence of a true/false value (ie umbracoNaviHide[false] will add an icon to any node where umbracoNaviHide is set to false).
Stately will only match once per node - it iterates the config values and applies the first match. Given that, the order of the properties in the dashboard can be used to prioritise particular icons.
Umbraco's default page-state indicators take precedence over Stately - the has-unpublished-version class will always be displayed ahead of any Stately defined icons.