private GridEditorLinkPickerTitleConfig(JObject obj) : base(obj) { Show = obj.GetBoolean("show"); }
/// <summary> /// Parses the specified <code>obj</code> into an instance of <see cref="LinkPickerItem"/>. /// </summary> /// <param name="obj">The instance of <see cref="JObject"/> to be parsed.</param> public static LinkPickerItem Parse(JObject obj) { if (obj == null) return null; // Get the ID int id = obj.GetInt32("id"); // Parse the link mode LinkPickerMode mode; if (obj.GetValue("mode") == null) { if (obj.GetBoolean("isMedia")) { mode = LinkPickerMode.Media; } else if (id > 0) { mode = LinkPickerMode.Content; } else { mode = LinkPickerMode.Url; } } else { mode = (LinkPickerMode) Enum.Parse(typeof(LinkPickerMode), obj.GetString("mode"), true); } // Parse remaining properties return new LinkPickerItem { JObject = obj, Id = id, Name = obj.GetString("name"), RawUrl = obj.GetString("url"), Target = obj.GetString("target"), Mode = mode }; }
public void GetBoolean() { JObject root = new JObject(); root.Add("property1", null); root.Add("property2", true); root.Add("property3", false); root.Add("property4", 1); root.Add("property5", 0); root.Add("property6", "true"); root.Add("property7", "false"); JObject obj = new JObject(); obj.Add("root", root); Assert.AreEqual(false, obj.GetBoolean("root.property0"), "Check #1 failed"); Assert.AreEqual(false, obj.GetBoolean("root.property1"), "Check #2 failed"); Assert.AreEqual(true, obj.GetBoolean("root.property2"), "Check #3 failed"); Assert.AreEqual(false, obj.GetBoolean("root.property3"), "Check #4 failed"); Assert.AreEqual(true, obj.GetBoolean("root.property4"), "Check #5 failed"); Assert.AreEqual(false, obj.GetBoolean("root.property5"), "Check #6 failed"); Assert.AreEqual(true, obj.GetBoolean("root.property6"), "Check #7 failed"); Assert.AreEqual(false, obj.GetBoolean("root.property7"), "Check #8 failed"); }
/// <summary> /// Parses an area from the specified <code>obj</code>. /// </summary> /// <param name="row">The parent row of the area.</param> /// <param name="obj">The instance of <code>JObject</code> to be parsed.</param> public static GridArea Parse(GridRow row, JObject obj) { // Some input validation if (obj == null) throw new ArgumentNullException("obj"); // Parse the array of allow blocks JArray allowed = obj.GetArray("allowed"); // Parse basic properties GridArea area = new GridArea(obj) { Row = row, Grid = obj.GetInt32("grid"), AllowAll = obj.GetBoolean("allowAll"), Allowed = allowed == null ? new string[0] : allowed.Select(x => (string)x).ToArray(), Styles = obj.GetObject("styles", GridDictionary.Parse), Config = obj.GetObject("config", GridDictionary.Parse) }; // Parse the controls area.Controls = obj.GetArray("controls", x => GridControl.Parse(area, x)) ?? new GridControl[0]; // Update "PreviousArea" and "NextArea" properties for (int i = 1; i < area.Controls.Length; i++) { area.Controls[i - 1].NextControl = area.Controls[i]; area.Controls[i].PreviousControl = area.Controls[i - 1]; } // Return the row return area; }