private void InitLocalizationGridCommon(PropertyGridOptions pgOptions)
        {
            var pgDiv          = this.ById("PropertyGrid");
            var anyLocalizable = false;

            foreach (var item in pgOptions.Items)
            {
                if (item.Localizable)
                {
                    anyLocalizable = true;
                }
            }

            if (!anyLocalizable)
            {
                return;
            }

            var localGridDiv = J("<div/>")
                               .Attribute("id", this.IdPrefix + "LocalizationGrid")
                               .Hide()
                               .InsertAfter(pgDiv);

            pgOptions.IdPrefix = this.idPrefix + "Localization_";
            var items = new List <PropertyItem>();

            foreach (var item in pgOptions.Items)
            {
                if (item.Localizable)
                {
                    var copy = jQuery.ExtendObject(new PropertyItem(), item);
                    copy.Insertable   = true;
                    copy.Updatable    = true;
                    copy.OneWay       = false;
                    copy.Required     = false;
                    copy.Localizable  = false;
                    copy.DefaultValue = null;
                    items.Add(copy);
                }
            }

            pgOptions.Items  = items;
            localizationGrid = new PropertyGrid(localGridDiv, pgOptions).Init();

            localGridDiv.AddClass("s-LocalizationGrid");

            var self = this;

            localizationSelect = J("<select/>")
                                 .AddClass("s-LocalizationSelect")
                                 .AppendTo(toolbar.Element)
                                 .Change((e) => self.LocalizationSelectChange(e));

            foreach (var k in GetLanguages())
            {
                Q.AddOption(localizationSelect, k.Item1.ToString(), k.Item2);
            }
        }
Esempio n. 2
0
        private void InitLocalizationGridCommon(PropertyGridOptions pgOptions)
        {
            var pgDiv          = this.ById("PropertyGrid");
            var anyLocalizable = false;

            foreach (var item in pgOptions.Items)
            {
                if (item.Localizable == true)
                {
                    anyLocalizable = true;
                }
            }

            if (!anyLocalizable)
            {
                return;
            }

            var localGridDiv = J("<div/>")
                               .Attribute("id", this.IdPrefix + "LocalizationGrid")
                               .Hide()
                               .InsertAfter(pgDiv);

            pgOptions.IdPrefix = this.idPrefix + "Localization_";
            var items = new List <PropertyItem>();

            foreach (var item in pgOptions.Items)
            {
                if (item.Localizable == true)
                {
                    var copy = jQuery.ExtendObject(new PropertyItem(), item);
                    copy.OneWay       = true;
                    copy.ReadOnly     = true;
                    copy.Required     = false;
                    copy.DefaultValue = null;
                    items.Add(copy);

                    foreach (var lang in GetLanguages())
                    {
                        copy              = jQuery.ExtendObject(new PropertyItem(), item);
                        copy.Name         = lang.Item1 + "$" + copy.Name;
                        copy.Title        = lang.Item2;
                        copy.CssClass     = string.Join(" ", copy.CssClass, "translation");
                        copy.Insertable   = true;
                        copy.Updatable    = true;
                        copy.OneWay       = false;
                        copy.Required     = false;
                        copy.Localizable  = false;
                        copy.DefaultValue = null;
                        items.Add(copy);
                    }
                }
            }

            pgOptions.Items  = items;
            localizationGrid = new PropertyGrid(localGridDiv, pgOptions).Init();

            localGridDiv.AddClass("s-LocalizationGrid");

            var self = this;
        }
        private void InitLocalizationGridCommon(PropertyGridOptions pgOptions)
        {
            var pgDiv          = this.ById("PropertyGrid");
            var anyLocalizable = false;

            foreach (var item in pgOptions.Items)
            {
                if (item.Localizable == true)
                {
                    anyLocalizable = true;
                }
            }

            if (!anyLocalizable)
            {
                return;
            }

            var localGridDiv = J("<div/>")
                               .Attribute("id", this.IdPrefix + "LocalizationGrid")
                               .Hide()
                               .InsertAfter(pgDiv);

            pgOptions.IdPrefix = this.idPrefix + "Localization_";
            var items = new List <PropertyItem>();

            foreach (var item in pgOptions.Items)
            {
                string[][] langs = null;

                if (item.Localizable == true)
                {
                    var copy = jQuery.ExtendObject(new PropertyItem(), item);
                    copy.OneWay       = true;
                    copy.ReadOnly     = true;
                    copy.Required     = false;
                    copy.DefaultValue = null;
                    items.Add(copy);

                    if (langs == null)
                    {
                        var langsTuple = GetLanguages();
                        langs = (langsTuple as object) as string[][];
                        if (langs == null || langs.Length == 0 || langs[0] == null || !Q.IsArray(langs[0]))
                        {
                            langs = langsTuple.Select(x => new string[] { x.Item1, x.Item2 }).ToArray();
                        }
                    }

                    foreach (var lang in langs)
                    {
                        copy              = jQuery.ExtendObject(new PropertyItem(), item);
                        copy.Name         = lang[0] + "$" + copy.Name;
                        copy.Title        = lang[1];
                        copy.CssClass     = string.Join(" ", copy.CssClass, "translation");
                        copy.Insertable   = true;
                        copy.Updatable    = true;
                        copy.OneWay       = false;
                        copy.Required     = false;
                        copy.Localizable  = false;
                        copy.DefaultValue = null;
                        items.Add(copy);
                    }
                }
            }

            pgOptions.Items  = items;
            localizationGrid = new PropertyGrid(localGridDiv, pgOptions).Init();

            localGridDiv.AddClass("s-LocalizationGrid");

            var self = this;
        }