public ImageSelectorWidgetFunction(EntityTokenFactory entityTokenFactory)
            : base(CompositeName, typeof(NullableDataReference<IImageFile>), entityTokenFactory)
        {
            var mediaFolderSelectorWidget = new WidgetFunctionProvider(MediaFileFolderSelectorWidget.CompositeName);

            base.AddParameterProfile(
                new ParameterProfile(MediaFileFolderReferenceParameterName,
                    typeof(DataReference<IMediaFileFolder>),
                    false,
                    new ConstantValueProvider(new DataReference<IMediaFileFolder>()),
                    mediaFolderSelectorWidget,
                    new Dictionary<string, object>(),
                    "Image folder",
                    new HelpDefinition("Select a media folder to choose images from. Default is 'all media'."))
                );

            var requiredWidget = StandardWidgetFunctions.GetBoolSelectorWidget("Yes, require selection", "No, optional");

            base.AddParameterProfile(
                new ParameterProfile(RequiredParameterName,
                    typeof(bool),
                    false,
                    new ConstantValueProvider(true),
                    requiredWidget,
                    new Dictionary<string, object>(),
                    "Selection required",
                    new HelpDefinition("Specify if selecting an image should be required."))
                );
        }
 public StandardFunctionParameterProfile(
     string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider,
     WidgetFunctionProvider widgetFunctionProvider, string customResourceHandleNamespace)
     : this(name,type,isRequired,fallbackValueProvider, widgetFunctionProvider)
 {
     this.CustomResourceHandleNamespace = customResourceHandleNamespace;
 }
        /// <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;
        }
示例#4
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;
 }
示例#5
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;
        }
        public MediaFileSelectorWidgetFunction(EntityTokenFactory entityTokenFactory)
            : base(CompositeName, typeof(NullableDataReference<IMediaFile>), entityTokenFactory)
        {
            var widget = new WidgetFunctionProvider(MediaFileFolderSelectorWidget.CompositeName);

            base.AddParameterProfile(
                new ParameterProfile("MediaFileFolderReference", typeof(DataReference<IMediaFileFolder>), false,
                    new ConstantValueProvider(new DataReference<IMediaFileFolder>()), widget, new Dictionary<string, object>(),
                    "Media Folder", new HelpDefinition("Select a media folder to choose files from. Default is all media files.")));

            base.AddParameterProfile(
                new ParameterProfile("FileExtensionFilter", typeof(string), false,
                    new ConstantValueProvider(""), StandardWidgetFunctions.TextBoxWidget, null,
                    "File Extension Filter", new HelpDefinition("Limit the list to files which have the specified extension. Default is no filter.")));

            base.AddParameterProfile(
                new ParameterProfile("IncludeSubfolders", typeof(bool), false,
                    new ConstantValueProvider(true), StandardWidgetFunctions.GetBoolSelectorWidget("Include files from subfolders", "Only show files from the specified Media folder"), null,
                    "Include Subfolders", new HelpDefinition("When false files from subfolders will no be included.")));

            var requiredWidget = StandardWidgetFunctions.GetBoolSelectorWidget("Yes, require selection", "No, optional");

            base.AddParameterProfile(
                new ParameterProfile(RequiredParameterName, typeof(bool), false,
                    new ConstantValueProvider(true), requiredWidget, new Dictionary<string, object>(),
                    "Selection required", new HelpDefinition("Specify if selecting a media file should be required."))
                );
        }
示例#7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FunctionParameter"/> class.
        /// </summary>
        /// <param name="name">The name.</param>
        /// <param name="type">The type.</param>
        /// <param name="functionParameterAttribute">The function parameter attribute.</param>
        /// <param name="widgetProvider">The widget provider.</param>
        public FunctionParameter(string name, Type type, FunctionParameterAttribute functionParameterAttribute, WidgetFunctionProvider widgetProvider)
        {
            Name = name;
            Type = type;
            Attribute = functionParameterAttribute;

            WidgetProvider = widgetProvider;
        }
 public StandardFunctionParameterProfile(
     string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider,
     WidgetFunctionProvider widgetFunctionProvider)
 {
     this.Name = name;
     this.Type = type;
     this.IsRequired = isRequired;
     this.FallbackValueProvider = fallbackValueProvider;
     this.WidgetFunctionProvider = widgetFunctionProvider;
 }
示例#9
0
        /// <exclude />
        public static string GetDefaultWidgetFunctionNameByType(Type type)
        {
            WidgetFunctionProvider provider = GetDefaultWidgetFunctionProviderByType(type);

            if (provider == null)
            {
                return(null);
            }

            return(provider.WidgetFunctionCompositeName);
        }
示例#10
0
 public static WidgetFunctionProvider GetWidgetFunctionProvider(DataFieldDescriptor dataFieldDescriptor)
 {
     if ((dataFieldDescriptor.FormRenderingProfile != null) && (string.IsNullOrEmpty(dataFieldDescriptor.FormRenderingProfile.WidgetFunctionMarkup) == false))
     {
         WidgetFunctionProvider widgetFunctionProvider = new WidgetFunctionProvider(XElement.Parse(dataFieldDescriptor.FormRenderingProfile.WidgetFunctionMarkup));
         return widgetFunctionProvider;
     }
     else
     {
         return StandardWidgetFunctions.GetDefaultWidgetFunctionProviderByType(dataFieldDescriptor.InstanceType);
     }
 }
 /// <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)
     : this(name, type, isRequired, fallbackValueProvider, widgetFunctionProvider, label, helpDefinition, false)
 {
 }
示例#13
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)
 {
 }