This tutorial demonstrates how to add a File URL selector in Feather widget's designer view. This selector lists files that you have inside Sitefinity's web application folder and allows you to select existing file. As a result, you get the selected file's URL.
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.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 components array. The content of the file should be similar to the following:
"components" : ["sf-file-url-selector"]
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:
designerModule = angular.module(
In your DesignerView.<YourView>.cshtml file, place the following tag anywhere in the HTML code:
The values of the attributes are scope properties that you must added in your widgets controller.
You use the sf-model attribute to set or retrieve selected file URL. You use the sf-extension attribute to restrict allowed files depending on their extension. The sf-extension attribute is a required attribute.
Back To Top