示例#1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TreeView"/> class.
        /// </summary>
        /// <param name="viewContext">The view context.</param>
        /// <param name="clientSideObjectWriterFactory">The client side object writer factory.</param>
        /// <param name="urlGenerator">The URL generator.</param>
        /// <param name="urlGenerator">The navigation item authorization.</param>
        /// <param name="builderFactory">The builder factory.</param>
        public TreeView(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IUrlGenerator urlGenerator, INavigationItemAuthorization authorization, ITreeViewHtmlBuilderFactory factory)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            Guard.IsNotNull(urlGenerator, "urlGenerator");
            Guard.IsNotNull(authorization, "authorization");
            Guard.IsNotNull(factory, "factory");

            UrlGenerator   = urlGenerator;
            Authorization  = authorization;
            builderFactory = factory;

            ClientEvents = new TreeViewClientEvents();

            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.treeview.js" });

            DragAndDrop = new TreeViewDragAndDropSettings();

            DataBinding = new TreeViewDataBindingConfiguration();
            Ajax        = DataBinding.Ajax;
            WebService  = DataBinding.WebService;

            this.Effects = new Effects();
            defaultEffects.Each(el => Effects.Container.Add(el));

            Items = new LinkedObjectCollection <TreeViewItem>(null);

            ShowLines = true;

            SelectedIndex    = -1;
            SecurityTrimming = true;
        }
示例#2
0
        public PanelBar(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IUrlGenerator urlGenerator, INavigationItemAuthorization authorization, INavigationComponentHtmlBuilderFactory <PanelBar, PanelBarItem> rendererFactory)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            Guard.IsNotNull(urlGenerator, "urlGenerator");
            Guard.IsNotNull(authorization, "authorization");

            Authorization = authorization;
            UrlGenerator  = urlGenerator;

            this.builderFactory = rendererFactory;

            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.panelbar.js" });

            ClientEvents = new PanelBarClientEvents();

            this.Effects = new Effects();
            defaultEffects.Each(el => Effects.Container.Add(el));

            ExpandMode    = PanelBarExpandMode.Multiple;
            HighlightPath = true;

            Items = new LinkedObjectCollection <PanelBarItem>(null);

            SelectedIndex    = -1;
            SecurityTrimming = true;
        }
示例#3
0
        public ComboBox(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IUrlGenerator urlGenerator)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.list.js", "telerik.combobox.js" });

            UrlGenerator = urlGenerator;

            ClientEvents              = new DropDownClientEvents();
            DataBinding               = new AutoCompleteDataBindingConfiguration();
            DropDownHtmlAttributes    = new RouteValueDictionary();
            HiddenInputHtmlAttributes = new RouteValueDictionary();
            InputHtmlAttributes       = new RouteValueDictionary();

            Effects = new Effects();
            defaultEffects.Each(el => Effects.Container.Add(el));

            Filtering = new ComboBoxFilterSettings();

            Items         = new List <DropDownItem>();
            SelectedIndex = -1;
            Enabled       = true;
            Encoded       = true;
            OpenOnFocus   = false;
            IgnoreCase    = true;
        }
示例#4
0
        public Editor(ViewContext viewContext,
                      IClientSideObjectWriterFactory clientSideObjectWriterFactory,
                      IWebAssetCollectionResolver resolver,
                      ILocalizationService localizationService,
                      IUrlGenerator urlGenerator)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            this.resolver     = resolver;
            this.urlGenerator = urlGenerator;

            ScriptFileNames.AddRange(new[] {
                "telerik.common.js",
                "telerik.list.js",
                "telerik.combobox.js",
                "telerik.draganddrop.js",
                "telerik.window.js",
                "telerik.editor.js"
            });

            DefaultToolGroup = new EditorToolGroup(this);

            ClientEvents = new EditorClientEvents();

            StyleSheets = new WebAssetGroup("default", false)
            {
                DefaultPath = WebAssetDefaultSettings.StyleSheetFilesPath
            };

            Localization = new EditorLocalization(localizationService, CultureInfo.CurrentUICulture);

            Template = new HtmlTemplate();

            new EditorToolFactory(DefaultToolGroup)
            .Bold().Italic().Underline().Strikethrough()
            .Separator()
            .FontName()
            .FontSize()
            .FontColor().BackColor()
            .Separator()
            .JustifyLeft().JustifyCenter().JustifyRight().JustifyFull()
            .Separator()
            .InsertUnorderedList().InsertOrderedList()
            .Separator()
            .Outdent().Indent()
            .Separator()
            .FormatBlock()
            .Separator()
            .CreateLink().Unlink()
            .Separator()
            .InsertImage();

            FileBrowserSettings = new EditorFileBrowserSettings(this);

            DefaultToolGroup.Tools.OfType <EditorComboBox>()
            .Each(combo => combo.InputHtmlAttributes.Add("title", combo.Identifier));
        }
