Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        /// <exclude />
        public ParameterProfile(
            string name,
            Type type,
            bool isRequired,
            BaseValueProvider fallbackValueProvider,
            WidgetFunctionProvider widgetFunctionProvider,
            string label,
            HelpDefinition helpDefinition,
            bool hideInSimpleView)
        {
            Verify.ArgumentNotNull(name, "name");
            Verify.ArgumentNotNull(type, "type");
            Verify.ArgumentNotNull(fallbackValueProvider, "fallbackValueProvider");
            Verify.ArgumentCondition(!label.IsNullOrEmpty(), "label", "label may not be null or an empty string");
            Verify.ArgumentNotNull(helpDefinition, "helpDefinition");

            this.Name = name;
            this.Type = type;
            this.IsRequired = isRequired && (!type.IsGenericType || type.GetGenericTypeDefinition() != typeof(NullableDataReference<>));
            this.FallbackValueProvider = fallbackValueProvider;
            _widgetFunctionProvider = widgetFunctionProvider;
            this.Label = label;
            this.HelpDefinition = helpDefinition;
            this.HideInSimpleView = hideInSimpleView;
        }
Ejemplo n.º 3
0
        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;
        }
        /// <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);

            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));
            }

            return element;
        }
Ejemplo n.º 5
0
 /// <exclude />
 public ParameterProfile(
     string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider, WidgetFunctionProvider widgetFunctionProvider,
     Dictionary<string,object> widgetFunctionRuntimeParameters, string label, HelpDefinition helpDefinition)
     : this(name, type, isRequired, fallbackValueProvider, widgetFunctionProvider, label, helpDefinition)
 {
     _widgetFunctionRuntimeParameters = widgetFunctionRuntimeParameters;
 }
        /// <exclude />
        public ParameterProfile(
            string name,
            Type type,
            bool isRequired,
            BaseValueProvider fallbackValueProvider,
            WidgetFunctionProvider widgetFunctionProvider,
            string label,
            HelpDefinition helpDefinition,
            bool hideInSimpleView)
        {
            Verify.ArgumentNotNull(name, "name");
            Verify.ArgumentNotNull(type, "type");
            Verify.ArgumentNotNull(fallbackValueProvider, "fallbackValueProvider");
            Verify.ArgumentCondition(!label.IsNullOrEmpty(), "label", "label may not be null or an empty string");
            Verify.ArgumentNotNull(helpDefinition, "helpDefinition");

            this.Name                  = name;
            this.Type                  = type;
            this.IsRequired            = isRequired && (!type.IsGenericType || type.GetGenericTypeDefinition() != typeof(NullableDataReference <>));
            this.FallbackValueProvider = fallbackValueProvider;
            _widgetFunctionProvider    = widgetFunctionProvider;
            this.Label                 = label;
            this.HelpDefinition        = helpDefinition;
            this.HideInSimpleView      = hideInSimpleView;
        }
        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;
        }
 internal WidgetFunctionRuntimeTreeNode(IWidgetFunction widgetFunction, string label, HelpDefinition helpDefinition, string bindingSourceName, List<BaseParameterRuntimeTreeNode> parameters)
 {
     _widgetFunction = widgetFunction;
     this.Label = label;
     this.HelpDefinition = helpDefinition;
     this.BindingSourceName = bindingSourceName;
     this.Parameters = parameters;
 }
Ejemplo n.º 9
0
        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 help, string bindingSourceName)
        {
            XElement textBoxMarkup = base.BuildBasicWidgetMarkup("TextBox", "Text", label, help, bindingSourceName);

            textBoxMarkup.Add(new XAttribute("Type", TextBoxType.Decimal));

            return textBoxMarkup;
        }
Ejemplo n.º 11
0
        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;
        }
