Geta shop
DevelopmentOptimizely
Mattias Olsson29 april 2015

Using EPiServer's content selector widget in dojo component

The server-side part

As I needed a way to pass settings to my dojo component, for example AllowedTypes and Roots for the content selector, I let my component inherit from EPiServer.Shell.ViewComposition.ComponentDefinitionBase and overrode the CreateComponent method.

public override IComponent CreateComponent() { IComponent component = base.CreateComponent(); component.Settings.Add(new Setting("startpageContentLink", SiteDefinition.Current.StartPage, false)); component.Settings.Add(new Setting("allowedTypes", new [] { typeof(PageData) }, false )); component.Settings.Add(new Setting("storeUrl", "/api/myapicontroller/", false)); return component; } The client-side part Dojo template

<div data-dojo-attach-point="stateNode, tooltipNode" class="dijit dijitReset dijitInline"> <div class="dijit dijitReset"> <div class="nho-content-picker dijit dijitReset dijitInline" data-dojo-attach-point="contentPickerContainer"></div> <div data-dojo-attach-point="btnSelectPage" data-dojo-type="dijit/form/Button" data-dojo-attach-event="onClick: _onSelectPageClick">Add page</div> </div> </div> Javascript

Using EPiServer's content selector widget in dojo component | Geta Digital