Css for new Sitefinity Admin controls
Hi,
Just started following the jobs sample and now have my own custom module. My next question is with the old version you were able to go into the generic content templates and copy the css so you got the same look and feel for your custom controls as sitefinity. How do you go about doing this with Sitefinity 4 beta.....
Thanks,
Chris
Hi Chris,
You need to create a custom definition for the module you have with the fields you are going to have. The styles will be loaded by the ModuleBase class.
sample code.
namespaceTelerik.Sitefinity.Modules.CustomModule
/// <summary>
/// This is a static class used to initialize the properties for all ContentView control views
/// of supplied by default for the CustomModule.
/// </summary>
internalstaticclassCustomModuleCustomModuleDefinition
#region Backend CustomModuleDefinition
staticCustomModuleCustomModuleDefinition()
// Ensure CustomModule module is initialized.
SystemManager.GetApplicationModule(CustomModule.ModuleName);
/// <summary>
/// Defines the ContentView control for CustomModule on the backend
/// </summary>
/// <param name="parent">The parent configuration element.</param>
/// <returns>A configured instance of <see cref="ContentViewControlElement"/>.</returns>
internalstaticContentViewControlElement DefineCustomModuleBackendContentView(ConfigElement parent)
// define content view control
var backendContentView = newContentViewControlElement(parent)
ControlDefinitionName = BackendDefinitionName,
ContentType =
typeof
(MyContentItem)
;
// *** define views ***
#region CustomModule backend list view
// this is our list view where we are going to use RadGrid control
var CustomModuleGridView = newMasterGridViewElement(backendContentView.ViewsConfig)
ViewName = CustomModuleCustomModuleDefinition.BackendListViewName,
ViewType =
typeof
(MasterGridView),
AllowPaging =
true
,
DisplayMode = FieldDisplayMode.Read,
ItemsPerPage = 50,
ResourceClassId =
typeof
(CustomModuleResources).Name,
SearchFields =
"Title"
,
SortExpression =
"Title ASC"
,
Title =
"CustomModuleTitle"
,
WebServiceBaseUrl =
"~/Sitefinity/Services/Content/CustomModuleItemService.svc/"
;
#region Toolbar definition
WidgetBarSectionElement masterViewToolbarSection = newWidgetBarSectionElement(CustomModuleGridView.ToolbarConfig.Sections);
var createCustomModuleWidget = newCommandWidgetElement(masterViewToolbarSection.Items)
Name =
"CreateCustomModuleWidget"
,
ButtonType = CommandButtonType.Create,
CommandName = CustomModuleDefinitionHelper.CreateCommandName,
Text =
"CreateItem"
,
ResourceClassId =
typeof
(CustomModuleResources).Name,
CssClass =
"sfMainAction"
,
WidgetType =
typeof
(CommandWidget),
PermissionSet = SecurityConstants.Sets.General.SetName,
ActionName = SecurityConstants.Sets.General.Create
;
masterViewToolbarSection.Items.Add(createCustomModuleWidget);
// do the same for delete
// masterViewToolbarSection.Items.Add(deleteCustomModuleWidget);
CustomModuleGridView.ToolbarConfig.Sections.Add(masterViewToolbarSection);
#endregion
var translationsContextBarSection = newLocalizationWidgetBarSectionElement(CustomModuleGridView.ContextBarConfig.Sections)
WrapperTagKey = HtmlTextWriterTag.Div,
CssClass =
"sfContextWidgetWrp"
,
MinLanguagesCountTreshold = CustomModuleDefinitionHelper.LanguageItemsPerRow
;
translationsContextBarSection.Items.Add(newCommandWidgetElement(translationsContextBarSection.Items)
Name =
"ShowMoreTranslations"
,
CommandName = CustomModuleDefinitionHelper.ShowMoreTranslationsCommandName,
ButtonType = CommandButtonType.SimpleLinkButton,
Text =
"ShowAllTranslations"
,
ResourceClassId =
typeof
(LocalizationResources).Name,
WidgetType =
typeof
(CommandWidget),
IsSeparator =
false
,
CssClass =
"sfShowHideLangVersions"
,
WrapperTagKey = HtmlTextWriterTag.Div
);
translationsContextBarSection.Items.Add(newCommandWidgetElement(translationsContextBarSection.Items)
Name =
"HideMoreTranslations"
,
CommandName = CustomModuleDefinitionHelper.HideMoreTranslationsCommandName,
ButtonType = CommandButtonType.SimpleLinkButton,
Text =
"ShowBasicTranslationsOnly"
,
ResourceClassId =
typeof
(LocalizationResources).Name,
WidgetType =
typeof
(CommandWidget),
IsSeparator =
false
,
CssClass =
"sfDisplayNone sfShowHideLangVersions"
,
WrapperTagKey = HtmlTextWriterTag.Div
);
CustomModuleGridView.ContextBarConfig.Sections.Add(translationsContextBarSection);
#endregion
#region Grid View Mode
var gridMode = newGridViewModeElement(CustomModuleGridView.ViewModesConfig)
Name =
"Grid"
;
CustomModuleGridView.ViewModesConfig.Add(gridMode);
DataColumnElement titleColumn = newDataColumnElement(gridMode.ColumnsConfig)
// this will bind the title automatically
Name =
"Title"
,
HeaderText = Res.Get<Labels>().Title,
ClientTemplate = @
"<a sys:href='javascript:void(0);' sys:class="
" 'sf_binderCommand_edit sfItemTitle sf' + UIStatus.toLowerCase()"
">
<strong>Title</strong>
<span
class
=
'sfStatusLocation'
>LifecycleStatus.Message</span></a>"
;
gridMode.ColumnsConfig.Add(titleColumn);
CustomModuleDefinitionHelper.FillActionMenuItems(actionsColumn.MenuItems, actionsColumn,
typeof
(CustomModule).Name);
gridMode.ColumnsConfig.Add(actionsColumn);
DataColumnElement authorColumn = newDataColumnElement(gridMode.ColumnsConfig)
Name =
"Author"
,
HeaderText = Res.Get<Labels>().Author,
ClientTemplate =
"<span>Author</span>"
,
HeaderCssClass =
"sfRegular"
,
ItemCssClass =
"sfRegular"
;
gridMode.ColumnsConfig.Add(authorColumn);
DataColumnElement dateColumn = newDataColumnElement(gridMode.ColumnsConfig)
///.format('dd MMM, yyyy hh:mm:ss')
Name =
"Date"
,
HeaderText = Res.Get<Labels>().Date,
ClientTemplate =
"<span> (DateCreated) ? DateCreated.sitefinityLocaleFormat('dd MMM, yyyy hh:mm:ss'): '-' </span>"
,
HeaderCssClass =
"sfDate"
,
ItemCssClass =
"sfDate"
;
gridMode.ColumnsConfig.Add(dateColumn);
#endregion
#region DecisionScreens definition
DecisionScreenElement dsElement = newDecisionScreenElement(CustomModuleGridView.DecisionScreensConfig)
Name =
"NoItemsExistScreen"
,
DecisionType = DecisionType.NoItemsExist,
MessageType = MessageType.Neutral,
Displayed =
false
,
Title =
"WhatDoYouWantToDoNow"
,
MessageText =
"NoContentItems"
,
ResourceClassId =
typeof
(CustomModule).Name
;
CommandWidgetElement actionCreateNew = newCommandWidgetElement(dsElement.Actions)
Name =
"Create"
,
ButtonType = CommandButtonType.Create,
CommandName = CustomModuleDefinitionHelper.CreateCommandName,
Text =
"CreateItem"
,
ResourceClassId =
typeof
(CustomModule).Name,
CssClass =
"sfCreateItem"
,
PermissionSet = SecurityConstants.Sets.General.SetName,
ActionName = SecurityConstants.Sets.General.Create
;
dsElement.Actions.Add(actionCreateNew);
CustomModuleGridView.DecisionScreensConfig.Add(dsElement);
#endregion
#region Dialogs definition
var parameters =
string
.Concat(
"?ControlDefinitionName="
,
CustomModuleDefinition.BackendDefinitionName,
"&ViewName="
,
CustomModuleDefinition.BackendInsertViewName);
DialogElement createDialogElement = CustomModuleDefinitionHelper.CreateDialogElement(
CustomModuleGridView.DialogsConfig,
CustomModuleDefinitionHelper.CreateCommandName,
"ContentViewInsertDialog"
,
parameters);
CustomModuleGridView.DialogsConfig.Add(createDialogElement);
parameters =
string
.Concat(
"?ControlDefinitionName="
,
CustomModuleDefinition.BackendDefinitionName,
"&ViewName="
,
CustomModuleDefinition.BackendEditViewName);
DialogElement editDialogElement = CustomModuleDefinitionHelper.CreateDialogElement(
CustomModuleGridView.DialogsConfig,
CustomModuleDefinitionHelper.EditCommandName,
"ContentViewEditDialog"
,
parameters);
CustomModuleGridView.DialogsConfig.Add(editDialogElement);
parameters =
string
.Concat(
"?ControlDefinitionName="
,
CustomModuleDefinition.BackendDefinitionName,
"&ViewName="
,
CustomModuleDefinition.BackendPreviewViewName);
DialogElement previewDialogElement = CustomModuleDefinitionHelper.CreateDialogElement(
CustomModuleGridView.DialogsConfig,
CustomModuleDefinitionHelper.PreviewCommandName,
"ContentViewEditDialog"
,
parameters);
CustomModuleGridView.DialogsConfig.Add(previewDialogElement);
stringpermissionsParams =
string
.Concat(
"?moduleName="
, CustomModuleDefinition.ModuleName,
"&typeName="
,
typeof
(MyContentItem).AssemblyQualifiedName,
"&title="
, Res.Get<CustomModule>().PermissionsForCustomModule);
DialogElement permissionsDialogElement = CustomModuleDefinitionHelper.CreateDialogElement(
CustomModuleGridView.DialogsConfig,
CustomModuleDefinitionHelper.PermissionsCommandName,
"ModulePermissionsDialog"
,
permissionsParams);
CustomModuleGridView.DialogsConfig.Add(permissionsDialogElement);
stringversioningParams =
string
.Concat(
"?ControlDefinitionName="
,
CustomModuleDefinition.BackendDefinitionName,
"&moduleName="
, CustomModuleDefinition.ModuleName,
"&typeName="
,
typeof
(MyCustomItem).AssemblyQualifiedName,
"&title="
, Res.Get<CustomModule>().PermissionsForCustomModule,
"&backLabelText="
, Res.Get<CustomModule>().BackToItems,
"&"
+ CustomModuleDefinition.ComparisonViewHistoryScreenQueryParameter +
"="
+ CustomModuleDefinition.VersionCompariosonView);
DialogElement versioningDialogElement = CustomModuleDefinitionHelper.CreateDialogElement(
CustomModuleGridView.DialogsConfig,
CustomModuleDefinitionHelper.HistoryCommandName,
"VersionHistoryDialog"
,
versioningParams);
CustomModuleGridView.DialogsConfig.Add(versioningDialogElement);
stringversioningGridParams =
string
.Concat(
"?ControlDefinitionName="
,
CustomModuleDefinition.BackendDefinitionName,
"&moduleName="
, CustomModuleDefinition.ModuleName,
"&typeName="
,
typeof
(MyCustomItem).AssemblyQualifiedName,
"&title="
, Res.Get<CustomModule>().PermissionsForCustomModule,
"&backLabelText="
, Res.Get<CustomModule>().BackToItems,
"&"
+ CustomModuleDefinition.ComparisonViewHistoryScreenQueryParameter +
"="
+ CustomModuleDefinition.VersionCompariosonView);
DialogElement versioningGridDialogElement = CustomModuleDefinitionHelper.CreateDialogElement(
CustomModuleGridView.DialogsConfig,
CustomModuleDefinitionHelper.HistoryGridCommandName,
"VersionHistoryDialog"
,
versioningGridParams);
CustomModuleGridView.DialogsConfig.Add(versioningGridDialogElement);
parameters =
string
.Concat(
"?ControlDefinitionName="
,
CustomModuleDefinition.BackendDefinitionName,
"&ViewName="
,
CustomModuleDefinition.BackendVersionPreviewViewName);
DialogElement previewVersionDialogElement = CustomModuleDefinitionHelper.CreateDialogElement(
CustomModuleGridView.DialogsConfig,
CustomModuleDefinitionHelper.VersionPreviewCommandName,
"ContentViewEditDialog"
,
parameters);
CustomModuleGridView.DialogsConfig.Add(previewVersionDialogElement);
#endregion
#region Links definition
var url = RouteHelper.ResolveUrl(
CustomModuleDefinitionHelper.GetBaseUrl(CustomModule.CommentsPageId),
UrlResolveOptions.Rooted | UrlResolveOptions.RemoveTrailingSlash);
LinkElement viewComments = newLinkElement(CustomModuleGridView.LinksConfig)
Name =
"viewComments"
,
CommandName = CustomModuleDefinitionHelper.CommentsCommandName,
NavigateUrl = url
;
CustomModuleGridView.LinksConfig.Add(viewComments);
url = RouteHelper.ResolveUrl(
CustomModuleDefinitionHelper.GetBaseUrl(SiteInitializer.AdvancedSettingsNodeId),
UrlResolveOptions.Rooted | UrlResolveOptions.RemoveTrailingSlash);
url +=
"/CustomModule"
;
LinkElement viewSettings = newLinkElement(CustomModuleGridView.LinksConfig)
Name =
"viewSettings"
,
CommandName = CustomModuleDefinitionHelper.SettingsCommandName,
NavigateUrl = url
;
CustomModuleGridView.LinksConfig.Add(viewSettings);
CustomModuleDefinitionHelper.CreateNotImplementedLink(CustomModuleGridView);
#endregion
backendContentView.ViewsConfig.Add(CustomModuleGridView);
#endregion
#region CustomModule backend details view
var CustomModuleEditDetailView = newDetailFormViewElement(backendContentView.ViewsConfig)
Title =
"EditItem"
,
ViewName = CustomModuleDefinition.BackendEditViewName,
ViewType =
typeof
(DetailFormView),
ShowSections =
true
,
DisplayMode = FieldDisplayMode.Write,
ShowTopToolbar =
false
,
ResourceClassId =
typeof
(CustomModule).Name,
WebServiceBaseUrl =
"~/Sitefinity/Services/Content/CustomModuleItemService.svc/"
,
IsToRenderTranslationView =
true
;
backendContentView.ViewsConfig.Add(CustomModuleEditDetailView);
#region Versioning Comparioson Screen
var versionComparisonView = newComparisonViewElement(backendContentView.ViewsConfig)
Title =
"VersionComparison"
,
ViewName = CustomModuleDefinition.VersionCompariosonView,
ViewType =
typeof
(VersionComparisonView),
DisplayMode = FieldDisplayMode.Read,
ResourceClassId =
typeof
(CustomModule).Name,
;
backendContentView.ViewsConfig.Add(versionComparisonView);
versionComparisonView.Fields.Add(newComparisonFieldElement(versionComparisonView.Fields) FieldName =
"Title"
, Title =
"lTitle"
, ResourceClassId =
typeof
(CustomModule).Name );
versionComparisonView.Fields.Add(newComparisonFieldElement(versionComparisonView.Fields) FieldName =
"Content"
, Title =
"lContent"
, ResourceClassId =
typeof
(CustomModule).Name );
versionComparisonView.Fields.Add(newComparisonFieldElement(versionComparisonView.Fields) FieldName =
"Author"
, Title =
"Author"
, ResourceClassId =
typeof
(CustomModule).Name );
versionComparisonView.Fields.Add(newComparisonFieldElement(versionComparisonView.Fields) FieldName =
"SourceName"
, Title =
"SourceName"
, ResourceClassId =
typeof
(CustomModule).Name );
#endregion
var CustomModuleDetailView = newDetailFormViewElement(backendContentView.ViewsConfig)
Title =
"CreateNewItem"
,
ViewName = CustomModuleDefinition.BackendInsertViewName,
ViewType =
typeof
(DetailFormView),
ShowSections =
true
,
DisplayMode = FieldDisplayMode.Write,
ShowTopToolbar =
false
,
ResourceClassId =
typeof
(CustomModule).Name,
WebServiceBaseUrl =
"~/Sitefinity/Services/Content/CustomModuleItemService.svc/"
,
IsToRenderTranslationView =
false
;
backendContentView.ViewsConfig.Add(CustomModuleDetailView);
var previewLocalization = newDictionary<
string
,
string
>()
"ItemVersionOfClientTemplate"
, Res.Get<VersionResources>().ItemVersionOfClientTemplate ,
"PreviouslyPublished"
, Res.Get<VersionResources>().PreviouslyPublishedBrackets ,
"CannotDeleteLastPublishedVersion"
, Res.Get<VersionResources>().CannotDeleteLastPublishedVersion
;
var previewExternalScripts = CustomModuleDefinitionHelper.GetExtenalClientScripts(
"Telerik.Sitefinity.Versioning.Web.UI.Scripts.VersionHistoryExtender.js, Telerik.Sitefinity"
,
"OnDetailViewLoaded"
);
var CustomModuleHistoryPreviewDetailView = newDetailFormViewElement(backendContentView.ViewsConfig)
Title =
"EditItem"
,
ViewName = CustomModuleDefinition.BackendVersionPreviewViewName,
ViewType =
typeof
(DetailFormView),
ShowSections =
true
,
DisplayMode = FieldDisplayMode.Read,
ShowTopToolbar =
false
,
ResourceClassId =
typeof
(CustomModule).Name,
ExternalClientScripts = previewExternalScripts,
WebServiceBaseUrl =
"~/Sitefinity/Services/Content/CustomModuleItemService.svc/"
,
ShowNavigation =
true
,
Localization = previewLocalization
;
backendContentView.ViewsConfig.Add(CustomModuleHistoryPreviewDetailView);
var CustomModulePreviewDetailView = newDetailFormViewElement(backendContentView.ViewsConfig)
Title =
"EditItem"
,
ViewName = CustomModuleDefinition.BackendPreviewViewName,
ViewType =
typeof
(DetailFormView),
ShowSections =
true
,
DisplayMode = FieldDisplayMode.Read,
ShowTopToolbar =
false
,
ResourceClassId =
typeof
(CustomModule).Name,
ExternalClientScripts = previewExternalScripts,
ShowNavigation =
true
,
WebServiceBaseUrl =
"~/Sitefinity/Services/Content/CustomModuleItemService.svc/"
;
backendContentView.ViewsConfig.Add(CustomModulePreviewDetailView);
#region CustomModule backend forms definition
#region Insert Form
CustomModuleCustomModuleDefinition.CreateBackendSections(CustomModuleInsertDetailView);
CustomModuleDefinitionHelper.CreateBackendFormToolbar(CustomModuleInsertDetailView,
typeof
(CustomModule).Name,
true
);
#endregion
#region Edit Form
CustomModuleDefinition.CreateBackendSections(CustomModuleEditDetailView);
CustomModuleDefinitionHelper.CreateBackendFormToolbar(CustomModuleEditDetailView,
typeof
(CustomModule).Name,
false
);
#endregion
#region Preview History Form
CreateBackendSections(CustomModuleHistoryPreviewDetailView, FieldDisplayMode.Read);
CustomModuleDefinitionHelper.CreateHistoryPreviewToolbar(CustomModuleHistoryPreviewDetailView,
typeof
(CustomModule).Name);
#endregion
#region Preview Form
CreateBackendSections(CustomModulePreviewDetailView, FieldDisplayMode.Read);
//TODO: add the preview screen toolbar widgets -->Edit,etc...
#endregion
#endregion
#endregion
returnbackendContentView;
#endregion
#region Frontend CustomModuleDefinition
/// <summary>
/// Defines the ContentView control for CustomModule on the frontend
/// </summary>
/// <param name="parent">The parent configuration element.</param>
/// <returns>A configured instance of <see cref="ContentViewControlElement"/>.</returns>
internalstaticContentViewControlElement DefineCustomModuleFrontendContentView(ConfigElement parent)
// define content view control
var controlDefinition = newContentViewControlElement(parent)
ControlDefinitionName = CustomModuleDefinition.FrontendDefinitionName,
ContentType =
typeof
(MyCustomItem)
;
// *** define views ***
#region CustomModule backend list view
var CustomModuleListView = newContentViewMasterElement(controlDefinition.ViewsConfig)
ViewName = CustomModuleDefinition.FrontendListViewName,
ViewType =
typeof
(MasterListView),
AllowPaging =
true
,
DisplayMode = FieldDisplayMode.Read,
ItemsPerPage = 20,
ResourceClassId =
typeof
(CustomModule).Name,
FilterExpression = CustomModuleDefinitionHelper.PublishedOrScheduledFilterExpression,
SortExpression =
"PublicationDate DESC"
;
controlDefinition.ViewsConfig.Add(CustomModuleListView);
#endregion
#region CustomModule backend details view
var CustomModuleDetailsView = newContentViewDetailElement(controlDefinition.ViewsConfig)
ViewName = CustomModuleDefinition.FrontendDetailViewName,
ViewType =
typeof
(DetailsSimpleView),
ShowSections =
false
,
DisplayMode = FieldDisplayMode.Read,
ResourceClassId =
typeof
(CustomModule).Name
;
controlDefinition.ViewsConfig.Add(CustomModuleDetailsView);
#endregion
returncontrolDefinition;
#endregion
#region Helper methods
privatestaticvoidCreateBackendSections(DetailFormViewElement detailView)
CreateBackendSections(detailView, FieldDisplayMode.Write);
/// <summary>
/// Creates the backend sections.
/// </summary>
privatestaticvoidCreateBackendSections(DetailFormViewElement detailView, FieldDisplayMode displayMode)
#region Version Section
if
(displayMode == FieldDisplayMode.Read)
var versionSection = newContentViewSectionElement(detailView.Sections)
Name =
"Sidebar"
,
CssClass =
"sfItemReadOnlyInfo"
;
var versionField = newVersionNoteControlDefinitionElement(versionSection.Fields)
Title = Res.Get<CustomModule>().lTitle,
ResourceClassId =
typeof
(CustomModule).Name,
FieldName =
"Comment"
,
WrapperTag = HtmlTextWriterTag.Li,
DisplayMode = displayMode
;
versionSection.Fields.Add(versionField);
detailView.Sections.Add(versionSection);
#endregion
#region Toolbar section
if
(detailView.ViewName == CustomModuleDefinition.BackendEditViewName)
var toolbarSection = newContentViewSectionElement(detailView.Sections)
Name = CustomModuleDefinitionHelper.ToolbarSectionName
;
var languageListFieldElement = newLanguageListFieldElement(toolbarSection.Fields)
ID =
"languageListField"
,
FieldType =
typeof
(LanguageListField),
ResourceClassId =
typeof
(CustomModule).Name,
Title = Res.Get<CustomModule>().Language,
DisplayMode = displayMode,
FieldName =
"languageListField"
,
DataFieldName =
"AvailableLanguages"
;
toolbarSection.Fields.Add(languageListFieldElement);
detailView.Sections.Add(toolbarSection);
#endregion
#region Main section
var mainSection = newContentViewSectionElement(detailView.Sections)
Name =
"MainSection"
,
;
var titleField = newTextFieldDefinitionElement(mainSection.Fields)
ID =
"titleFieldControl"
,
DataFieldName =
"Title"
,
DisplayMode = displayMode,
Title = Res.Get<CustomModuleResources>().lTitle,
CssClass =
"sfTitleField"
,
ResourceClassId =
typeof
(CustomModuleResources).Name,
WrapperTag = HtmlTextWriterTag.Li,
;
mainSection.Fields.Add(titleField);
#endregion
#region Status
CustomModuleDefinitionHelper.AddStatusFieldSectionDefinition(detailView,
typeof
(CustomModuleResources).Name, displayMode);
#endregion
#endregion
#region Constants
// define all public or static constraints here
#endregion
Erk and I thought it was going to be a simple case of just adding some css to what i've just wrote! :)
Think i'm going to get what i have working first then convert it as im also doing a intrasite module convert & vb.net -> c# port at the same time!
Thanks for the fast response!
Ok just got the basics all working in my test control so wanted to look at doing this. Bit confused where this goes does this go in my PublicControls/AuctionsOver?
You don't have a sample jobs app or something else that shows a full working model?
Thanks,
Chris
Hello Chris,
We are working on a sample module with public controls that will be available for downloading within two weeks. The module will have public controls and it will be similar to the Products module that we have for 3.x edition.
Greetings,
Ivan Dimitrov
the Telerik team
Ok thanks think i'll plod on just getting the code working then it's effectively to restyle it, just trying to workout the equivlant of CreateHostViewCommand("ViewName", itemId.ToString(), Nothing).
Thanks,
Chris
Can anyone give me a sample of this? I simply cant design admin forms based on my modules (document libraries fields). And also, I want to have a same look n feel all through admin section for both predefined modules and as well as custom modules.
Hi,
As you can see from the code above, each widget element has a CssClass
property where we set a class name that we get from an embedded resource. Each widget element uses its own css, so could you tell me which control appearance you want to mimic?
All the best,
Ivan Dimitrov
the Telerik team
Anyone?
Hello,
You can use ItemsGrid bound with a web service which will give you similar appearance.
<
sfLists:ItemsGrid
ID
=
"flatTaxa"
runat
=
"server"
ServiceBaseUrl
=
"~/Sitefinity/Services/MyService/MyUsers.svc/"
DataKeyNames
=
"Id"
BindOnSuccess
=
"true"
VisibleToolbars
=
"Top"
WrapperTagName
=
"div"
WrapperTagCssClass
=
"rgTopOffset sfLetterMarked"
CommandTagWrapperName
=
"span"
DefaultSortExpression
=
"Title ASC"
DeleteMultipleConfirmationMessage="<%$Resources:Labels, ItemsAreAboutToBeDeleted %>"
DeleteSingleConfirmationMessage="<%$Resources:Labels, AreYouSureYouWantToDeleteItem %>">
<
ToolboxItems
>
<
sitefinity:CommandToolboxItem
runat
=
"server"
ContainerId
=
"toolbar"
CommandName
=
"create"
CommandType
=
"CreateButton"
WrapperTagName
=
"li"
WrapperTagCssClass
=
"sfMainAction"
/>
<
sitefinity:CommandToolboxItem
runat
=
"server"
ContainerId
=
"toolbar"
CommandName
=
"groupDelete"
Text="<%$Resources:Labels, Delete %>" WrapperTagName="li" />
<
sitefinity:CommandToolboxItem
runat
=
"server"
ContainerId
=
"toolbar"
CommandName
=
"bulkEdit"
Text="<%$Resources:Labels, TagsBulkEdit %>" WrapperTagName="li" />
</
ToolboxItems
>
<
Links
>
<
sfDialog:LinkDefinition
CommandName
=
"viewItems"
/>
</
Links
>
<
Dialogs
>
<
sfDialog:DialogDefinition
OpenOnCommandName
=
"create"
Name
=
"UserData"
CssClass
=
"sfMaximizedWindow"
/>
</
Dialogs
>
<
Items
>
<
sfLists:ItemDescription
HeaderText="<%$ Resources:Labels, Date %>" Name="Date " IsSearchField="false" ItemCssClass="sfTitleCol" HeaderCssClass="sfTitleCol">
<
a
href
=
"#"
class
=
"sf_binderCommand_edit sfItemTitle"
>
Date
</
a
>
</
sfLists:ItemDescription
>
</
Items
>
</
sfLists:ItemsGrid
>
Sweet now that makes it even easier is this in RC2 mind you doesnt matter if not as final will be out soon!
Can anyone please provide a small example of how to use this class mentioned by Ivan? And where does configuration file of fields definition resides?
Can anybody over here tell me how and where to use this big class? I just need to have a little push that how does it work!
I really cant any way to have my module have top panel, sidebar etc as like other default modules.
Hello,
Please download the Product samples module and backend and fronthend themes that we have in our SDK.
Best wishes,
Ivan Dimitrov
the Telerik team