This post is on the older side and its content may be out of date.
Be sure to visit our blogs homepage for our latest news, updates and information.
<
sitefinity:FlatSelector
ID
=
"pageSelector"
runat
=
"server"
ItemType
=
"Telerik.Sitefinity.Pages.Model.PageNode"
DataKeyNames
=
"Id"
ShowSelectedFilter
=
"false"
AllowPaging
=
"false"
PageSize
=
"10"
BindOnLoad
=
"true"
AllowSearching
=
"true"
ShowProvidersList
=
"true"
InclueAllProvidersOption
=
"false"
SearchBoxTitleText
=
"Filter by Title"
ShowHeader
=
"true"
AllowMultipleSelection
=
"true"
ServiceUrl
=
"~/Sitefinity/Services/Pages/PagesService.svc/"
>
<
DataMembers
>
<
sitefinity:DataMemberInfo
ID
=
"DataMemberInfoSelectedPage"
runat
=
"server"
Name
=
"Title"
IsExtendedSearchField
=
"true"
HeaderText
=
"Title"
>
<
span
>{{Title.Value}}</
span
>
</
sitefinity:DataMemberInfo
>
</
DataMembers
>
</
sitefinity:FlatSelector
>
public
override
IEnumerable<ScriptDescriptor> GetScriptDescriptors()
{
List<ScriptDescriptor> descriptors =
new
List<ScriptDescriptor>();
ScriptControlDescriptor descriptor =
base
.GetScriptDescriptors().Last()
as
ScriptControlDescriptor;
descriptor.AddElementProperty(
"selectButton"
,
this
.SelectButton.ClientID);
descriptor.AddElementProperty(
"lnkDone"
,
this
.DoneButton.ClientID);
descriptor.AddElementProperty(
"lnkCancel"
,
this
.CancelButton.ClientID);
descriptor.AddComponentProperty(
"pageSelector"
,
this
.PageSelector.ClientID);
descriptors.Add(descriptor);
return
descriptors.ToArray();
}
if
(
this
._selectButton) {
this
._selectButtonClickDelegate = Function.createDelegate(
this
,
this
._selectButtonClicked);
$addHandler(
this
._selectButton,
"click"
,
this
._selectButtonClickDelegate);
}
if
(
this
._lnkDone) {
this
._PagesDoneSelectingDelegate = Function.createDelegate(
this
,
this
._PagesDoneSelecting);
$addHandler(
this
._lnkDone,
"click"
,
this
._PagesDoneSelectingDelegate);
}
if
(
this
._lnkCancel) {
this
._PagesCancelDelegate = Function.createDelegate(
this
,
this
._PagesSelectorCloseHandler);
$addHandler(
this
._lnkCancel,
"click"
,
this
._PagesCancelDelegate);
}
_selectButtonClicked:
function
(sender, args) {
debugger;
this
._selectPagesDialog.dialog(
"open"
);
this
._dialogScrollToTop(
this
._selectPagesDialog);
this
.get_pageSelector().set_itemsFilter(
this
._itemsFilter);
this
.get_pageSelector().set_selectedKeys(
this
._value);
this
.get_pageSelector().dataBind();
return
false
;
},
_PagesDoneSelecting:
function
(sender, args) {
this
._selectPagesDialog.dialog(
"close"
);
var
arr =
new
Array();
var
selectedPages =
this
.get_pageSelector().get_selectedItems();
for
(
var
i = 0; i < selectedPages.length; i++) {
arr.push(selectedPages[i].Id);
}
//SET THE VALUE
this
._value = arr;
this
._setSelectedItemsLabel(arr.length);
return
false
;
},
Jen Peleva was a Principal frontend developer for the Sitefinity CMS.
Subscribe to get all the news, info and tutorials you need to build better business apps and sites