private XElement BuildFormMarkUp( ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName, Type optionsGeneratingStaticType, string optionsGeneratingStaticMethodName, object optionsGeneratingStaticMethodParameterValue, string optionsObjectKeyPropertyName, string optionsObjectLabelPropertyName, bool required) { if (!parameters.TryGetParameter(nameof(SitemapScope), out SitemapScope sitemapScope)) { throw new ArgumentException(nameof(SitemapScope)); } string keySelTag = "KeySelector", statMethTag = "StaticMethodCall", compFuncName = $"{Constants.SerializeFuncNamespace}.{Resources.default_text.SerializeMarkupParamsFuncName}"; XNamespace uc = Namespaces.BindingFormsStdUiControls10, f = Namespaces.BindingFormsStdFuncLib10, bf = Namespaces.BindingForms10, ft = Namespaces.Function10; XElement keySelector = StandardWidgetFunctions.BuildBasicFormsMarkup(uc, keySelTag, "Selected", label, helpDefinition, bindingSourceName); XElement keySelectorOptions = new XElement(uc + $"{keySelTag}.Options", new XElement(f + statMethTag, new XAttribute("Type", TypeManager.SerializeType(optionsGeneratingStaticType)), new XAttribute("Method", optionsGeneratingStaticMethodName), new XElement(uc + $"{statMethTag}.Parameters", new XElement(ft + "function", new XAttribute("name", compFuncName), new XElement(ft + "param", new XAttribute("name", Constants.TypeNameParamName), new XAttribute("value", optionsGeneratingStaticMethodParameterValue)), new XElement(ft + "param", new XAttribute("name", Constants.PageIdParamName), new XElement(bf + "read", new XAttribute("source", "PageId"))), new XElement(ft + "param", new XAttribute("name", Constants.SitemapScopeIdParamName), new XAttribute("value", (int)sitemapScope)))))); keySelector.Add( new XAttribute("OptionsKeyField", optionsObjectKeyPropertyName), new XAttribute("OptionsLabelField", optionsObjectLabelPropertyName), new XAttribute("Required", required), keySelectorOptions); return(keySelector); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName) { BaseRuntimeTreeNode runtimeTreeNode = null; if (parameters.TryGetParameterRuntimeTreeNode("Options", out runtimeTreeNode)) { string keyFieldName = parameters.GetParameter <string>("KeyFieldName"); string labelFieldName = parameters.GetParameter <string>("LabelFieldName"); bool multiple = parameters.GetParameter <bool>("Multiple"); bool required = parameters.GetParameter <bool>("Required"); bool compact = parameters.GetParameter <bool>("Compact"); XElement optionsDescriptor = new XElement("SelectorOptionsSource", new XAttribute("KeyFieldName", parameters.GetParameter <string>("KeyFieldName") ?? ""), new XAttribute("LabelFieldName", parameters.GetParameter <string>("LabelFieldName") ?? ""), new XElement("TreeNode", runtimeTreeNode.Serialize())); return(StandardWidgetFunctions.BuildStaticCallPopulatedSelectorFormsMarkup( parameters, label, helpDefinition, bindingSourceName, this.GetType(), "GetOptions", optionsDescriptor.ToString(), "Key", "Label", multiple, compact, required, true)); } else { throw new InvalidOperationException("Could not get BaseRuntimeTreeNode for parameter 'Options'."); } }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { XElement widgetMarkup = base.BuildBasicWidgetMarkup("DataReferenceSelector", "Selected", label, help, bindingSourceName); widgetMarkup.Add(new XElement("DataReferenceSelector.DataType", typeof(IMediaFileFolder).AssemblyQualifiedName)); return(widgetMarkup); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName) { XElement formElement = base.BuildBasicWidgetMarkup("TreeSelector", "SelectedKey", label, helpDefinition, bindingSourceName); foreach (var propertyName in new [] { "ElementProvider", "SelectableElementPropertyName", "SelectableElementPropertyValue", "SelectableElementReturnValue", "SerializedSearchToken", "Required" }) { string propertyValue = parameters.GetParameter <string>(propertyName); formElement.Add(new XAttribute(propertyName, propertyValue)); } return(formElement); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { XElement textBoxMarkup = base.BuildBasicWidgetMarkup("TextBox", "Text", label, help, bindingSourceName); textBoxMarkup.Add(new XAttribute("Type", TextBoxType.Integer)); return(textBoxMarkup); }
/// <exclude /> public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName) { return(StandardWidgetFunctions.BuildStaticCallPopulatedSelectorFormsMarkup( parameters, label, helpDefinition, bindingSourceName, this.GetType(), "GetOptions", TypeManager.SerializeType(typeof(T)), "Key", "Label", false, true, false, false)); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName) { BaseRuntimeTreeNode runtimeTreeNode; if (!parameters.TryGetParameterRuntimeTreeNode(Parameter_Options, out runtimeTreeNode)) { throw new InvalidOperationException("Could not get BaseRuntimeTreeNode for parameter 'Options'."); } const string selectorName = "KeySelector"; IEnumerable options = runtimeTreeNode.GetValue <IEnumerable>(); IDictionary dictionaryOptions = options as IDictionary; XElement treeNodeElement = runtimeTreeNode.Serialize().Elements().First(); XElement functionMarkup = treeNodeElement; XElement selector = StandardWidgetFunctions.BuildBasicFormsMarkup( Namespaces.BindingFormsStdUiControls10, selectorName, "Selected", label, helpDefinition, bindingSourceName); if (dictionaryOptions != null) { selector.Add(new XAttribute("OptionsKeyField", "Key")); selector.Add(new XAttribute("OptionsLabelField", "Value")); } else { string keyFieldName = parameters.GetParameter <string>(Parameter_KeyFieldName); if (keyFieldName != null) { selector.Add(new XAttribute("OptionsKeyField", keyFieldName)); } string labelFieldName = parameters.GetParameter <string>(Parameter_LabelFieldName); if (labelFieldName != null) { selector.Add(new XAttribute("OptionsLabelField", labelFieldName)); } } bool required = parameters.GetParameter <bool>(Parameter_Required); selector.Add(new XAttribute("Required", required)); selector.Add(new XElement(selector.Name.Namespace + (selectorName + ".Options"), functionMarkup)); return(selector); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { XElement formElement = base.BuildBasicWidgetMarkup("UrlComboBox", "Text", label, help, bindingSourceName); return(formElement); }
/// <exclude /> public abstract XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName);
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { string spritePath = parameters.GetParameter <string>(SvgIconSelectorWidgetFuntion.SvgSpritePathParameterName); XElement formElement = base.BuildBasicWidgetMarkup("SvgIconSelector", "Selected", label, help, bindingSourceName); formElement.Add(new XAttribute("SvgSpritePath", spritePath)); return(formElement); }
public XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { return(_widgetFunctionToWrap.GetWidgetMarkup(parameters, label, help, bindingSourceName)); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { XElement formElement = base.BuildBasicWidgetMarkup("ConsoleIconSelector", "Selected", label, help, bindingSourceName); return(formElement); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { string markup = parameters.GetParameter <string>(MarkupParameterName) ?? ""; if (string.IsNullOrWhiteSpace(markup)) { return(null); } markup = @"<cms:formdefinition xmlns:cms=""http://www.composite.net/ns/management/bindingforms/1.0"" xmlns=""http://www.composite.net/ns/management/bindingforms/std.ui.controls.lib/1.0"">" + markup + "</cms:formdefinition>"; XElement xml = XElement.Parse(markup); foreach (var attribute in xml.Descendants().SelectMany(node => node.Attributes())) { attribute.Value = attribute.Value .Replace("$label", label) .Replace("$binding", bindingSourceName) .Replace("$help", help != null ? help.HelpText : ""); } return(xml.Elements().FirstOrDefault()); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { XElement boolSelectorMarkup = base.BuildBasicWidgetMarkup("BoolSelector", "IsTrue", label, help, bindingSourceName); boolSelectorMarkup.Add(new XAttribute("TrueLabel", parameters.GetParameter <string>(BoolSelectorWidgetFuntion.TrueLabelParameterName))); boolSelectorMarkup.Add(new XAttribute("FalseLabel", parameters.GetParameter <string>(BoolSelectorWidgetFuntion.FalseLabelParameterName))); return(boolSelectorMarkup); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { XElement dateSelectorElement = base.BuildBasicWidgetMarkup("DateTimeSelector", "Date", label, help, bindingSourceName); if (parameters.GetParameter <bool>("ReadOnly")) { dateSelectorElement.Add(new XAttribute("ReadOnly", true)); } return(dateSelectorElement); }
/// <exclude /> public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName) { return(StandardWidgetFunctions.BuildStaticCallPopulatedSelectorFormsMarkup( parameters: parameters, label: label, helpDefinition: helpDefinition, bindingSourceName: bindingSourceName, optionsGeneratingStaticType: typeof(HomePageSelectorWidgetFunction), optionsGeneratingStaticMethodName: nameof(GetHomePages), optionsGeneratingStaticMethodParameterValue: null, optionsObjectKeyPropertyName: "Key", optionsObjectLabelPropertyName: "Label", multiSelect: false, compactMode: true, required: true, bindToString: false)); }
/// <exclude /> protected XElement BuildBasicWidgetMarkup(string uiControlName, string bindingPropertyName, string label, HelpDefinition help, string bindingSourceName) { return(StandardWidgetFunctions.BuildBasicFormsMarkup(Namespaces.BindingFormsStdUiControls10, uiControlName, bindingPropertyName, label, help, bindingSourceName)); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName) { BaseRuntimeTreeNode optionsRuntimeTreeNode = null; if (parameters.TryGetParameterRuntimeTreeNode("TreeNodes", out optionsRuntimeTreeNode)) { bool required = parameters.GetParameter <bool>("Required"); bool autoSelectChildren = parameters.GetParameter <bool>("AutoSelectChildren"); bool autoSelectParents = parameters.GetParameter <bool>("AutoSelectParents"); XElement formElement = base.BuildBasicWidgetMarkup("HierarchicalSelector", "SelectedKeys", label, helpDefinition, bindingSourceName); formElement.Add(new XElement(Namespaces.BindingFormsStdUiControls10 + "HierarchicalSelector.TreeNodes", optionsRuntimeTreeNode.Serialize())); formElement.Add(new XAttribute("AutoSelectChildren", autoSelectChildren)); formElement.Add(new XAttribute("AutoSelectParents", autoSelectParents)); return(formElement); } else { throw new InvalidOperationException("Could not get BaseRuntimeTreeNode for parameter 'TreeNodes'."); } }
/// <exclude /> public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { XElement element = base.BuildBasicWidgetMarkup("InlineXhtmlEditor", "Xhtml", label, help, bindingSourceName); element.Add(new XAttribute("ClassConfigurationName", parameters.GetParameter <string>(ClassConfigurationNameParameterName))); var pageId = parameters.GetParameter <Guid>(PreviewPageIdParameterName); var templateId = parameters.GetParameter <Guid>(PreviewTemplateIdParameterName); string placeholderName = parameters.GetParameter <string>(PreviewPlaceholderParameterName); string containerClasses = parameters.GetParameter <string>(ContainerClassesParameterName); if (pageId != Guid.Empty) { element.Add(new XAttribute("PreviewPageId", pageId)); } if (templateId != Guid.Empty) { element.Add(new XAttribute("PreviewTemplateId", templateId)); } if (!string.IsNullOrEmpty(placeholderName)) { element.Add(new XAttribute("PreviewPlaceholder", placeholderName)); } if (!string.IsNullOrWhiteSpace(containerClasses)) { element.Add(new XAttribute("ContainerClasses", containerClasses)); } return(element); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { XElement element = base.BuildBasicWidgetMarkup("InlineXhtmlEditor", "Xhtml", label, help, bindingSourceName); element.Add(new XAttribute("ClassConfigurationName", parameters.GetParameter <string>(VisualXhtmlEditorFuntion.ClassConfigurationNameParameterName))); var pageId = parameters.GetParameter <Guid>(StringSelector.PreviewPageIdParameterName); var templateId = parameters.GetParameter <Guid>(StringSelector.PreviewTemplateIdParameterName); string placeholderName = parameters.GetParameter <string>(StringSelector.PreviewPlaceholderParameterName); string containerClasses = parameters.GetParameter <string>(ContainerClassesParameterName); if (pageId != Guid.Empty) { element.Add(new XAttribute("PreviewPageId", pageId)); } if (templateId != Guid.Empty) { element.Add(new XAttribute("PreviewTemplateId", templateId)); } if (!string.IsNullOrEmpty(placeholderName)) { element.Add(new XAttribute("PreviewPlaceholder", placeholderName)); } if (!string.IsNullOrWhiteSpace(containerClasses)) { element.Add(new XAttribute("ContainerClasses", containerClasses)); } Type embedableFieldType = parameters.GetParameter <Type>(VisualXhtmlEditorFuntion.EmbedableFieldTypeParameterName); if (embedableFieldType != null) { XNamespace f = Namespaces.BindingFormsStdFuncLib10; element.Add( new XElement(element.Name.Namespace + "InlineXhtmlEditor.EmbedableFieldsTypes", new XElement(f + "StaticMethodCall", new XAttribute("Type", TypeManager.SerializeType(this.GetType())), new XAttribute("Parameters", TypeManager.SerializeType(embedableFieldType)), new XAttribute("Method", "GetOptions")))); } return(element); }
public XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { return _widgetFunctionToWrap.GetWidgetMarkup(parameters, label, help, bindingSourceName); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { XElement checkBoxMarkup = base.BuildBasicWidgetMarkup("CheckBox", "Checked", label, help, bindingSourceName); string itemLabel = parameters.GetParameter <string>("ItemLabel"); if (string.IsNullOrEmpty(itemLabel) == false) { checkBoxMarkup.Add(new XAttribute("ItemLabel", itemLabel)); } return(checkBoxMarkup); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName) { if (parameters is null) { throw new ArgumentNullException(nameof(parameters)); } return(BuildFormMarkUp(parameters, label, helpDefinition, bindingSourceName, GetType(), nameof(GetOptions), TypeManager.SerializeType(typeof(T)), "Key", "Label", true)); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName) { XElement selector = base.BuildBasicWidgetMarkup("DataReferenceTreeSelector", "Selected", label, helpDefinition, bindingSourceName); selector.Add( new XAttribute("Handle", "Composite.Management.PageIdSelectorDialog"), new XAttribute("DataType", TypeManager.SerializeType(typeof(IPage))), new XAttribute("NullValueAllowed", false) ); return(selector); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { return(base.BuildBasicWidgetMarkup("FrontendFileUpload", "Text", label, help, bindingSourceName)); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName) { var selector = BuildBasicWidgetMarkup("DataReferenceTreeSelector", "Selected", label, helpDefinition, bindingSourceName); selector.Add( new XAttribute("Handle", "Composite.Management.PageIdSelectorDialog"), new XAttribute("DataType", TypeManager.SerializeType(typeof(IPage))), new XAttribute("NullValueAllowed", IsNullable()) ); var searchToken = GetSearchToken(parameters, selector); if (searchToken != null) { selector.Add(searchToken); } return(selector); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { // TODO: config widget for optional values bool selectionRequired = parameters.GetParameter <bool>(RequiredParameterName); var searchToken = new MediaFileSearchToken(); string extensionStr = parameters.GetParameter <string>("FileExtensionFilter"); if (!extensionStr.IsNullOrEmpty()) { searchToken.Extensions = extensionStr.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); } searchToken.Folder = GetFolderPath(parameters.GetParameter <DataReference <IMediaFileFolder> >("MediaFileFolderReference")); searchToken.HideSubfolders = !parameters.GetParameter <bool>("IncludeSubfolders"); XElement selector = base.BuildBasicWidgetMarkup("DataReferenceTreeSelector", "Selected", label, help, bindingSourceName); selector.Add( new XAttribute("Handle", "Composite.Management.EmbeddableMediaSelectorDialog"), new XAttribute("SearchToken", searchToken.Serialize()), new XAttribute("DataType", TypeManager.SerializeType(typeof(IMediaFile))), new XAttribute("NullValueAllowed", (!selectionRequired)) ); return(selector); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { bool spellCheck = parameters.GetParameter <bool>(TextBoxWidgetFuntion.SpellCheckParameterName); XElement formElement = base.BuildBasicWidgetMarkup("TextBox", "Text", label, help, bindingSourceName); formElement.Add(new XAttribute("SpellCheck", spellCheck)); return(formElement); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName) { string tagName = "TypeSelector"; XElement selector = StandardWidgetFunctions.BuildBasicFormsMarkup(Namespaces.BindingFormsStdUiControls10, tagName, "SelectedType", label, helpDefinition, bindingSourceName); XNamespace f = Namespaces.BindingFormsStdFuncLib10; selector.Add( new XElement(selector.Name.Namespace + (tagName + ".TypeOptions"), new XElement(f + "StaticMethodCall", new XAttribute("Type", TypeManager.SerializeType(this.GetType())), new XAttribute("Method", "GetOptions")))); return(selector); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { var searchToken = new MediaFileSearchToken(); searchToken.MimeTypes = new string[] { MimeTypeInfo.Gif, MimeTypeInfo.Jpeg, MimeTypeInfo.Png, MimeTypeInfo.Bmp, MimeTypeInfo.Svg }; var folderReference = parameters.GetParameter <DataReference <IMediaFileFolder> >(MediaFileFolderReferenceParameterName); bool selectionRequired = parameters.GetParameter <bool>(RequiredParameterName); if (folderReference != null && folderReference.IsSet) { IMediaFileFolder folder; try { folder = folderReference.Data; if (folder != null) { searchToken.Folder = folder.Path; } } catch (Exception) { string reference = folderReference.Serialize() ?? string.Empty; LoggingService.LogError(LogTitle, "Failed to get media folder by referece: '{0}'".FormatWith(reference)); } } XElement selector = base.BuildBasicWidgetMarkup("DataReferenceTreeSelector", "Selected", label, help, bindingSourceName); selector.Add( new XAttribute("Handle", "Composite.Management.ImageSelectorDialog"), new XAttribute("SearchToken", searchToken.Serialize()), new XAttribute("DataType", TypeManager.SerializeType(typeof(IImageFile))), new XAttribute("NullValueAllowed", (!selectionRequired)) ); return(selector); }
public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName) { string stylesheetPath = parameters.GetParameter <string>(FontIconSelectorWidgetFuntion.StylesheetPathParameterName); string classNamePrefix = parameters.GetParameter <string>(FontIconSelectorWidgetFuntion.ClassNamePrefixParameterName); XElement formElement = base.BuildBasicWidgetMarkup("FontIconSelector", "SelectedClassName", label, help, bindingSourceName); formElement.Add(new XElement(Namespaces.BindingFormsStdUiControls10 + "FontIconSelector.ClassNameOptions", GetClassNameOptionsValueNodes(parameters))); formElement.Add(new XAttribute("StylesheetPath", stylesheetPath)); formElement.Add(new XAttribute("ClassNamePrefix", classNamePrefix)); return(formElement); }