public static string ReplaceIDTokens(string script, Control seed) { script = TokenUtils.ReplaceDirectMethods(script, seed); Control control = null; string[] parts = null; foreach (Match match in ID_Pattern_RE.Matches(script)) { parts = match.Value.Between("{", "}").Split('.'); control = ControlUtils.FindControl(seed, parts[0]); if (control != null) { if (parts.Length == 2) { PropertyInfo prop = control.GetType().GetProperty(parts[1]); if (prop != null) { object value = prop.GetValue(control, null); if (value == null) { value = ReflectionUtils.GetDefaultValue(prop); } if (value is string) { string val = TokenUtils.ParseTokens(value.ToString(), control); if (TokenUtils.IsRawToken(val)) { val = JSON.Serialize(TokenUtils.ReplaceRawToken(val)).Chop(); } else { val = JSON.Serialize(val); } script = script.Replace(match.Value, val); } else { script = script.Replace(match.Value, JSON.Serialize(value)); } } } else { if (control is Layout) { Component component = ((Layout)control).ParentComponent; script = script.Replace(match.Value, component != null ? component.ClientID.ConcatWith(".getLayout()") : control.ClientID); } else if (control is Observable || control is UserControl) { script = script.Replace(match.Value, control.ClientID); } else { script = script.Replace(match.Value, "Ext.get(\"" + control.ClientID + "\")"); } } } else { script = script.Replace(match.Value, "Ext.get(\"" + parts[0] + "\")"); } } return(script); }
public static string ParseAndNormalize(string script, Control seed) { return(TokenUtils.NormalizeRawToken(TokenUtils.ParseTokens(script, seed))); }
public static string ParseTokens(string script) { return(TokenUtils.ParseTokens(script, TokenUtils.Page)); }
public override string ToScript() { return(this.currentConfig != null?this.InstanceOf.ConcatWith(".show(", TokenUtils.ParseTokens(this.currentConfig.ToScript(), this.Page), ");") : ""); }