Пример #1
0
 private void SerializeSeriesColors(IClientSideObjectWriter objectWriter)
 {
     if (SeriesColors != null)
     {
         objectWriter.AppendCollection("seriesColors", SeriesColors);
     }
 }
        public static void AppendContentUrls <TItem>(this IClientSideObjectWriter objectWriter, string identifier, IList <TItem> items, bool isSelfInitialized)
            where TItem : NavigationItem <TItem>, IAsyncContentContainer
        {
            var contentUrls          = new List <string>();
            var hasVisibleAsyncItems = false;

            items.Each(item =>
            {
                if (item.Visible)
                {
                    if (!string.IsNullOrEmpty(item.ContentUrl))
                    {
                        var url = isSelfInitialized
                                      ? System.Web.HttpUtility.UrlDecode(item.ContentUrl)
                                      : item.ContentUrl;

                        contentUrls.Add(url);
                        hasVisibleAsyncItems = true;
                    }
                    else
                    {
                        contentUrls.Add("");
                    }
                }
            });

            if (hasVisibleAsyncItems)
            {
                objectWriter.AppendCollection(identifier, contentUrls);
            }
        }
Пример #3
0
        public override void WriteInitializationScript(TextWriter writer)
        {
            IClientSideObjectWriter objectWriter = ClientSideObjectWriterFactory.Create(Id, "tSplitter", writer);

            objectWriter.Start();

            objectWriter.Append <SplitterOrientation>("orientation", Orientation, SplitterOrientation.Horizontal);

            var panes = new List <IDictionary <string, object> >();

            Panes.Each(pane =>
            {
                panes.Add(pane.Serialize());
            });

            if (panes.Any())
            {
                objectWriter.AppendCollection("panes", panes);
            }

            ClientEvents.SerializeTo(objectWriter);

            objectWriter.Complete();

            base.WriteInitializationScript(writer);
        }
Пример #4
0
        public void SerializeDataSource(IClientSideObjectWriter writer)
        {
            IEnumerable dataSource          = DataSource;
            var         dataTableEnumerable = DataSource as GridDataTableWrapper;

            var serverOperationMode = !DataBinding.IsClientOperationMode;

            if (serverOperationMode)
            {
                dataSource = DataProcessor.ProcessedDataSource;
            }

            if (dataTableEnumerable != null && dataTableEnumerable.Table != null)
            {
                dataSource = dataSource.SerializeToDictionary(dataTableEnumerable.Table);
            }
            else if (DataProcessor.ProcessedDataSource is IQueryable <AggregateFunctionsGroup> )
            {
                var grouppedDataSource = DataProcessor.ProcessedDataSource.Cast <IGroup>();

                if (serverOperationMode)
                {
                    dataSource = grouppedDataSource.Leaves();
                }
            }

            writer.AppendCollection("data", dataSource);
        }
Пример #5
0
        private void SerializeAxes <TAxis>(string key, IList <TAxis> axes, IClientSideObjectWriter objectWriter)
            where TAxis : IChartAxis
        {
            if (axes.Count > 0)
            {
                var serializedAxes  = new List <IDictionary <string, object> >();
                var shouldSerialize = false;

                for (var i = 0; i < axes.Count; i++)
                {
                    var a         = axes[i];
                    var data      = a.CreateSerializer().Serialize();
                    var isPrimary = i == 0 && axes.Count > 1;

                    if (data.Count > 0 || isPrimary)
                    {
                        serializedAxes.Add(data);
                        shouldSerialize = true;
                    }
                }

                if (shouldSerialize)
                {
                    objectWriter.AppendCollection(key, serializedAxes);
                }
            }
        }
Пример #6
0
 public void SerializeTo(IClientSideObjectWriter writer)
 {
     var result = Serialize();
     if (result.Any())
     {
         writer.AppendCollection("plugins", result);
     }
 }
}
Пример #8
0
 public void SerializeTo(string key, IClientSideObjectWriter writer)
 {
     if (Enabled)
     {
         if (grid.DataProcessor.GroupDescriptors.Any())
         {
             writer.AppendCollection("groups", SerializeDescriptors());
             writer.Append("groupBy", SerializeExpression());
         }
     }
 }
