public static HtmlString RunJavascript(this IHtmlHelper html, string script, PageLifecycleStage stage = PageLifecycleStage.Init) =>
 RunJavascript(html, script, script, stage);
        public static HtmlString RunJavascript(this IHtmlHelper html, string key, string script, PageLifecycleStage stage = PageLifecycleStage.Init)
        {
            var actions = html.ViewContext.HttpContext.Items["JavascriptActions"] as List <object>;

            if (actions == null)
            {
                html.ViewContext.HttpContext.Items["JavascriptActions"] = actions = new List <object>();
            }

            // If already added, ignore:
            var exists = actions
                         .Where(x => x.GetType().GetProperty("Script") != null)
                         .Select(x => new { KeyProperty = x.GetType().GetProperty("Key"), Item = x })
                         .Where(x => x.KeyProperty != null)
                         .Any(x => x.KeyProperty.GetValue(x.Item).ToStringOrEmpty() == key);

            if (!exists)
            {
                actions.Add(new { Script = script, Key = key, Stage = stage.ToString() });
            }

            return(HtmlString.Empty);
        }
Beispiel #3
0
 public JsonResult JavaScript(string script, PageLifecycleStage stage) =>
 AddAction(new { Script = script, Stage = stage.ToString() });
Beispiel #4
0
        public static HtmlString RunJavascript(this IHtmlHelper @this, JavascriptService service, PageLifecycleStage stage = PageLifecycleStage.Init)
        {
            var actions = @this.ViewContext.HttpContext.JavascriptActions();

            var exists = actions.Any(x => x is JavascriptService j && j == service);

            if (!exists)
            {
                actions.Add(service);
            }

            return(HtmlString.Empty);
        }
Beispiel #5
0
 public void JavaScript(string script, PageLifecycleStage stage = PageLifecycleStage.Init)
 => Add(new { Script = script, Stage = stage.ToString() });
Beispiel #6
0
 public JsonResult JavaScript(string script, PageLifecycleStage stage = PageLifecycleStage.Init)
 {
     JavascriptActions.JavaScript(script, stage);
     return(JsonActions());
 }
Beispiel #7
0
 public void JavaScript(string script, PageLifecycleStage stage = PageLifecycleStage.Init)
 {
     JavascriptActions.JavaScript(script, stage);
 }