private ChoiceFieldDefinition BuildFrameworkChoiceFieldDefinition(FieldDisplayMode displayMode, bool isHidden) { var frameworkField = new ChoiceFieldDefinition() { ID = "FormFramework", DataFieldName = "Framework", Title = "WebFrameworkTitle", Description = "WebFrameworkDescription", DisplayMode = displayMode, WrapperTag = HtmlTextWriterTag.Li, MutuallyExclusive = true, ResourceClassId = typeof(PageResources).Name, RenderChoiceAs = RenderChoicesAs.RadioButtons, CssClass = "sfFormSeparator", FieldType = typeof(ChoiceField), Hidden = isHidden }; frameworkField.Choices.Add(new ChoiceDefinition() { Text = "MVCOnly", ResourceClassId = typeof(PageResources).Name, Value = ((int)FormFramework.Mvc).ToString() }); frameworkField.Choices.Add(new ChoiceDefinition() { Text = "WebFormsOnly", ResourceClassId = typeof(PageResources).Name, Value = ((int)FormFramework.WebForms).ToString() }); return(frameworkField); }
private ChoiceFieldDefinition BuildFrameworkChoiceFieldDefinition(FieldDisplayMode displayMode) { var frameworkField = new ChoiceFieldDefinition() { ID = "FormFramework", DataFieldName = "Framework", Title = "WebFrameworkTitle", Description = "WebFrameworkDescription", DisplayMode = displayMode, WrapperTag = HtmlTextWriterTag.Li, MutuallyExclusive = true, ResourceClassId = typeof(PageResources).Name, RenderChoiceAs = RenderChoicesAs.RadioButtons, CssClass = "sfFormSeparator", FieldType = typeof(ChoiceField) }; frameworkField.Choices.Add(new ChoiceDefinition() { Text = "MVCOnly", ResourceClassId = typeof(PageResources).Name, Value = ((int)FormFramework.Mvc).ToString() }); frameworkField.Choices.Add(new ChoiceDefinition() { Text = "WebFormsOnly", ResourceClassId = typeof(PageResources).Name, Value = ((int)FormFramework.WebForms).ToString() }); return frameworkField; }
private void ExtendBackendDefinition(IContentViewControlDefinition contentViewControlDefinition, string backendViewName, FieldDisplayMode displayMode) { var backendEditViewDefinition = contentViewControlDefinition.Views.FirstOrDefault(v => v.ViewName == backendViewName) as DetailFormViewDefinition; if (backendEditViewDefinition != null) { ContentViewSectionDefinition advancedSection = backendEditViewDefinition.Sections.FirstOrDefault(s => s.Name == FormsDefinitionsExtender.AdvancedSectionName) as ContentViewSectionDefinition; if (advancedSection != null && SystemManager.GetApplicationModule(advancedSection.ModuleName) != null) { var fieldDefinition = this.BuildFrameworkChoiceFieldDefinition(displayMode); ((IList<IFieldDefinition>)advancedSection.Fields).Add(fieldDefinition); } else { advancedSection = new ContentViewSectionDefinition() { CssClass = "sfExpandableForm", DisplayMode = FieldDisplayMode.Write, IsHiddenInTranslationMode = false, ModuleName = "Feather", Name = Guid.NewGuid().ToString(), ResourceClassId = typeof(Labels).Name, Title = "Advanced", WrapperTag = HtmlTextWriterTag.Div }; backendEditViewDefinition.Sections.Add(advancedSection); var fieldDefinition = this.BuildFrameworkChoiceFieldDefinition(displayMode); ((IList<IFieldDefinition>)advancedSection.Fields).Add(fieldDefinition); } } }
private void ExtendBackendDefinition(IContentViewControlDefinition contentViewControlDefinition, string backendViewName, FieldDisplayMode displayMode) { var backendEditViewDefinition = contentViewControlDefinition.Views.FirstOrDefault(v => v.ViewName == backendViewName) as IDetailFormViewDefinition; if (backendEditViewDefinition != null) { var advancedSection = backendEditViewDefinition.Sections.FirstOrDefault(s => s.Name == FormsDefinitionsExtender.AdvancedSectionName); if (advancedSection != null) { var fieldDefinition = this.BuildFrameworkChoiceFieldDefinition(displayMode); ((IList<IFieldDefinition>)advancedSection.Fields).Add(fieldDefinition); } } }
private void ExtendBackendDefinition(IContentViewControlDefinition contentViewControlDefinition, string backendViewName, FieldDisplayMode displayMode, bool isHidden) { var backendEditViewDefinition = contentViewControlDefinition.Views.FirstOrDefault(v => v.ViewName == backendViewName) as DetailFormViewDefinition; if (backendEditViewDefinition != null) { ContentViewSectionDefinition advancedSection = backendEditViewDefinition.Sections.FirstOrDefault(s => s.Name == FormsDefinitionsExtender.AdvancedSectionName) as ContentViewSectionDefinition; if (advancedSection != null && SystemManager.GetApplicationModule(advancedSection.ModuleName) != null) { var fieldDefinition = this.BuildFrameworkChoiceFieldDefinition(displayMode, isHidden); ((IList <IFieldDefinition>)advancedSection.Fields).Add(fieldDefinition); } else { advancedSection = new ContentViewSectionDefinition() { CssClass = "sfExpandableForm", DisplayMode = FieldDisplayMode.Write, IsHiddenInTranslationMode = false, ModuleName = "Feather", Name = Guid.NewGuid().ToString(), ResourceClassId = typeof(Labels).Name, Title = "Advanced", WrapperTag = HtmlTextWriterTag.Div }; backendEditViewDefinition.Sections.Add(advancedSection); var fieldDefinition = this.BuildFrameworkChoiceFieldDefinition(displayMode, false); ((IList <IFieldDefinition>)advancedSection.Fields).Add(fieldDefinition); } } }
private static void CreateBackendSections(DetailFormViewElement detailView, FieldDisplayMode displayMode) { #region Toolbar section if (detailView.ViewName == ProductsDefinitions.BackendEditViewName) { var toolbarSection = new ContentViewSectionElement(detailView.Sections) { Name = DefinitionsHelper.ToolbarSectionName }; var languageListFieldElement = new LanguageListFieldElement(toolbarSection.Fields) { ID = "languageListField", FieldType = typeof(LanguageListField), ResourceClassId = typeof(LocalizationResources).Name, Title = "OtherTranslationsColon", DisplayMode = displayMode, FieldName = "languageListField", DataFieldName = "AvailableLanguages" }; toolbarSection.Fields.Add(languageListFieldElement); detailView.Sections.Add(toolbarSection); } #endregion #region Main section var mainSection = new ContentViewSectionElement(detailView.Sections) { Name = "MainSection", CssClass = "sfFirstForm" }; var titleField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "titleFieldControl", DataFieldName = (displayMode == FieldDisplayMode.Write) ? "Title.PersistedValue" : "Title", DisplayMode = displayMode, Title = "lTitle", CssClass = "sfTitleField", ResourceClassId = typeof(ProductsResources).Name, WrapperTag = HtmlTextWriterTag.Li, }; titleField.ValidatorConfig = new ValidatorDefinitionElement(titleField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "TitleCannotBeEmpty", ResourceClassId = typeof(ProductsResources).Name }; mainSection.Fields.Add(titleField); if (detailView.ViewName == ProductsDefinitions.BackendEditViewName || detailView.ViewName == ProductsDefinitions.BackendInsertViewName) { var languageChoiceField = new ChoiceFieldElement(mainSection.Fields) { ID = "languageChoiceField", FieldType = typeof(LanguageChoiceField), ResourceClassId = typeof(ProductsResources).Name, Title = "Language", DisplayMode = displayMode, FieldName = "languageField", RenderChoiceAs = RenderChoicesAs.DropDown, MutuallyExclusive = true, DataFieldName = "AvailableLanguages" }; mainSection.Fields.Add(languageChoiceField); } var dropDownTaxonomyField = new TaxonFieldDefinitionElement(mainSection.Fields) { ID = "testTaxonomyField", Title = "Colors", DataFieldName = "Colors", TaxonomyId = ProductsModule.ColorsTaxonomyId, FieldType = typeof(TaxonomyDropDownField), DisplayMode = displayMode, }; mainSection.Fields.Add(dropDownTaxonomyField); var contentField = new HtmlFieldElement(mainSection.Fields) { ID = "contentFieldControl", DataFieldName = (displayMode == FieldDisplayMode.Write) ? "Content.PersistedValue" : "Content", DisplayMode = displayMode, CssClass = "sfFormSeparator sfContentField", ResourceClassId = typeof(ProductsResources).Name, WrapperTag = HtmlTextWriterTag.Li, EditorContentFilters = Telerik.Web.UI.EditorFilters.DefaultFilters, EditorStripFormattingOptions = (Telerik.Web.UI.EditorStripFormattingOptions?)(Telerik.Web.UI.EditorStripFormattingOptions.MSWord | Telerik.Web.UI.EditorStripFormattingOptions.Css | Telerik.Web.UI.EditorStripFormattingOptions.Font | Telerik.Web.UI.EditorStripFormattingOptions.Span | Telerik.Web.UI.EditorStripFormattingOptions.ConvertWordLists) }; mainSection.Fields.Add(contentField); //Product Image var productImageField = new ImageFieldElement(mainSection.Fields) { ID = "avatarField", DataFieldName = "ProductImage", DisplayMode = displayMode, UploadMode = ImageFieldUploadMode.Dialog, Title = "ProductImageFieldTitle", WrapperTag = HtmlTextWriterTag.Li, CssClass = "sfUserAvatar", ResourceClassId = typeof(ProductsResources).Name, DataFieldType = typeof(ContentLink), DefaultSrc = "~/SFRes/images/ProductCatalogSample/Images.NoProductImage.png", // put your default image location example: SizeInPx = 100 }; mainSection.Fields.Add(productImageField); var summaryField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "whatsInTheBoxFieldControl", DataFieldName = (displayMode == FieldDisplayMode.Write) ? "WhatIsInTheBox.PersistedValue" : "WhatIsInTheBox", DisplayMode = displayMode, Title = "WhatIsInTheBox", CssClass = "sfFormSeparator", WrapperTag = HtmlTextWriterTag.Li, ResourceClassId = typeof(ProductsResources).Name, Rows = 5 }; summaryField.ExpandableDefinitionConfig = new ExpandableControlElement(summaryField) { Expanded = false, ExpandText = "ClickToAddSummary", ResourceClassId = typeof(ProductsResources).Name }; summaryField.ValidatorConfig.Required = false; mainSection.Fields.Add(summaryField); var quantityField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "quantityFieldControl", DataFieldName = "QuantityInStock", DisplayMode = displayMode, Title = "QuantityInStock", CssClass = "sfTitleField", ResourceClassId = typeof(ProductsResources).Name, WrapperTag = HtmlTextWriterTag.Li }; quantityField.ValidatorConfig = new ValidatorDefinitionElement(quantityField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "TitleCannotBeEmpty", ResourceClassId = typeof(ProductsResources).Name, RegularExpression = "^[0-9]+[.]*[0-9]*$", RegularExpressionViolationMessage = "TheQuantityMustBeAPositiveNumber" }; mainSection.Fields.Add(quantityField); var priceField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "priceFieldControl", DataFieldName = "Price", DisplayMode = displayMode, Title = "Price", CssClass = "sfTitleField", ResourceClassId = typeof(ProductsResources).Name, WrapperTag = HtmlTextWriterTag.Li, }; priceField.ValidatorConfig = new ValidatorDefinitionElement(priceField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "TitleCannotBeEmpty", ResourceClassId = typeof(ProductsResources).Name, RegularExpression = "^[0-9]+[.]*[0-9]*$", RegularExpressionViolationMessage = "ThePriceMustBeAPositiveNumber" }; mainSection.Fields.Add(priceField); detailView.Sections.Add(mainSection); #endregion #region Categories and Tags var taxonSection = new ContentViewSectionElement(detailView.Sections) { Name = "TaxonSection", Title = "CategoriesAndTags", ResourceClassId = typeof(ProductsResources).Name, CssClass = "sfExpandableForm", ExpandableDefinitionConfig = { Expanded = false } }; var categories = DefinitionTemplates.CategoriesFieldWriteMode(taxonSection.Fields); categories.DisplayMode = displayMode; taxonSection.Fields.Add(categories); var tags = DefinitionTemplates.TagsFieldWriteMode(taxonSection.Fields); tags.DisplayMode = displayMode; tags.CssClass = "sfFormSeparator"; tags.ExpandableDefinition.Expanded = true; tags.Description = "TagsFieldInstructions"; taxonSection.Fields.Add(tags); detailView.Sections.Add(taxonSection); #endregion #region More options section var moreOptionsSection = new ContentViewSectionElement(detailView.Sections) { Name = "MoreOptionsSection", Title = "MoreOptionsURL", ResourceClassId = typeof(ProductsResources).Name, CssClass = "sfExpandableForm", ExpandableDefinitionConfig = { Expanded = false } }; if (displayMode == FieldDisplayMode.Write) { var urlName = new MirrorTextFieldElement(moreOptionsSection.Fields) { Title = "UrlName", ResourceClassId = typeof(ProductsResources).Name, ID = "urlName", MirroredControlId = titleField.ID, DataFieldName = (displayMode == FieldDisplayMode.Write) ? "UrlName.PersistedValue" : "UrlName", DisplayMode = displayMode, RegularExpressionFilter = DefinitionsHelper.UrlRegularExpressionFilter, WrapperTag = HtmlTextWriterTag.Li, ReplaceWith = "-" }; var validationDef = new ValidatorDefinitionElement(urlName) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = Res.Get<ProductsResources>().UrlNameCannotBeEmpty, RegularExpression = DefinitionsHelper.UrlRegularExpressionFilterForValidator, RegularExpressionViolationMessage = Res.Get<PageResources>().UrlNameInvalidSymbols }; urlName.ValidatorConfig = validationDef; moreOptionsSection.Fields.Add(urlName); } var allowCommentsFieldElement = new ChoiceFieldElement(moreOptionsSection.Fields) { ID = "allowCommentsField", Title = (displayMode == FieldDisplayMode.Read) ? "AllowComments" : string.Empty, DataFieldName = "AllowComments", DisplayMode = displayMode, RenderChoiceAs = RenderChoicesAs.SingleCheckBox, CssClass = "sfCheckBox sfFormSeparator", WrapperTag = HtmlTextWriterTag.Li, ResourceClassId = typeof(ProductsResources).Name }; allowCommentsFieldElement.ChoicesConfig.Add( new ChoiceElement(allowCommentsFieldElement.ChoicesConfig) { Text = "AllowComments", ResourceClassId = typeof(ProductsResources).Name }); moreOptionsSection.Fields.Add(allowCommentsFieldElement); detailView.Sections.Add(moreOptionsSection); #endregion #region Sidebar if (displayMode == FieldDisplayMode.Write) { var sidebar = new ContentViewSectionElement(detailView.Sections) { Name = DefinitionsHelper.SidebarSectionName, CssClass = "sfItemReadOnlyInfo" }; sidebar.Fields.Add(new ContentWorkflowStatusInfoFieldElement(sidebar.Fields) { DisplayMode = displayMode, FieldName = "NewsWorkflowStatusInfoField", ResourceClassId = typeof(ProductsResources).Name, WrapperTag = HtmlTextWriterTag.Li, FieldType = typeof(ContentWorkflowStatusInfoField) }); detailView.Sections.Add(sidebar); } #endregion }
private static void CreateBackendSections(DetailFormViewElement detailView, FieldDisplayMode displayMode) { var mainSection = new ContentViewSectionElement(detailView.Sections) { Name = "MainSection", CssClass = "sfFirstForm" }; var firstNameField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "firstNameFieldControl", DataFieldName = "FirstName", DisplayMode = displayMode, Title = "FirstName", CssClass = "sfTitleField", ResourceClassId = typeof(JobsResources).Name, WrapperTag = HtmlTextWriterTag.Li, }; firstNameField.ValidatorConfig = new ValidatorDefinitionElement(firstNameField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = Res.Get <JobsResources>().FirstNameCannotBeEmpty, MaxLength = 40, MaxLengthViolationMessage = Res.Get <JobsResources>().TextFieldMaximumLength }; mainSection.Fields.Add(firstNameField); var lastNameField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "lastNameFieldControl", DataFieldName = "LastName", DisplayMode = displayMode, Title = "LastName", CssClass = "sfTitleField", ResourceClassId = typeof(JobsResources).Name, WrapperTag = HtmlTextWriterTag.Li, }; lastNameField.ValidatorConfig = new ValidatorDefinitionElement(lastNameField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = Res.Get <JobsResources>().LastNameCannotBeEmpty, MaxLength = 40, MaxLengthViolationMessage = Res.Get <JobsResources>().TextFieldMaximumLength }; mainSection.Fields.Add(lastNameField); var phoneNumberField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "phoneNumberFieldControl", DataFieldName = "Phone", DisplayMode = displayMode, Title = "PhoneNumber", CssClass = "sfTitleField", ResourceClassId = typeof(JobsResources).Name, WrapperTag = HtmlTextWriterTag.Li, }; phoneNumberField.ValidatorConfig = new ValidatorDefinitionElement(phoneNumberField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = Res.Get <JobsResources>().PhoneNumberCannotBeEmpty, RegularExpression = "^[0-9]+[.]*[0-9]*$", RegularExpressionViolationMessage = Res.Get <JobsResources>().InvalidPhoneNumber, MaxLength = 40, MaxLengthViolationMessage = Res.Get <JobsResources>().TextFieldMaximumLength }; mainSection.Fields.Add(phoneNumberField); var textField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "motivationalTextFieldControl", DataFieldName = "Text", DisplayMode = displayMode, Title = "MotivationalText", CssClass = "sfTitleField", WrapperTag = HtmlTextWriterTag.Li, ResourceClassId = typeof(JobsResources).Name, Rows = 5 }; textField.ExpandableDefinitionConfig = new ExpandableControlElement(textField) { Expanded = false, ExpandText = Res.Get <JobsResources>().ClickToAddSummary }; textField.ValidatorConfig = new ValidatorDefinitionElement(textField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = Res.Get <JobsResources>().MotivationalTextCannotBeEmpty, MaxLength = 200, MaxLengthViolationMessage = Res.Get <JobsResources>().TextAreaMaximumLength }; mainSection.Fields.Add(textField); var referrer = new ChoiceFieldElement(mainSection.Fields) { RenderChoiceAs = Telerik.Sitefinity.Web.UI.Fields.Enums.RenderChoicesAs.DropDown, ID = "referrerChoices", DataFieldName = "Referral", DisplayMode = displayMode, Title = "HowDidYouHear", CssClass = "sfTitleField", WrapperTag = HtmlTextWriterTag.Li, ResourceClassId = typeof(JobsResources).Name, }; var internetAdField = new ChoiceElement(referrer.ChoicesConfig) { Text = Res.Get <JobsResources>().InternetAd, Value = Res.Get <JobsResources>().InternetAd, }; referrer.ChoicesConfig.Add(internetAdField); var mobilePhoneAdField = new ChoiceElement(referrer.ChoicesConfig) { Text = Res.Get <JobsResources>().MobilePhoneAd, Value = Res.Get <JobsResources>().MobilePhoneAd, }; referrer.ChoicesConfig.Add(mobilePhoneAdField); var socialNetworkField = new ChoiceElement(referrer.ChoicesConfig) { Text = Res.Get <JobsResources>().SocialNetwork, Value = Res.Get <JobsResources>().SocialNetwork, }; referrer.ChoicesConfig.Add(socialNetworkField); var televisionAdField = new ChoiceElement(referrer.ChoicesConfig) { Text = Res.Get <JobsResources>().TelevisionAd, Value = Res.Get <JobsResources>().TelevisionAd, }; referrer.ChoicesConfig.Add(televisionAdField); var webLinkField = new ChoiceElement(referrer.ChoicesConfig) { Text = Res.Get <JobsResources>().WebLink, Value = Res.Get <JobsResources>().WebLink, }; referrer.ChoicesConfig.Add(webLinkField); var webSearchField = new ChoiceElement(referrer.ChoicesConfig) { Text = Res.Get <JobsResources>().WebSearch, Value = Res.Get <JobsResources>().WebSearch, }; referrer.ChoicesConfig.Add(webSearchField); var magazineAdField = new ChoiceElement(referrer.ChoicesConfig) { Text = Res.Get <JobsResources>().MagazineAd, Value = Res.Get <JobsResources>().MagazineAd, }; referrer.ChoicesConfig.Add(magazineAdField); var otherField = new ChoiceElement(referrer.ChoicesConfig) { Text = Res.Get <JobsResources>().Other, Value = Res.Get <JobsResources>().Other, }; referrer.ChoicesConfig.Add(otherField); mainSection.Fields.Add(referrer); detailView.Sections.Add(mainSection); }
private static void CreateBackendSections(DetailFormViewElement detailView, FieldDisplayMode displayMode) { #region Toolbar section if (detailView.ViewName == AgentsDefinitions.BackendEditViewName) { var toolbarSection = new ContentViewSectionElement(detailView.Sections) { Name = DefinitionsHelper.ToolbarSectionName }; var languageListFieldElement = new LanguageListFieldElement(toolbarSection.Fields) { ID = "languageListField", FieldType = typeof(LanguageListField), ResourceClassId = typeof(LocalizationResources).Name, Title = "OtherTranslationsColon", DisplayMode = displayMode, FieldName = "languageListField", DataFieldName = "AvailableLanguages" }; toolbarSection.Fields.Add(languageListFieldElement); detailView.Sections.Add(toolbarSection); } #endregion #region Main section var mainSection = new ContentViewSectionElement(detailView.Sections) { Name = "MainSection", CssClass = "sfFirstForm" }; var titleField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "titleFieldControl", DataFieldName = (displayMode == FieldDisplayMode.Write) ? "Title.PersistedValue" : "Title", DisplayMode = displayMode, Title = "lTitle", CssClass = "sfTitleField", ResourceClassId = typeof(AgentsResources).Name, WrapperTag = HtmlTextWriterTag.Li, }; titleField.ValidatorConfig = new ValidatorDefinitionElement(titleField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "TitleCannotBeEmpty", ResourceClassId = typeof(AgentsResources).Name }; mainSection.Fields.Add(titleField); if (detailView.ViewName == AgentsDefinitions.BackendEditViewName || detailView.ViewName == AgentsDefinitions.BackendInsertViewName) { var languageChoiceField = new ChoiceFieldElement(mainSection.Fields) { ID = "languageChoiceField", FieldType = typeof(LanguageChoiceField), ResourceClassId = typeof(AgentsResources).Name, Title = "Language", DisplayMode = displayMode, FieldName = "languageField", RenderChoiceAs = RenderChoicesAs.DropDown, MutuallyExclusive = true, DataFieldName = "AvailableLanguages" }; mainSection.Fields.Add(languageChoiceField); } var emailField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "emailFieldControl", DataFieldName = "Email", DisplayMode = displayMode, Title = "Email", CssClass = "sfTitleField", ResourceClassId = typeof(AgentsResources).Name, WrapperTag = HtmlTextWriterTag.Li }; emailField.ValidatorConfig = new ValidatorDefinitionElement(emailField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "EmailCannotBeEmpty", RegularExpression = @"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$", RegularExpressionViolationMessage = "EmailMustBeValid", ResourceClassId = typeof(AgentsResources).Name }; mainSection.Fields.Add(emailField); var phoneNumberField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "phoneNumberFieldControl", DataFieldName = "PhoneNumber", DisplayMode = displayMode, Title = "PhoneNumber", CssClass = "sfTitleField", ResourceClassId = typeof(AgentsResources).Name, WrapperTag = HtmlTextWriterTag.Li }; mainSection.Fields.Add(phoneNumberField); var addressField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "addressFieldControl", DataFieldName = "Address", DisplayMode = displayMode, Title = "Address", CssClass = "sfTitleField", ResourceClassId = typeof(AgentsResources).Name, WrapperTag = HtmlTextWriterTag.Li }; mainSection.Fields.Add(addressField); var postalCodeField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "postalCodeFieldControl", DataFieldName = "PostalCode", DisplayMode = displayMode, Title = "PostalCode", CssClass = "sfTitleField", ResourceClassId = typeof(AgentsResources).Name, WrapperTag = HtmlTextWriterTag.Li }; mainSection.Fields.Add(postalCodeField); detailView.Sections.Add(mainSection); #endregion #region Categories and Tags var taxonSection = new ContentViewSectionElement(detailView.Sections) { Name = "TaxonSection", Title = "CategoriesAndTags", ResourceClassId = typeof(AgentsResources).Name, CssClass = "sfExpandableForm", ExpandableDefinitionConfig = { Expanded = false } }; var categories = DefinitionTemplates.CategoriesFieldWriteMode(taxonSection.Fields); categories.DisplayMode = displayMode; taxonSection.Fields.Add(categories); var tags = DefinitionTemplates.TagsFieldWriteMode(taxonSection.Fields); tags.DisplayMode = displayMode; tags.CssClass = "sfFormSeparator"; tags.ExpandableDefinition.Expanded = true; tags.Description = "TagsFieldInstructions"; taxonSection.Fields.Add(tags); detailView.Sections.Add(taxonSection); #endregion #region More options section var moreOptionsSection = new ContentViewSectionElement(detailView.Sections) { Name = "MoreOptionsSection", Title = "MoreOptionsURL", ResourceClassId = typeof(AgentsResources).Name, CssClass = "sfExpandableForm", ExpandableDefinitionConfig = { Expanded = false } }; if (displayMode == FieldDisplayMode.Write) { var urlName = new MirrorTextFieldElement(moreOptionsSection.Fields) { Title = "UrlName", ID = "urlName", MirroredControlId = titleField.ID, DataFieldName = "UrlName.PersistedValue", DisplayMode = displayMode, RegularExpressionFilter = DefinitionsHelper.UrlRegularExpressionFilter, WrapperTag = HtmlTextWriterTag.Li, ReplaceWith = "-", ResourceClassId = typeof(AgentsResources).Name }; var validationDef = new ValidatorDefinitionElement(urlName) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "UrlNameCannotBeEmpty", RegularExpression = DefinitionsHelper.UrlRegularExpressionFilterForValidator, RegularExpressionViolationMessage = "UrlNameInvalid", ResourceClassId = typeof(AgentsResources).Name }; urlName.ValidatorConfig = validationDef; moreOptionsSection.Fields.Add(urlName); } detailView.Sections.Add(moreOptionsSection); #endregion #region Sidebar if (displayMode == FieldDisplayMode.Write) { var sidebar = new ContentViewSectionElement(detailView.Sections) { Name = DefinitionsHelper.SidebarSectionName, CssClass = "sfItemReadOnlyInfo" }; sidebar.Fields.Add(new ContentWorkflowStatusInfoFieldElement(sidebar.Fields) { DisplayMode = displayMode, FieldName = "NewsWorkflowStatusInfoField", ResourceClassId = typeof(AgentsResources).Name, WrapperTag = HtmlTextWriterTag.Li, FieldType = typeof(ContentWorkflowStatusInfoField) }); detailView.Sections.Add(sidebar); } #endregion }
/// <summary> /// Creates the backend sections. Adds edit/preview controls to the detailView /// </summary> /// <param name="detailView">The detail view.</param> /// <param name="displayMode">The display mode.</param> private static void CreateBackendSections(DetailFormViewElement detailView, FieldDisplayMode displayMode) { // define main content section var mainSection = new ContentViewSectionElement(detailView.Sections) { Name = "MainSection", CssClass = "sfFirstForm" }; #region Title Field // define title field element var titleField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "titleFieldControl", DataFieldName = displayMode == FieldDisplayMode.Write ? "Title.PersistedValue" : "Title", DisplayMode = displayMode, Title = "Title", CssClass = "sfTitleField", WrapperTag = HtmlTextWriterTag.Li, }; // add validation titleField.ValidatorConfig = new ValidatorDefinitionElement(titleField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "Title field is required" }; // add field to section mainSection.Fields.Add(titleField); #endregion #region Content var contentField = new HtmlFieldElement(mainSection.Fields) { ID = "contentFieldControl", DataFieldName = displayMode == FieldDisplayMode.Write ? "Content.PersistedValue" : "Content", DisplayMode = displayMode, CssClass = "sfFormSeparator sfContentField", WrapperTag = HtmlTextWriterTag.Li, EditorContentFilters = Telerik.Web.UI.EditorFilters.DefaultFilters, EditorStripFormattingOptions = (EditorStripFormattingOptions?)(EditorStripFormattingOptions.MSWord | EditorStripFormattingOptions.Css | EditorStripFormattingOptions.Font | EditorStripFormattingOptions.Span | EditorStripFormattingOptions.ConvertWordLists) }; mainSection.Fields.Add(contentField); #endregion #region Address fields // Address field var addressField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "addressFieldControl", DataFieldName = "Address", DisplayMode = displayMode, Title = "Address", CssClass = "sfTitleField", WrapperTag = HtmlTextWriterTag.Li }; addressField.ValidatorConfig = new ValidatorDefinitionElement(addressField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "Location address is required" }; mainSection.Fields.Add(addressField); // City field var cityField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "cityFieldControl", DataFieldName = "City", DisplayMode = displayMode, Title = "City", CssClass = "sfTitleField", WrapperTag = HtmlTextWriterTag.Li }; mainSection.Fields.Add(cityField); // State / Region field var regionField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "regionFieldControl", DataFieldName = "Region", DisplayMode = displayMode, Title = "State / Region", CssClass = "sfTitleField", WrapperTag = HtmlTextWriterTag.Li }; regionField.ValidatorConfig = new ValidatorDefinitionElement(regionField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "State / Region is a required field" }; mainSection.Fields.Add(regionField); // Postal Code field var postalCodeField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "postalCodeFieldControl", DataFieldName = "PostalCode", DisplayMode = displayMode, Title = "Postal Code", CssClass = "sfTitleField", WrapperTag = HtmlTextWriterTag.Li }; postalCodeField.ValidatorConfig = new ValidatorDefinitionElement(postalCodeField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "Postal code is a required field" }; mainSection.Fields.Add(postalCodeField); // Country field var countryField = new TextFieldDefinitionElement(mainSection.Fields) { ID = "countryFieldControl", DataFieldName = "Country", DisplayMode = displayMode, Title = "Country", CssClass = "sfTitleField", WrapperTag = HtmlTextWriterTag.Li }; countryField.ValidatorConfig = new ValidatorDefinitionElement(countryField) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "Country is a required field" }; mainSection.Fields.Add(countryField); // add section to view detailView.Sections.Add(mainSection); #endregion #region Categories and Tags Section // define new section var taxonSection = new ContentViewSectionElement(detailView.Sections) { Name = "TaxonSection", Title = "Categories and Tags", CssClass = "sfExpandableForm", ExpandableDefinitionConfig = { Expanded = false } }; // add categories field to section var categories = DefinitionTemplates.CategoriesFieldWriteMode(taxonSection.Fields); categories.DisplayMode = displayMode; // add categories section to view taxonSection.Fields.Add(categories); // add tags field to section var tags = DefinitionTemplates.TagsFieldWriteMode(taxonSection.Fields); tags.DisplayMode = displayMode; tags.CssClass = "sfFormSeparator"; tags.ExpandableDefinition.Expanded = true; tags.Description = "TagsFieldInstructions"; taxonSection.Fields.Add(tags); // add tags section to view detailView.Sections.Add(taxonSection); #endregion #region More options Section // define new section var moreOptionsSection = new ContentViewSectionElement(detailView.Sections) { Name = "MoreOptionsSection", Title = "More Options", CssClass = "sfExpandableForm", ExpandableDefinitionConfig = { Expanded = false } }; // Url field for insert view if (displayMode == FieldDisplayMode.Write) { var urlName = new MirrorTextFieldElement(moreOptionsSection.Fields) { Title = "URL", ID = "urlName", MirroredControlId = titleField.ID, DataFieldName = "UrlName.PersistedValue", DisplayMode = displayMode, RegularExpressionFilter = DefinitionsHelper.UrlRegularExpressionFilter, WrapperTag = HtmlTextWriterTag.Li, ReplaceWith = "-" }; var validationDef = new ValidatorDefinitionElement(urlName) { Required = true, MessageCssClass = "sfError", RequiredViolationMessage = "Url cannot be empty", RegularExpression = DefinitionsHelper.UrlRegularExpressionFilterForValidator, RegularExpressionViolationMessage = "Invalid Url" }; urlName.ValidatorConfig = validationDef; moreOptionsSection.Fields.Add(urlName); } // add url section to view detailView.Sections.Add(moreOptionsSection); #endregion }
private void ExtendBackendDefinition(IContentViewControlDefinition contentViewControlDefinition, string backendViewName, FieldDisplayMode displayMode) { var backendEditViewDefinition = contentViewControlDefinition.Views.FirstOrDefault(v => v.ViewName == backendViewName) as IDetailFormViewDefinition; if (backendEditViewDefinition != null) { var advancedSection = backendEditViewDefinition.Sections.FirstOrDefault(s => s.Name == FormsDefinitionsExtender.AdvancedSectionName); if (advancedSection != null) { var fieldDefinition = this.BuildFrameworkChoiceFieldDefinition(displayMode); ((IList <IFieldDefinition>)advancedSection.Fields).Add(fieldDefinition); } } }
private void ExtendBackendDefinition(IContentViewControlDefinition contentViewControlDefinition, string backendViewName, FieldDisplayMode displayMode) { var choices = new List <ChoiceDefinition>(); choices.Add(new ChoiceDefinition() { Text = "MVCOnly", ResourceClassId = typeof(FormsResources).Name, Value = ((int)FormFramework.Mvc).ToString() }); choices.Add(new ChoiceDefinition() { Text = "WebFormsOnly", ResourceClassId = typeof(FormsResources).Name, Value = ((int)FormFramework.WebForms).ToString() }); FormsDefinitionExtenderHelper.ExtendFormsFrameworkFieldDefinition(contentViewControlDefinition, backendViewName, displayMode, choices); }