Пример #9
0
 public void SerializeTo(string key, IClientSideObjectWriter writer)
 {
     if (Enabled)
     {
         if (grid.DataProcessor.GroupDescriptors.Any())
         {
             writer.AppendCollection("groups", SerializeDescriptors());
             writer.Append("groupBy", SerializeExpression());
         }
     }
 }
Пример #10
0
        public override void WriteInitializationScript(System.IO.TextWriter writer)
        {
            IClientSideObjectWriter objectWriter = ClientSideObjectWriterFactory.Create(Id, "tComboBox", writer);

            objectWriter.Start();

            objectWriter.Append("autoFill", AutoFill, true);
            objectWriter.Append("ignoreCase", IgnoreCase, true);
            objectWriter.Append("highlightFirst", HighlightFirstMatch, true);
            objectWriter.Append("placeholder", this.Placeholder);
            objectWriter.Append("cascadeTo", this.CascadeTo);

            if (!defaultEffects.SequenceEqual(Effects.Container))
            {
                objectWriter.Serialize("effects", Effects);
            }

            ClientEvents.SerializeTo(objectWriter);

            DataBinding.Ajax.SerializeTo <AutoCompleteBindingSettings>("ajax", objectWriter, this);
            DataBinding.WebService.SerializeTo <AutoCompleteBindingSettings>("ws", objectWriter, this);

            if (Filtering.Enabled)
            {
                objectWriter.Append("filter", (int)Filtering.FilterMode);
                objectWriter.Append("minChars", Filtering.MinimumChars, 0);
            }

            if (hasItems)
            {
                objectWriter.AppendCollection("data", Items);
            }
            else
            {
                objectWriter.Append("selectedValue", this.GetValue <string>(Value));
            }

            objectWriter.Append("index", SelectedIndex, -1);

            if (DropDownHtmlAttributes.Any())
            {
                objectWriter.Append("dropDownAttr", DropDownHtmlAttributes.ToAttributeString());
            }

            objectWriter.Append("encoded", this.Encoded, true);
            objectWriter.Append("enabled", this.Enabled, true);
            objectWriter.Append("openOnFocus", this.OpenOnFocus, false);

            objectWriter.Complete();

            base.WriteInitializationScript(writer);
        }
Пример #11
0
        private void SerializeSeries(IClientSideObjectWriter objectWriter)
        {
            if (Series.Count > 0)
            {
                var serializedSeries = new List <IDictionary <string, object> >();
                foreach (var s in Series)
                {
                    serializedSeries.Add(s.CreateSerializer().Serialize());
                }

                objectWriter.AppendCollection("series", serializedSeries);
            }
        }
Пример #12
0
        public void SerializeTo(string key, IClientSideObjectWriter writer)
        {
            if (Enabled)
            {
                writer.Append("pageSize", PageSize, 10);
                writer.Append("total", grid.DataProcessor.Total);
                writer.Append("currentPage", grid.DataProcessor.CurrentPage);
                writer.AppendCollection("pageSizesInDropDown", PageSizesInDropDown.Select(v => v.ToString(CultureInfo.InvariantCulture)));

                writer.Append("pageOnScroll", PageOnScroll);
                if (grid.IsClientBinding && PageOnScroll)
                {
                    if (!grid.IsEmpty)
                    {
                        var dataTableEnumerable = grid.DataSource as GridDataTableWrapper;
                        if (dataTableEnumerable != null && dataTableEnumerable.Table != null)
                        {
                            writer.AppendCollection("data",
                                                    grid.DataProcessor.ProcessedDataSource.SerializeToDictionary(
                                                        dataTableEnumerable.Table));
                        }
                        else if (grid.DataProcessor.ProcessedDataSource is IQueryable <AggregateFunctionsGroup> )
                        {
                            IEnumerable <IGroup> grouppedDataSource = grid.DataProcessor.ProcessedDataSource.Cast <IGroup>();
                            writer.AppendCollection("data", grouppedDataSource.Leaves());
                        }
                        else
                        {
                            writer.AppendCollection("data", grid.DataProcessor.ProcessedDataSource);
                        }
                    }
                }
            }
            else
            {
                writer.Append("pageSize", 0);
            }
        }