Ejemplo n.º 12
0
        public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName)
        {
            XElement dateSelectorElement = base.BuildBasicWidgetMarkup("DateSelector", "Date", label, help, bindingSourceName);
            if (parameters.GetParameter<bool>("ReadOnly"))
            {
                dateSelectorElement.Add(new XAttribute("ReadOnly", true));
            }

            return dateSelectorElement;
        }
        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)
        {
            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;
        }
Ejemplo n.º 15
0
        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;
        }
Ejemplo n.º 16
0
        private static WidgetFunctionRuntimeTreeNode BuildWidgetFunctionRuntimeNode(XElement element)
        {
            XAttribute nameAttribute = element.Attribute(FunctionTreeConfigurationNames.NameAttributeName);

            if (nameAttribute == null)
            {
                throw new InvalidOperationException(string.Format("Missing attribute named '{0}'", FunctionTreeConfigurationNames.NameAttributeName));
            }

            string label             = AttributeValueOrEmpty(element, FunctionTreeConfigurationNames.LabelAttributeName);
            string bindingSourceName = AttributeValueOrEmpty(element, FunctionTreeConfigurationNames.BindingSourceNameAttributeName);

            HelpDefinition helpDefinition = null;
            var            parameters     = new List <BaseParameterRuntimeTreeNode>();

            foreach (XElement childElement in element.Elements())
            {
                if (childElement.Name.LocalName == FunctionTreeConfigurationNames.HelpDefinitionTagName)
                {
                    helpDefinition = HelpDefinition.Deserialize(childElement);
                }
                else if (childElement.Name.LocalName == FunctionTreeConfigurationNames.ParamTagName)
                {
                    BaseParameterRuntimeTreeNode parameterTreeNode = BuildParameterFunctionRuntimeNode(childElement);

                    parameters.Add(parameterTreeNode);
                }
                else
                {
                    throw new InvalidOperationException(string.Format("Only '{0}' tags allowed inside '{1}' tags", FunctionTreeConfigurationNames.ParamTagName, FunctionTreeConfigurationNames.FunctionTagName));
                }
            }

            if (helpDefinition == null)
            {
                helpDefinition = new HelpDefinition("");
            }

            IWidgetFunction widgetFunction = FunctionFacade.GetWidgetFunction(nameAttribute.Value);

            foreach (BaseParameterRuntimeTreeNode parameter in parameters)
            {
                if (widgetFunction.ParameterProfiles.All(pp => pp.Name != parameter.Name))
                {
                    throw new InvalidOperationException(string.Format("The parameter '{0}' is not defined in the function named '{1}' parameter profiles", parameter.Name, widgetFunction.CompositeName()));
                }
            }

            return(new WidgetFunctionRuntimeTreeNode(widgetFunction, label, helpDefinition, bindingSourceName, parameters));
        }
        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;
        }
 /// <exclude />
 public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName)
 {
     Type optionsType = parameters.GetParameter<Type>("OptionsType");
     bool compactMode = parameters.GetParameter<bool>("CompactMode");
     return BuildStaticCallPopulatedSelectorFormsMarkup(
             parameters,
             label,
             helpDefinition,
             bindingSourceName,
             this.GetType(),
             "GetOptions",
             TypeManager.SerializeType(optionsType),
             "Key",
             "Label",
             false,
             compactMode);
 }
