public void OnResultExecuting(ResultExecutingContext filterContext) {
            
            // Only need to include scripts on normal view results and not in admin
            // TODO: We could set an option in the context if we want the possibility of admin-side delta
            if (!(filterContext.Result is ViewResult) 
                || Orchard.UI.Admin.AdminFilter.IsApplied(filterContext.RequestContext))
                return;

            var context = new DeltaInstanceConfiguration();

            foreach (var p in _deltaInstanceProviders) {
                p.Configure(context);
            }

            dynamic stuff = new Stuff();

            var defs = context.Instances.Select(i => {

                foreach (var req in i.Requires) {
                    var settings = _resourceManager.Require(req.ResourceType, req.ResourceName);
                    if (req.Delegate != null) req.Delegate(settings);
                }

                return new {
                    Namespace = i.Namespace,
                    Type = i.TypeName,
                    Properties = i.Properties
                };

            });
            stuff.Instances = defs;
            string json = stuff.Json();
            string jscript = "Delta.Ready(function(){Delta.Configure("+json+");});";
            _resourceManager.RegisterFootScript("<script type=\"text/javascript\" >"+jscript+"</script>");
        }
 public DeltaInstanceNamespaceConfiguration(string name, string requireScriptName, DeltaInstanceConfiguration deltaInstanceConfiguration)
 {
     // TODO: Complete member initialization
     this.ScopedNamespace   = name;
     this.requireScriptName = requireScriptName;
     this.config            = deltaInstanceConfiguration;
 }
 public void Configure(DeltaInstanceConfiguration context) {
     // TODO: What would be neat is a way to switch delta features on or off dynamically without having to enable/disable features.
     // This can already happen to a certain extent due to permissions.
     context.Instances.Add(new DeltaInstanceDescriptor() {
         Namespace = "Science.Impulses",
         TypeName = "ImpulseHijacker"
     }.Require("Science_Impulses"));
 }
 public DeltaInstanceNamespaceConfiguration(string name, string requireScriptName, DeltaInstanceConfiguration deltaInstanceConfiguration) {
     // TODO: Complete member initialization
     this.ScopedNamespace = name;
     this.requireScriptName = requireScriptName;
     this.config = deltaInstanceConfiguration;
 }