Пример #13
0
        public override void WriteInitializationScript(System.IO.TextWriter writer)
        {
            IClientSideObjectWriter objectWriter = ClientSideObjectWriterFactory.Create(Id, "tDropDownList", writer);

            objectWriter.Start();

            if (!defaultEffects.SequenceEqual(Effects.Container))
            {
                objectWriter.Serialize("effects", Effects);
            }

            ClientEvents.SerializeTo(objectWriter);

            DataBinding.Ajax.SerializeTo("ajax", objectWriter, this);
            DataBinding.WebService.SerializeTo("ws", objectWriter, this);

            objectWriter.Append("delay", Delay, 500);
            objectWriter.Append("placeholder", this.Placeholder);
            objectWriter.Append("cascadeTo", this.CascadeTo);

            if (hasItems)
            {
                objectWriter.AppendCollection("data", Items);
            }
            else
            {
                objectWriter.Append("selectedValue", this.GetValue <string>(Value));
            }

            objectWriter.Append("index", SelectedIndex, 0);

            if (DropDownHtmlAttributes.Any())
            {
                objectWriter.Append("dropDownAttr", DropDownHtmlAttributes.ToAttributeString());
            }

            objectWriter.Append("enabled", this.Enabled, true);
            objectWriter.Append("encoded", this.Encoded, true);

            objectWriter.Complete();

            base.WriteInitializationScript(writer);
        }
Пример #14
0
        public override void WriteInitializationScript(System.IO.TextWriter writer)
        {
            IClientSideObjectWriter objectWriter = ClientSideObjectWriterFactory.Create(Id, "tAutoComplete", writer);

            objectWriter.Start();

            objectWriter.Append("autoFill", AutoFill, false);
            objectWriter.Append("highlightFirst", HighlightFirstMatch, false);

            if (!defaultEffects.SequenceEqual(Effects.Container))
            {
                objectWriter.Serialize("effects", Effects);
            }

            ClientEvents.SerializeTo(objectWriter);
            Multiple.SerializeTo(objectWriter);

            DataBinding.Ajax.SerializeTo <AutoCompleteBindingSettings>("ajax", objectWriter, this);
            DataBinding.WebService.SerializeTo <AutoCompleteBindingSettings>("ws", objectWriter, this);

            objectWriter.Append("filter", Filtering.FilterMode == AutoCompleteFilterMode.Contains ? 2 : 1); //"contains" : "startsWith");
            objectWriter.Append("minChars", Filtering.MinimumChars, 1);

            if (Items.Any())
            {
                objectWriter.AppendCollection("data", Items);
            }

            if (DropDownHtmlAttributes.Any())
            {
                objectWriter.Append("dropDownAttr", DropDownHtmlAttributes.ToAttributeString());
            }

            objectWriter.Append("encoded", this.Encoded, true);

            objectWriter.Complete();

            base.WriteInitializationScript(writer);
        }