Ejemplo n.º 19
0
 public XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName)
 {
     return(StandardWidgetFunctions.BuildStaticCallPopulatedSelectorFormsMarkup(
                parameters,
                label,
                helpDefinition,
                bindingSourceName,
                _type,
                _methodName,
                _parameterValue,
                _keyPropertyName,
                _labelPropertyName,
                _multiSelector,
                _compact,
                _required,
                false));
 }
        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);

            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));
            }

            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;
        }
        private static XElement BuildStaticCallPopulatedSelectorFormsMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName, Type optionsGeneratingStaticType, string optionsGeneratingStaticMethodName, object optionsGeneratingStaticMethodParameterValue, string optionsObjectKeyPropertyName, string optionsObjectLabelPropertyName, bool required, bool compactMode)
        {
            string tagName = "MultiKeySelector";

            XElement selector = StandardWidgetFunctions.BuildBasicFormsMarkup(Namespaces.BindingFormsStdUiControls10, tagName, "SelectedAsString", label, helpDefinition, bindingSourceName);
            XNamespace f = Namespaces.BindingFormsStdFuncLib10;

            selector.Add(
                new XAttribute("OptionsKeyField", optionsObjectKeyPropertyName),
                new XAttribute("OptionsLabelField", optionsObjectLabelPropertyName),
                new XAttribute("Required", required),
                new XAttribute("CompactMode", compactMode),
                new XElement(selector.Name.Namespace + (tagName + ".Options"),
                    new XElement(f + "StaticMethodCall",
                       new XAttribute("Type", TypeManager.SerializeType(optionsGeneratingStaticType)),
                       new XAttribute("Method", optionsGeneratingStaticMethodName))));

            if (optionsGeneratingStaticMethodParameterValue != null) selector.Descendants(f + "StaticMethodCall").First().Add(
                  new XAttribute("Parameters", optionsGeneratingStaticMethodParameterValue));

            return selector;
        }
Ejemplo n.º 22
0
        /// <exclude />
        public static WidgetFunctionRuntimeTreeNode BuildWidgetFunction(string widgetFunctionName, string label, HelpDefinition helpDefinition, string bindingSourceName)
        {
            IWidgetFunction widgetFunction = FunctionFacade.GetWidgetFunction(widgetFunctionName);

            return new WidgetFunctionRuntimeTreeNode(widgetFunction, label, helpDefinition, bindingSourceName);
        }
Ejemplo n.º 23
0
        /// <exclude />
        public static XElement BuildStaticCallPopulatedSelectorFormsMarkup(ParameterList parameters, string label, HelpDefinition helpDefinition, string bindingSourceName, Type optionsGeneratingStaticType, string optionsGeneratingStaticMethodName, object optionsGeneratingStaticMethodParameterValue, string optionsObjectKeyPropertyName, string optionsObjectLabelPropertyName, bool multiSelect, bool compactMode, bool required, bool bindToString)
        {
            string tagName             = (multiSelect == true? "MultiKeySelector": "KeySelector");
            string bindingPropertyName = (multiSelect && bindToString ? "SelectedAsString" : "Selected");

            XElement   selector = StandardWidgetFunctions.BuildBasicFormsMarkup(Namespaces.BindingFormsStdUiControls10, tagName, bindingPropertyName, label, helpDefinition, bindingSourceName);
            XNamespace f        = Namespaces.BindingFormsStdFuncLib10;

            selector.Add(
                new XAttribute("OptionsKeyField", optionsObjectKeyPropertyName),
                new XAttribute("OptionsLabelField", optionsObjectLabelPropertyName),
                new XAttribute("Required", required),
                (multiSelect ? new XAttribute("CompactMode", compactMode) : null),
                new XElement(selector.Name.Namespace + (tagName + ".Options"),
                             new XElement(f + "StaticMethodCall",
                                          new XAttribute("Type", TypeManager.SerializeType(optionsGeneratingStaticType)),
                                          new XAttribute("Method", optionsGeneratingStaticMethodName))));

            if (optionsGeneratingStaticMethodParameterValue != null)
            {
                selector.Descendants(f + "StaticMethodCall").First().Add(
                    new XAttribute("Parameters", optionsGeneratingStaticMethodParameterValue));
            }

            return(selector);
        }
