コード例 #1
0
 public TypeScriptServiceGenerator(DynamicApiControllerManager dynamicApiControllerManager)
 {
     _dynamicApiControllerManager = dynamicApiControllerManager;
 }
コード例 #2
0
        public string GetScript()
        {
            var dynamicControllers = DynamicApiControllerManager.GetAll();

            StringBuilder script = new StringBuilder();

            if (dynamicControllers == null || dynamicControllers.Count == 0)
            {
                return("");
            }
            //sorting the controllers and use this sorting for detecting the servicePrefix change
            //we create module per servicePrefix
            var sortedDynamicControllers = dynamicControllers.OrderBy(z => z.ServiceName);
            var servicePrefix            = GetServicePrefix(sortedDynamicControllers.First().ServiceName);

            if (servicePrefix.IsNullOrEmpty())
            {
                script.AppendLine("declare module abp.services");//Create a new Module
            }
            else
            {
                script.AppendLine("declare module abp.services." + servicePrefix);//Create a new Module
            }
            script.AppendLine("{");
            var proxyGenerator = new TypeScriptProxyGenerator();

            foreach (var dynamicController in sortedDynamicControllers)
            {
                if (servicePrefix != GetServicePrefix(dynamicController.ServiceName))
                {
                    //the service Prefix has been changed
                    servicePrefix = GetServicePrefix(dynamicController.ServiceName);
                    script.AppendLine("}");//Close the Previous Module
                    //Create new module for the new service prefix
                    if (servicePrefix.IsNullOrEmpty())
                    {
                        script.AppendLine("declare module abp.services");//Create a new Module
                    }
                    else
                    {
                        script.AppendLine("declare module abp.services." + servicePrefix);//Create a new Module
                    }
                    script.AppendLine("{");
                }
                script.AppendLine(proxyGenerator.Generate(dynamicController, servicePrefix));
                script.AppendLine();
            }
            script.AppendLine("}");
            #region Create Script for Abp common objects

            script.AppendLine("declare module abp {");
            script.AppendLine("class ui {");
            script.AppendLine("static setBusy(element, IPromise);");
            script.AppendLine("}");
            script.AppendLine("class nav {");
            script.AppendLine("static menus: any;");
            script.AppendLine("}");
            script.AppendLine("class message{");
            script.AppendLine("static info(message: string, title: string);");
            script.AppendLine("static success(message: string, title: string);");
            script.AppendLine("static warn(message: string, title: string);");
            script.AppendLine("static error(message: string, title: string);");
            script.AppendLine("}");
            script.AppendLine("class notify {");
            script.AppendLine("static info(message: string, title?: string);");
            script.AppendLine("static success(message: string, title?: string);");
            script.AppendLine("static warn(message: string, title?: string);");
            script.AppendLine("static error(message: string, title?: string);");
            script.AppendLine("}");
            script.AppendLine("class localization{");
            script.AppendLine("static languages: any;");
            script.AppendLine("static currentLanguage: any;");
            script.AppendLine("}");
            script.AppendLine("interface IPromise<T> {");
            script.AppendLine("success(successCallback: (promiseValue: T) => any) : any;");
            script.AppendLine("error(errorCallback: () => any) : any;");
            script.AppendLine("}");
            script.AppendLine("}");

            #endregion

            return(script.ToString());
        }
コード例 #3
0
 public TypeScriptDefinitionGenerator(DynamicApiControllerManager dynamicApiControllerManager)
 {
     _dynamicApiControllerManager = dynamicApiControllerManager;
 }
コード例 #4
0
 public TypeScriptDefinitionGenerator(DynamicApiControllerManager dynamicApiControllerManager)
 {
     _dynamicApiControllerManager = dynamicApiControllerManager;
 }
コード例 #5
0
 public MSHttpControllerSelector(HttpConfiguration configuration, DynamicApiControllerManager dynamicApiControllerManager)
     : base(configuration)
 {
     _configuration = configuration;
     _dynamicApiControllerManager = dynamicApiControllerManager;
 }
コード例 #6
0
 public ScriptProxyManager(DynamicApiControllerManager dynamicApiControllerManager)
 {
     _dynamicApiControllerManager = dynamicApiControllerManager;
     CachedScripts = new Dictionary <string, ScriptInfo>();
 }
コード例 #7
0
 public TypeScriptServiceGenerator(DynamicApiControllerManager dynamicApiControllerManager)
 {
     _dynamicApiControllerManager = dynamicApiControllerManager;
 }
コード例 #8
0
 /// <summary>
 /// Creates a new <see cref="AbpHttpControllerSelector"/> object.
 /// </summary>
 /// <param name="configuration">Http configuration</param>
 /// <param name="dynamicApiControllerManager"></param>
 public AbpHttpControllerSelector(HttpConfiguration configuration, DynamicApiControllerManager dynamicApiControllerManager)
     : base(configuration)
 {
     _configuration = configuration;
     _dynamicApiControllerManager = dynamicApiControllerManager;
 }
コード例 #9
0
 public ScriptProxyManager(DynamicApiControllerManager dynamicApiControllerManager)
 {
     _dynamicApiControllerManager = dynamicApiControllerManager;
     CachedScripts = new Dictionary<string, ScriptInfo>();
 }
コード例 #10
0
 /// <summary>
 /// Creates a new <see cref="StudioXHttpControllerSelector"/> object.
 /// </summary>
 /// <param name="configuration">Http configuration</param>
 /// <param name="dynamicApiControllerManager"></param>
 public StudioXHttpControllerSelector(HttpConfiguration configuration, DynamicApiControllerManager dynamicApiControllerManager)
     : base(configuration)
 {
     this.configuration = configuration;
     this.dynamicApiControllerManager = dynamicApiControllerManager;
 }