Пример #15
0
        public void SerializeTo(string key, IClientSideObjectWriter writer)
        {
            if (Enabled)
            {
                writer.Append("pageSize", PageSize, 10);
                writer.Append("total", grid.DataProcessor.Total);
                writer.Append("currentPage", grid.DataProcessor.CurrentPage);
                writer.AppendCollection("pageSizesInDropDown", PageSizesInDropDown.Select(v => v.ToString(CultureInfo.InvariantCulture)));

                writer.Append("pageOnScroll", PageOnScroll);
                if (grid.IsClientBinding && PageOnScroll)
                {
                    if (!grid.IsEmpty)
                    {
                        var dataTableEnumerable = grid.DataSource as GridDataTableWrapper;
                        if (dataTableEnumerable != null && dataTableEnumerable.Table != null)
                        {
                            writer.AppendCollection("data",
                                                    grid.DataProcessor.ProcessedDataSource.SerializeToDictionary(
                                                        dataTableEnumerable.Table));

                        }
                        else if (grid.DataProcessor.ProcessedDataSource is IQueryable<AggregateFunctionsGroup>)
                        {
                            IEnumerable<IGroup> grouppedDataSource = grid.DataProcessor.ProcessedDataSource.Cast<IGroup>();
                            writer.AppendCollection("data", grouppedDataSource.Leaves());
                        }
                        else
                        {
                            writer.AppendCollection("data", grid.DataProcessor.ProcessedDataSource);
                        }
                    }
                }                
            }
            else
            {
                writer.Append("pageSize", 0);
            }
        }
Пример #16
0
        public void Serialize(IClientSideObjectWriter writer)
        {
            var columns = new List <IDictionary <string, object> >();

            grid.VisibleColumns.Each(column =>
            {
                columns.Add(column.CreateSerializer().Serialize());
            });

            if (columns.Any())
            {
                writer.AppendCollection("columns", columns);
            }

            new GridPluginSerializer(grid).SerializeTo(writer);

            new GridUrlFormatSerializer <T>(grid).SerializeTo(writer);

            grid.Editing.SerializeTo("editing", writer);
            var shouldSerializeDataSource = false;

#if MVC2 || MVC3
            if (grid.OutputValidation)
            {
                writer.AppendObject("validationMetadata", grid.ValidationMetadata);
            }

            shouldSerializeDataSource = grid.Editing.Enabled && grid.IsClientBinding && !grid.IsEmpty;
#endif
            grid.Grouping.SerializeTo("grouping", writer);
            grid.Paging.SerializeTo("paging", writer);
            grid.Sorting.SerializeTo("sorting", writer);
            grid.Selection.SerializeTo("selection", writer);

            if (grid.DataBinding.IsClientOperationMode)
            {
                writer.Append("operationMode", "client");
                shouldSerializeDataSource = true;
            }

            grid.KeyboardNavigation.SerializeTo("keyboardNavigation", writer);
            grid.ColumnContextMenu.SerializeTo("columnContextMenu", writer);

            if (shouldSerializeDataSource)
            {
                grid.SerializeDataSource(writer);
            }

            grid.Ajax.SerializeTo("ajax", writer);
            grid.WebService.SerializeTo("ws", writer);
            grid.ClientEvents.SerializeTo("clientEvents", writer);
            grid.Localization.SerializeTo("localization", writer);
            if (grid.DetailView != null)
            {
                grid.DetailView.SerializeTo("detail", writer);
            }

            if (grid.ClientRowTemplate.HasValue())
            {
                writer.Append("rowTemplate", grid.IsSelfInitialized ? grid.ClientRowTemplate.Replace("<", "%3c").Replace(">", "%3e") : grid.ClientRowTemplate);
            }

            writer.Append("noRecordsTemplate", grid.NoRecordsTemplate);
        }
        public void SerializeTo(string key, IClientSideObjectWriter writer)
        {
            if (!Enabled)
            {
                return;
            }

            var editing = Serialize();

            if (editing.Any())
            {
                writer.AppendObject("editing", editing);
            }

            if (grid.IsClientBinding)
            {
                writer.AppendObject("dataKeys", grid.DataKeys.ToDictionary(dataKey => dataKey.Name, dataKey => (object)dataKey.RouteKey));

                if (!grid.IsEmpty)
                {
                    if (grid.DataProcessor.ProcessedDataSource is IQueryable<AggregateFunctionsGroup>)
                    {
                        IEnumerable<IGroup> grouppedDataSource = grid.DataProcessor.ProcessedDataSource.Cast<IGroup>();
                        writer.AppendCollection("data", grouppedDataSource.Leaves());
                    }
                    else
                    {
                        writer.AppendCollection("data", grid.DataProcessor.ProcessedDataSource);
                    }
                }
            }
        }