Ejemplo n.º 24
0
        private static WidgetFunctionRuntimeTreeNode BuildWidgetFunctionRuntimeNode(XElement element)
        {
            XAttribute nameAttribute = element.Attribute(FunctionTreeConfigurationNames.NameAttributeName);
            if (nameAttribute == null)
            {
                throw new InvalidOperationException(string.Format("Missing attribute named '{0}'", FunctionTreeConfigurationNames.NameAttributeName));
            }

            string label = AttributeValueOrEmpty(element, FunctionTreeConfigurationNames.LabelAttributeName);
            string bindingSourceName = AttributeValueOrEmpty(element, FunctionTreeConfigurationNames.BindingSourceNameAttributeName);

            HelpDefinition helpDefinition = null;
            var parameters = new List<BaseParameterRuntimeTreeNode>();

            foreach (XElement childElement in element.Elements())
            {
                if (childElement.Name.LocalName == FunctionTreeConfigurationNames.HelpDefinitionTagName)
                {
                    helpDefinition = HelpDefinition.Deserialize(childElement);
                }
                else if (childElement.Name.LocalName == FunctionTreeConfigurationNames.ParamTagName)
                {
                    BaseParameterRuntimeTreeNode parameterTreeNode = BuildParameterFunctionRuntimeNode(childElement);

                    parameters.Add(parameterTreeNode);
                }
                else
                {
                    throw new InvalidOperationException(string.Format("Only '{0}' tags allowed inside '{1}' tags", FunctionTreeConfigurationNames.ParamTagName, FunctionTreeConfigurationNames.FunctionTagName));
                }
            }

            if (helpDefinition == null) helpDefinition = new HelpDefinition("");

            IWidgetFunction widgetFunction = FunctionFacade.GetWidgetFunction(nameAttribute.Value);

            foreach (BaseParameterRuntimeTreeNode parameter in parameters)
            {
                if (widgetFunction.ParameterProfiles.All(pp => pp.Name != parameter.Name))
                {
                    throw new InvalidOperationException(string.Format("The parameter '{0}' is not defined in the function named '{1}' parameter profiles", parameter.Name, widgetFunction.CompositeName()));
                }
            }

            return new WidgetFunctionRuntimeTreeNode(widgetFunction, label, helpDefinition, bindingSourceName, parameters);
        }
 /// <exclude />
 public ParameterProfile(string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider, WidgetFunctionProvider widgetFunctionProvider, string label, HelpDefinition helpDefinition)
     : this(name, type, isRequired, fallbackValueProvider, widgetFunctionProvider, label, helpDefinition, false)
 {
 }
Ejemplo n.º 26
0
        /// <exclude />
        public static WidgetFunctionRuntimeTreeNode BuildWidgetFunction(string widgetFunctionName, string label, HelpDefinition helpDefinition, string bindingSourceName)
        {
            IWidgetFunction widgetFunction = FunctionFacade.GetWidgetFunction(widgetFunctionName);

            return(new WidgetFunctionRuntimeTreeNode(widgetFunction, label, helpDefinition, bindingSourceName));
        }
Ejemplo n.º 27
0
        /// <exclude />
        public static XElement BuildBasicFormsMarkup(XNamespace uiControlNamespace, string uiControlName, string bindingPropertyName, string label, HelpDefinition help, string bindingSourceName)
        {
            XNamespace forms10Space = Namespaces.BindingForms10;

            XElement widgetMarkup =
                new XElement(uiControlNamespace + uiControlName,
                             new XAttribute("Label", label),
                             new XAttribute("Help", help.HelpText),
                             new XElement(uiControlNamespace + string.Format("{0}.{1}", uiControlName, bindingPropertyName),
                                          new XElement(forms10Space + "bind",
                                                       new XAttribute("source", bindingSourceName))));

            return(widgetMarkup);
        }