示例#5
0
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="viewContext">The current Mvc view context.</param>
 /// <param name="clientSideObjectWriterFactory">The client side object writer factory.</param>
 public TreeView(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory)
     : base(viewContext, clientSideObjectWriterFactory)
 {
     ScriptFileNames.AddRange(new[]
     {
         "TreeView/treeview.async.js",
         "TreeView/treeview.min.js",
         "TreeView/treeview.pack.js"
     });
 }
示例#6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Grid{T}"/> class.
        /// </summary>
        /// <param name="viewContext">The view context.</param>
        /// <param name="clientSideObjectWriterFactory">The client side object writer factory.</param>
        /// <param name="urlGenerator">The URL generator.</param>
        /// <param name="builderFactory">The builder factory.</param>
        public Grid(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IUrlGenerator urlGenerator,
                    ILocalizationService localizationService, IGridHtmlBuilderFactory htmlBuilderFactory)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            this.htmlBuilderFactory = htmlBuilderFactory;

            UrlGenerator = urlGenerator;

            PrefixUrlParameters = true;
            RowTemplate         = new HtmlTemplate <T>();
            DataProcessor       = new GridDataProcessor(this);
            Columns             = new List <GridColumnBase <T> >();
            DataKeys            = new List <IGridDataKey <T> >();

            Paging             = new GridPagingSettings(this);
            Sorting            = new GridSortSettings(this);
            Scrolling          = new GridScrollingSettings();
            KeyboardNavigation = new GridKeyboardNavigationSettings(this);
            ColumnContextMenu  = new GridColumnContextMenuSettings(this);
            Filtering          = new GridFilteringSettings();
            Editing            = new GridEditingSettings <T>(this)
            {
                PopUp = new Window(viewContext, clientSideObjectWriterFactory, new WindowHtmlBuilderFactory())
                {
                    Modal     = true,
                    Draggable = true
                }
            };

            Grouping   = new GridGroupingSettings(this);
            Resizing   = new GridResizingSettings();
            Reordering = new GridReorderingSettings();

            TableHtmlAttributes = new RouteValueDictionary();

            DataBinding = new GridDataBindingSettings(this);

            Footer  = true;
            IsEmpty = true;

            ClientEvents = new GridClientEvents();
            Selection    = new GridSelectionSettings();
            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.grid.js" });

            ToolBar           = new GridToolBarSettings <T>(this);
            Localization      = new GridLocalization(localizationService, CultureInfo.CurrentUICulture);
            NoRecordsTemplate = new HtmlTemplate();

            ValidationMetadata = new Dictionary <string, object>();

            AutoGenerateColumns = true;
        }
示例#7
0
        public IntegerTextBox(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, ITextBoxBaseHtmlBuilderFactory <int> rendererFactory)
            : base(viewContext, clientSideObjectWriterFactory, rendererFactory)
        {
            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.textbox.js" });

            MinValue      = int.MinValue;
            MaxValue      = int.MaxValue;
            IncrementStep = 1;
            EmptyMessage  = "Enter value";

            NumberGroupSize      = CultureInfo.CurrentCulture.NumberFormat.NumberGroupSizes[0];
            NegativePatternIndex = CultureInfo.CurrentCulture.NumberFormat.NumberNegativePattern;
        }
示例#8
0
        public NumericTextBox(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, ITextBoxBaseHtmlBuilderFactory <T> rendererFactory)
            : base(viewContext, clientSideObjectWriterFactory, rendererFactory)
        {
            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.textbox.js" });

            MinValue      = ReadField()["min"];
            MaxValue      = ReadField()["max"];
            IncrementStep = (T)Convert.ChangeType(1, typeof(T));
            EmptyMessage  = "Enter value";

            DecimalDigits        = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalDigits;
            NumberGroupSize      = CultureInfo.CurrentCulture.NumberFormat.NumberGroupSizes[0];
            NegativePatternIndex = CultureInfo.CurrentCulture.NumberFormat.NumberNegativePattern;
        }
示例#9
0
        public DatePicker(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.calendar.js", "telerik.datepicker.js" });

            defaultEffects.Each(el => Effects.Container.Add(el));

            Format = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;

            MinValue = defaultMinDate;
            MaxValue = defaultMaxDate;

            ButtonTitle = "Open the calendar";
            ShowButton  = true;
        }
