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); } }
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; }