Ejemplo n.º 28
0
        //public static XElement GetWidgetMarkup(IWidgetFunction widgetFunction, Type targetType, IDictionary<string, object> parameters, string label, HelpDefinition helpDefinition, string bindingSourceName, FunctionContextContainer functionContextContainer)
        //{
        //    List<BaseParameterRuntimeTreeNode> parameterNodes = new List<BaseParameterRuntimeTreeNode>();

        //    if (parameters != null)
        //    {
        //        foreach (KeyValuePair<string, object> kvp in parameters)
        //        {
        //            parameterNodes.Add(new ConstantObjectParameterRuntimeTreeNode(kvp.Key, kvp.Value));
        //        }
        //    }

        //    BaseRuntimeTreeNode node = new WidgetFunctionRuntimeTreeNode(widgetFunction, label, helpDefinition, bindingSourceName, parameterNodes);

        //    return (XElement)node.GetValue(functionContextContainer);
        //}



        /// <exclude />
        public static XElement GetWidgetMarkup(IWidgetFunction widgetFunction, Type targetType, IEnumerable <BaseParameterRuntimeTreeNode> parameters, string label, HelpDefinition helpDefinition, string bindingSourceName, FunctionContextContainer functionContextContainer)
        {
            List <BaseParameterRuntimeTreeNode> parameterNodes = new List <BaseParameterRuntimeTreeNode>();

            if (parameters != null)
            {
                foreach (BaseParameterRuntimeTreeNode parameterNode in parameters)
                {
                    parameterNodes.Add(parameterNode);
                }
            }

            BaseRuntimeTreeNode node = new WidgetFunctionRuntimeTreeNode(widgetFunction, label, helpDefinition, bindingSourceName, parameterNodes);

            return((XElement)node.GetValue(functionContextContainer));
        }
 /// <exclude />
 public abstract XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName);
 /// <exclude />
 public WidgetFunctionRuntimeTreeNode(IWidgetFunction widgetFunction, string label, HelpDefinition helpDefinition, string bindingSourceName)
     : this(widgetFunction, label, helpDefinition, bindingSourceName, new List <BaseParameterRuntimeTreeNode>())
 {
 }
Ejemplo n.º 31
0
        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;
        }
 /// <exclude />
 public WidgetFunctionRuntimeTreeNode(IWidgetFunction widgetFunction, string label, HelpDefinition helpDefinition, string bindingSourceName)
     : this(widgetFunction, label, helpDefinition, bindingSourceName, new List<BaseParameterRuntimeTreeNode>())
 {
 }
        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;
        }
 /// <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 help, string bindingSourceName)
		{
			return base.BuildBasicWidgetMarkup("FrontendFileUpload", "Text", label, help, bindingSourceName);
		}
 internal WidgetFunctionRuntimeTreeNode(IWidgetFunction widgetFunction, string label, HelpDefinition helpDefinition, string bindingSourceName, List <BaseParameterRuntimeTreeNode> parameters)
 {
     _widgetFunction        = widgetFunction;
     this.Label             = label;
     this.HelpDefinition    = helpDefinition;
     this.BindingSourceName = bindingSourceName;
     this.Parameters        = parameters;
 }
 public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName)
 {
     XElement formElement = base.BuildBasicWidgetMarkup("ConsoleIconSelector", "Selected", label, help, bindingSourceName);
     return formElement;
 }
 /// <exclude />
 public ParameterProfile(
     string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider, WidgetFunctionProvider widgetFunctionProvider,
     Dictionary <string, object> widgetFunctionRuntimeParameters, string label, HelpDefinition helpDefinition)
     : this(name, type, isRequired, fallbackValueProvider, widgetFunctionProvider, label, helpDefinition)
 {
     _widgetFunctionRuntimeParameters = widgetFunctionRuntimeParameters;
 }
Ejemplo n.º 39
0
        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'.");
            }
        }
Ejemplo n.º 40
0
 public override XElement GetWidgetMarkup(ParameterList parameters, string label, HelpDefinition help, string bindingSourceName)
 {
     XElement formElement = base.BuildBasicWidgetMarkup("UrlComboBox", "Text", label, help, bindingSourceName);
     return formElement;
 }
Ejemplo n.º 41
0
 /// <exclude />
 public ParameterProfile(string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider, WidgetFunctionProvider widgetFunctionProvider, string label, HelpDefinition helpDefinition)
     : this(name, type, isRequired, fallbackValueProvider, widgetFunctionProvider, label, helpDefinition, false)
 {
 }