Class AddInParameterAttribute
- Namespace
- Dynamicweb.Extensibility.AddIns
- Assembly
- Dynamicweb.Extensibility.dll
Defines the parameter attribute
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public sealed class AddInParameterAttribute : Attribute
- Inheritance
-
AddInParameterAttribute
- Inherited Members
Examples
using System;
using System.Collections;
using Dynamicweb.Extensibility.AddIns;
using Dynamicweb.Extensibility.Editors;
namespace Dynamicweb.Examples.Extensibility
{
/// <summary>
/// The example of an abstract addin with attrbutes and parameter editors
/// </summary>
[
AddInActive(true),
AddInName("Abstract add-in"),
AddInLabel("Abstract add-in"),
AddInDescription("Just an example of using attributes and parameter editors."),
AddInImage("image.png"),
AddInIcon(Core.UI.Icons.KnownIcon.ObjectGroup),
AddInDeprecated(false),
AddInAuthor("James Bond"),
AddInGroup("Examples"),
AddInTarget("Examples"),
AddInOrder(0),
AddInUseParameterOrdering(true),
AddInUseParameterGrouping(true),
AddInUseParameters(false)
]
public class AddInWithEditors : ConfigurableAddIn, IDropDownOptions
{
[AddInLabel("Color"), AddInParameter("ColorParameterEditor"), AddInParameterEditor(typeof(ColorParameterEditor), "")]
public string ColorEditor { get; set; }
[AddInLabel("Date"), AddInParameter("DateEditor"), AddInParameterEditor(typeof(DateTimeParameterEditor), "hideName=true;AllowNeverExpire=true;AllowEmpty=true;show=date"), AddInParameterGroup("Source")]
public DateTime DateEditor { get; set; }
[AddInLabel("Decimal"), AddInParameter("DecimalEditor"), AddInParameterEditor(typeof(FloatingPointNumberParameterEditor), "minValue=0;maxValue=10;allowNegativeValues=false;localizeValues=true;inputClass=std;disabled=false")]
public decimal DecimalEditor { get; set; }
[AddInParameter("FileEditor"), AddInParameterEditor(typeof(FileManagerEditor), "usefilesfolder=true;allowBrowse=true;extensions=js;file=System/config/clean.js;showfullpath=true;Icon=fa fa-exclamation-triangle;Tooltip=Select a js file;")]
public string FileEditor { get; set; }
[AddInParameter("FolderCustom"), AddInParameterEditor(typeof(FolderSelectEditor), "htmlClass=NewUIinput;")]
public string FolderCustomEditor { get; set; } = "/MyCustomFolder";
[AddInParameter("FolderImages"), AddInParameterEditor(typeof(FolderSelectEditor), "htmlClass=NewUIinput;useimagesfolder=true")]
public string FolderImagesEditor { get; set; }
[AddInParameter("FolderFiles"), AddInParameterEditor(typeof(FolderSelectEditor), "htmlClass=NewUIinput;usefilesfolder=true")]
public string FolderFilesEditor { get; set; }
[AddInParameter("Default font"), AddInParameterEditor(typeof(GoogleFontParameterEditor), "")]
public Dynamicweb.Content.Items.Editors.GoogleFont FontEditor { get; set; }
[AddInParameter("DefaultFontName"), AddInParameterEditor(typeof(HiddenParameterEditor), "")]
public string DefaultFontName
{
get { return FontEditor.Family; }
set { FontEditor.Family = value; }
}
[AddInParameter("DefaultFontWeight"), AddInParameterEditor(typeof(HiddenParameterEditor), "")]
public string DefaultFontWeight
{
get { return FontEditor.SelectedVariant; }
set { FontEditor.SelectedVariant = value; }
}
[AddInParameter("IntegerEditor"), AddInParameterEditor(typeof(IntegerNumberParameterEditor), "inputClass=std editor-parameter;allowNegativeValues=false")]
public int IntegerEditor { get; set; }
[AddInParameter("NumberEditorInteger"), AddInParameterEditor(typeof(NumberParameterEditor), "inputClass=std editor-parameter;allowNegativeValues=false")]
public int NumberEditorInteger { get; set; }
[AddInParameter("NumberEditorDecimal"), AddInParameterEditor(typeof(NumberParameterEditor), "inputClass=std editor-parameter;allowNegativeValues=false;numberType=Decimal")]
public int NumberEditorDecimal { get; set; }
[AddInParameter("NumberEditorCurrency"), AddInParameterEditor(typeof(NumberParameterEditor), "inputClass=std editor-parameter;allowNegativeValues=false;numberType=Currency")]
public int NumberEditorCurrency { get; set; }
[AddInParameter("Item type"), AddInParameterEditor(typeof(ItemListParameterEditor), "inputClass=std; StructureType=All; AllowEditParameterOptions=False")]
public string ItemType { get; set; }
[AddInParameter("Example of static link"), AddInParameterEditor(typeof(LabelParameterEditor), "")]
public string LabelEditor { get; set; } = @"<a href=""http://doc.dynamicweb.com/forum"" target=""_blank"">Developer forum</a>";
[AddInParameter("MoreLessEditor"), AddInParameterEditor(typeof(MoreLessParameterEditor), "")]
public string MoreLessEditor { get; set; }
[AddInParameter("MultipleValuesEditor"), AddInParameterEditor(typeof(MultipleValuesEditor), "")]
public string MultipleValuesEditor { get; set; }
[AddInParameter("URL to page"), AddInParameterEditor(typeof(PageSelectEditor), "")]
public string UrlToPage{ get; set; }
[AddInParameter("Show on paragraph"), AddInParameterEditor(typeof(ParagraphSelectEditor), "htmlClass=std")]
public string ParagraphId { get; set; }
[AddInParameter("Period editor"), AddInParameterEditor(typeof(PeriodParameterEditor), "")]
public string PeriodEditor { get; set; }
[AddInParameter("Template"), AddInParameterEditor(typeof(TemplateParameterEditor), "folder=templates/MyModule/Email/;FullPath=true;NewGUI=true")]
public string Template { get; set; }
[AddInLabel("Text"), AddInParameter("Text"), AddInParameterOrder(0), AddInParameterEditor(typeof(TextParameterEditor), ""), AddInIsEditable(true)]
public string Text { get; set; }
[AddInParameter("User group"), AddInParameterEditor(typeof(UserGroupParameterEditor), "multiple=false;")]
public string UserGroup { get; set; }
[AddInParameter("User"), AddInParameterEditor(typeof(UserParameterEditor), "")]
public string UserEditor { get; set; }
[AddInLabel("YesNo"), AddInParameter("YesNo"), AddInParameterEditor(typeof(YesNoParameterEditor), "")]
public bool YesNoEditor { get; set; } = false;
[AddInParameter("CheckList"), AddInParameterGroup("Parameters with options"), AddInParameterEditor(typeof(CheckListParameterEditor), "infoText=A little description for parameter")]
public string CheckListEditor { get; set; }
[AddInParameter("DropDownEditor"), AddInParameterGroup("Parameters with options"), AddInParameterEditor(typeof(DropDownParameterEditor), "none=false;SortBy=Value;")]
public string DropDownEditor { get; set; }
[AddInParameter("GroupedDropDown"), AddInParameterGroup("Parameters with options"), AddInParameterEditor(typeof(GroupedDropDownParameterEditor), "SortBy=Group,Key;none=false;")]
public string GroupedDropDownEditor { get; set; }
[AddInParameter("RadioButtons"), AddInParameterGroup("Parameters with options"), AddInParameterEditor(typeof(RadioParameterEditor), "")]
public string RadioEditor { get; set; }
/// <summary>
/// Implementation of IDropDownOptions interface
/// </summary>
public Hashtable GetOptions(string dropdownName)
{
switch (dropdownName)
{
case "CheckList":
case "DropDownEditor":
case "RadioButtons":
return new Hashtable
{
{"value1", "label 1"},
{"value2", "label 2"},
{"value3", "label 3"},
{"value4", "label 4"}
};
case "GroupedDropDown":
var list = new Hashtable();
list.Add("Group1_Item1", new GroupedDropDownParameterEditor.DropDownItem("Item 1", "Group 1", "Group1_Item1"));
list.Add("Group1_Item2", new GroupedDropDownParameterEditor.DropDownItem("Item 2", "Group 1", "Group1_Item2"));
list.Add("Group2_Item1", new GroupedDropDownParameterEditor.DropDownItem("Item 1", "Group 2", "Group2_Item1"));
return list;
default:
throw new ArgumentException($"Unknown dropdown name: '{dropdownName}'");
}
}
}
}
Constructors
AddInParameterAttribute(string)
Initializes a new instance of the AddInParameterAttribute class.
public AddInParameterAttribute(string name)
Parameters
name
string- The name.
Properties
Name
Gets or sets the name.
public string Name { get; set; }
Property Value
- string
- The name.