private EditingTemplateLoader(string html, IElementBehaviorManager behaviorManager) : base(html) { _templateBuilder = new StringBuilder(); _behaviorManager = behaviorManager; Parse(); }
internal static string CreateTemplateWithBehaviors(string html, IElementBehaviorManager elementBehaviorManager) { EditingTemplateLoader loader = new EditingTemplateLoader(html, elementBehaviorManager); return(loader.GetTemplateHtml()); }
private string CreateTemplateWithBehaviors(string html, IElementBehaviorManager behaviorManager) { int htmlHashCode = StringHelper.GetHashCodeStable(html); int behaviorManagerHashCode = behaviorManager.GetHashCode(); string key = string.Format(CultureInfo.InvariantCulture, "Html{0}Behaviors{1}", htmlHashCode, behaviorManagerHashCode); string templateWithBehaviors; bool found = false; lock (_templateCacheLock) { found = _templateCache.TryGetValue(key, out templateWithBehaviors); } if (found) return templateWithBehaviors; templateWithBehaviors = EditingTemplateLoader.CreateTemplateWithBehaviors(html, behaviorManager); lock (_templateCacheLock) { if (!_templateCache.ContainsKey(key)) _templateCache.Add(key, templateWithBehaviors); } return templateWithBehaviors; }
internal static string CreateTemplateWithBehaviors(string html, IElementBehaviorManager elementBehaviorManager) { EditingTemplateLoader loader = new EditingTemplateLoader(html, elementBehaviorManager); return loader.GetTemplateHtml(); }