示例#10
0
        public Splitter(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            ScriptFileNames.AddRange(new[] {
                "telerik.common.js",
                "telerik.draganddrop.js",
                "telerik.splitter.js"
            });

            Orientation = SplitterOrientation.Horizontal;

            Panes = new List <SplitterPane>();

            ClientEvents = new SplitterClientEvents();
        }
示例#11
0
        public PercentTextBox(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, ITextBoxBaseHtmlBuilderFactory <double> rendererFactory)
            : base(viewContext, clientSideObjectWriterFactory, rendererFactory)
        {
            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.textbox.js" });

            MinValue      = double.MinValue;
            MaxValue      = double.MaxValue;
            IncrementStep = 1;
            EmptyMessage  = "Enter value";

            DecimalDigits        = CultureInfo.CurrentCulture.NumberFormat.PercentDecimalDigits;
            NumberGroupSize      = CultureInfo.CurrentCulture.NumberFormat.PercentGroupSizes[0];
            NegativePatternIndex = CultureInfo.CurrentCulture.NumberFormat.PercentNegativePattern;
            PositivePatternIndex = CultureInfo.CurrentCulture.NumberFormat.PercentPositivePattern;
        }
示例#12
0
        public RangeSlider(ViewContext viewContext, IClientSideObjectWriterFactory writerFactory, IRangeSliderHtmlBuilderFactory rendererFactory)
            : base(viewContext, writerFactory)
        {
            this.rendererFactory = rendererFactory;

            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.draganddrop.js", "telerik.slider.js" });

            Orientation   = SliderOrientation.Horizontal;
            TickPlacement = SliderTickPlacement.Both;
            MinValue      = (T)Convert.ChangeType(0, typeof(T));
            MaxValue      = (T)Convert.ChangeType(10, typeof(T));
            SmallStep     = (T)Convert.ChangeType(1, typeof(T));
            ClientEvents  = new SliderBaseClientEvents();
            Enabled       = true;
            Settings      = new SliderTooltipSettings();
        }
示例#13
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Upload" /> class.
        /// </summary>
        /// <param name="viewContext">The view context.</param>
        /// <param name="clientSideObjectWriterFactory">The client side object writer factory.</param>
        public Upload(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory,
                      IUrlGenerator urlGenerator, ILocalizationService localizationService)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            ScriptFileNames.AddRange(new [] { "telerik.common.js", "telerik.upload.js" });

            ClientEvents = new UploadClientEvents();
            Enabled      = true;
            Multiple     = true;
            ShowFileList = true;
            Async        = new UploadAsyncSettings(this);

            UrlGenerator = urlGenerator;

            Localization = new UploadLocalization(localizationService, CultureInfo.CurrentCulture);
        }
示例#14
0
        public Calendar(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IUrlGenerator urlGenerator, ICalendarHtmlBuilderFactory rendererFactory)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            UrlGenerator = urlGenerator;

            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.calendar.js" });

            ClientEvents = new CalendarClientEvents();

            SelectionSettings = new CalendarSelectionSettings {
                Dates = new List <DateTime>()
            };

            MinDate = new DateTime(1899, 12, 31);
            MaxDate = new DateTime(2100, 1, 1);
            Value   = null;

            this.rendererFactory = rendererFactory;
        }
示例#15
0
        public TimePicker(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.timepicker.js" });

            defaultEffects.Each(el => Effects.Container.Add(el));

            Format = CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern;

            DropDownHtmlAttributes = new Dictionary <string, object>();

            MinValue = DateTime.Today;
            MaxValue = DateTime.Today;

            Interval = 30;

            ButtonTitle = "Open the time view";
            ShowButton  = true;
        }
示例#16
0
        public DropDownList(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IUrlGenerator urlGenerator)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.list.js" });

            UrlGenerator = urlGenerator;

            ClientEvents              = new DropDownClientEvents();
            DataBinding               = new DropDownListDataBindingConfiguration();
            DropDownHtmlAttributes    = new RouteValueDictionary();
            HiddenInputHtmlAttributes = new RouteValueDictionary();

            Effects = new Effects();
            defaultEffects.Each(el => Effects.Container.Add(el));

            Items         = new List <DropDownItem>();
            SelectedIndex = 0;
            Enabled       = true;
            Encoded       = true;
            Delay         = 500;
        }
示例#17
0
        public AutoComplete(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IUrlGenerator urlGenerator)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.list.js", "telerik.autocomplete.js" });

            UrlGenerator = urlGenerator;

            ClientEvents           = new DropDownClientEvents();
            DataBinding            = new AutoCompleteDataBindingConfiguration();
            DropDownHtmlAttributes = new RouteValueDictionary();
            Filtering = new AutoCompleteFilterSettings();

            Items = new List <string>();

            Multiple = new AutoCompleteMultipleValuesSettings();

            Effects = new Effects();
            defaultEffects.Each(el => Effects.Container.Add(el));
            Enabled = true;
            Encoded = true;
        }
