Feather: Role selector
Feather Role selector enables you to display a list of all existing roles defined in your website. You can use the selector in the frontend or backend of your site. For example, you can use the selector on a page or in a widget designer.
For more information about roles in Sitefinity CMS, see Overview: Roles.
Add Roles selectors
In this example, you add a role selector in a widget designer's view. To add the role selector:
-
Feather automatically registers the scripts you need and, if no other designer view with explicitly set priority exists, Feather sets your designer view priority 1. In case you need to have full control over the scripts that are loaded or you want to set custom priority, you can alternatively create your own
DesignerView.YourView.jso
n
file. If you have a JSON
file that matches the convention (even if empty), this automatic scripts registration will not occur. In your DesignerView.<YourView>.json
file, add a scripts
array. The content of the file should be similar to the following:
NOTE: For more information on the scripts that you must load, see Feather: List of selectors scripts reference.
-
Feather automatically finds all AngularJS modules you rely on and references the widget designer to them. In case you rely on custom AngularJS modules or have logic that needs an AngularJS controller, you can create your own
designerview-<yourview>.js
file. If you have a .js
file that matches the convention (even if empty), this automatic modules referencing will not occur. In your designerview-<yourview>.js
file, place the following code right before the definition of your custom view controller:
In the code above, you use the propertyService
to load the properties from the widget. Next, you create a scope property to hold the value of the selectedItemId
and selectedItem
. Finally, you subscribe for any changes in the scope.
NOTE: You can use the sf-selected-item
and sf-selected-item-id
;attributes to access the selected value.
If you enabled multiple selection of items, you must use the sf-selected-items
and sf-selected-ids
attributes. For more information on multiple selection of items, see Feather: Us multiple content items selectors.
-
In your
DesignerView.YourView.cshtml
place the following tag where you want to render the role selector:
Get and set the selected item
The values of the attributes are scope properties that you must add in your widgets controller: