Feather: Events selector
This tutorial demonstrates how to add a Events selector in a Feather widget's designer view.
PREREQUISITES: You created at least one event item, so that the selector can use it. For more information, see Events.
Add Events selectors
- Feather automatically registers the scripts you need and, if no other designer view with explicitly set priority exists, Feather sets your designer view priority to
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>.json
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:
- 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 your
DesignerView.<YourView>.cshtml
file, place the following tag anywhere in the HTML code:
You can use the sf-selected-item
and sf-selected-item-id
attributes to access the selected value. The values of the attributes are scope properties that you must added in your widgets controller:
If you enabled multiple selection of items, add sf-multiselect
attribute. Then you must use the sf-selected-items
and sf-selected-ids
attributes instead of sf-selected-item
and sf-selected-id
.
For more information on multiple selection of items, see Feather: Use multiple items selectors.
To select which provider you want to work with, use the sf-provider
attribute. The attribute value must be a property in your scope that contains the name of the provider.