示例#18
0
        public TabStrip(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IUrlGenerator urlGenerator, INavigationItemAuthorization authorization, ITabStripHtmlBuilderFactory rendererFactory) : base(viewContext, clientSideObjectWriterFactory)
        {
            Guard.IsNotNull(urlGenerator, "urlGenerator");
            Guard.IsNotNull(authorization, "authorization");
            Guard.IsNotNull(rendererFactory, "rendererFactory");

            this.builderFactory = rendererFactory;

            UrlGenerator  = urlGenerator;
            Authorization = authorization;

            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.tabstrip.js" });

            this.Effects = new Effects();
            defaultEffects.Each(el => Effects.Container.Add(el));

            ClientEvents = new TabStripClientEvents();

            Items         = new List <TabStripItem>();
            SelectedIndex = -1;
            HighlightPath = true;
        }
示例#19
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Chart{T}" /> class.
        /// </summary>
        /// <param name="viewContext">The view context.</param>
        /// <param name="clientSideObjectWriterFactory">The client side object writer factory.</param>
        /// <param name="urlGenerator">The URL Generator.</param>
        public Chart(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IUrlGenerator urlGenerator)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.chart.js" });

            ClientEvents   = new ChartClientEvents();
            UrlGenerator   = urlGenerator;
            Title          = new ChartTitle();
            ChartArea      = new ChartArea();
            PlotArea       = new PlotArea();
            Legend         = new ChartLegend();
            Series         = new List <ChartSeriesBase <T> >();
            CategoryAxis   = new ChartCategoryAxis <T>(this);
            ValueAxis      = new ChartNumericAxis <T>(this);
            XAxis          = new ChartNumericAxis <T>(this);
            YAxis          = new ChartNumericAxis <T>(this);
            DataBinding    = new ChartDataBindingSettings(this);
            SeriesDefaults = new ChartSeriesDefaults <T>(this);
            AxisDefaults   = new ChartAxisDefaults <T>(this);
            Tooltip        = new ChartTooltip();
            Transitions    = true;
        }
示例#20
0
        public DateTimePicker(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.datetimepicker.js", "telerik.datepicker.js", "telerik.calendar.js", "telerik.timepicker.js" });

            defaultEffects.Each(el => Effects.Container.Add(el));

            DateTimeFormatInfo dateTimeFormats = CultureInfo.CurrentCulture.DateTimeFormat;
            Format = dateTimeFormats.ShortDatePattern + " " + dateTimeFormats.ShortTimePattern;

            DropDownHtmlAttributes = new Dictionary<string, object>();

            MinValue = defaultMinDate;
            MaxValue = defaultMaxDate;

            StartTime = DateTime.Today;
            EndTime = DateTime.Today;

            Interval = 30;

            CalendarButtonTitle = "Open the calendar";
            TimeButtonTitle = "Open the time view";
        }
示例#21
0
        public Menu(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IUrlGenerator urlGenerator, INavigationItemAuthorization authorization, INavigationComponentHtmlBuilderFactory <Menu, MenuItem> factory)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            Guard.IsNotNull(urlGenerator, "urlGenerator");
            Guard.IsNotNull(authorization, "authorization");
            Guard.IsNotNull(factory, "factory");

            UrlGenerator    = urlGenerator;
            Authorization   = authorization;
            rendererFactory = factory;

            ClientEvents = new MenuClientEvents();

            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.menu.js" });

            this.Effects = new Effects();
            defaultEffects.Each(el => Effects.Container.Add(el));

            Items = new LinkedObjectCollection <MenuItem>(null);

            SelectedIndex = -1;
            HighlightPath = true;
        }
示例#22
0
        public Window(ViewContext viewContext, IClientSideObjectWriterFactory clientSideObjectWriterFactory, IWindowHtmlBuilderFactory builderFactory)
            : base(viewContext, clientSideObjectWriterFactory)
        {
            this.builderFactory = builderFactory;

            ScriptFileNames.AddRange(new[] { "telerik.common.js", "telerik.draganddrop.js", "telerik.window.js" });

            Template = new HtmlTemplate();

            ClientEvents     = new WindowClientEvents();
            ResizingSettings = new WindowResizingSettings();

            Buttons = new WindowButtons();
            defaultButtons.Each(button => Buttons.Container.Add(button));

            Effects = new Effects();
            defaultEffects.Each(el => Effects.Container.Add(el));

            ContentHtmlAttributes = new RouteValueDictionary();

            Scrollable = true;

            Visible = true;
        }