Esempio n. 1
0
        /// <summary>
        /// Construct a template based convention router
        /// </summary>
        /// <param name="routerBuilder"></param>
        /// <param name="format">Route name using template string where {vm} is the class name without postfix,
        /// {namespace} is the namespace, and {id} is the id provided in the register method
        /// </param>
        /// <param name="lowerPath">true to use class name in lower case</param>
        /// <param name="postFix">Class name post fix to be discarded- default to "ViewModel"</param>
        internal ConventionRouter(IRouterBuilder routerBuilder, string format, bool lowerPath = true, string postFix = null)
        {
            _RouterBuilder = routerBuilder;
            var templateConvention = new TemplateConvention(format, lowerPath, postFix);

            _RouteInformationGetter = templateConvention.GetRouteInformation;
        }
Esempio n. 2
0
        /// <summary>
        /// Build the route. Add different logic here if needed.
        /// </summary>
        /// <param name="routeBuilder"></param>
        private static void BuildRoutes(IRouterBuilder routeBuilder)
        {
            var convention = routeBuilder.GetTemplateConvention("{vm}");

            typeof(RoutingConfiguration).GetTypesFromSameAssembly()
            .InNamespace("Ornette.UI.ViewModel.Pages")
            .Register(convention);
        }
Esempio n. 3
0
        private static void BuildRoutes(IRouterBuilder routeBuilder)
        {
            var convention = routeBuilder.GetTemplateConvention("{vm}");

            typeof(RoutingConfiguration).GetTypesFromSameAssembly()
            .InNamespace("Neutronium.Vue.SPA.ViewModel")
            .Register(convention);
        }
        private static void BuildRoutes(IRouterBuilder routeBuilder)
        {
            var convention = routeBuilder.GetTemplateConvention("{vm}");

            typeof(RoutingConfiguration).GetTypesFromSameAssembly()
            .InNamespace("Neutronium.ReactiveTrader.Client.ViewModel.Pages")
            .Register(convention);
            routeBuilder.Register <IShellViewModel>("main");
            routeBuilder.Register <IShellViewModel>("blot");
        }
Esempio n. 5
0
        public static IRouterBuilder MapRoute(this IRouterBuilder routeBuilder, string path, IBehavior behavior, dynamic rule)
        {
            MapRoute route = new MapRoute(path, path, behavior, rule);

            if (!Routers.ContainsKey(path))
            {
                Routers.Add(path, route);
            }
            return(routeBuilder);
        }
 public static IRouterBuilder Default <TViewModel>(this IRouterBuilder builder) where TViewModel : IActivatable <Unit> =>
 builder.Default(route => route.SetViewModel(typeof(TViewModel)), Unit.Default);
 public static IRouterBuilder Default <TViewModel>(this IRouterBuilder builder, object parameters) =>
 builder.Default(route => route.SetViewModel(typeof(TViewModel)), parameters);
 public static IRouterBuilder When <TViewModel>(this IRouterBuilder builder) =>
 builder.When(route => route.SetViewModel(typeof(TViewModel)));
 public static IRouterBuilder When <TViewModel>(this IRouterBuilder builder,
                                                Func <IRouteBuilder, IRouteBuilder> buildRoute) =>
 builder.When(route => buildRoute(route.SetViewModel(typeof(TViewModel))));
Esempio n. 10
0
 public static IRouterBuilder MapRoute(this IRouterBuilder routeBuilder, string path, IBehavior behavior)
 {
     return(MapRoute(routeBuilder, path, behavior, null));
 }
Esempio n. 11
0
 /// <summary>
 /// Create a convention router for the given router builder
 /// </summary>
 /// <param name="routerBuilder"></param>
 /// <param name="template"></param>
 /// <param name="postFix"></param>
 /// <returns></returns>
 public static IExtendedConventionRouter GetTemplateConvention(this IRouterBuilder routerBuilder, string template, string postFix)
 {
     return(new ConventionRouter(routerBuilder, template, postFix: postFix));
 }
Esempio n. 12
0
 /// <summary>
 /// Create a convention router for the given router builder
 /// </summary>
 /// <param name="routerBuilder"></param>
 /// <param name="template"></param>
 /// <param name="lowerPath"></param>
 /// <returns></returns>
 public static IExtendedConventionRouter GetTemplateConvention(this IRouterBuilder routerBuilder, string template, bool lowerPath = true)
 {
     return(new ConventionRouter(routerBuilder, template, lowerPath));
 }
 public RouterBuilderTests()
 {
     this.builder = new RouterBuilder(() => Substitute.For <INavigator>());
 }
Esempio n. 14
0
 /// <summary>
 /// Construct convention router using a factory method
 /// </summary>
 /// <param name="routerBuilder"></param>
 /// <param name="routeInformationGetter"></param>
 internal ConventionRouter(IRouterBuilder routerBuilder, Func <Type, string, Tuple <RouteSpecification, RouteDestination> > routeInformationGetter)
 {
     _RouterBuilder          = routerBuilder;
     _RouteInformationGetter = routeInformationGetter;
 }
Esempio n. 15
0
 public RouterMiddleware(RequestDelegate next, IRouterBuilder router)
 {
     _next   = next;
     _router = router;
 }
Esempio n. 16
0
 public ConventionRouter(IRouterBuilder routerBuilder, string format, string postFix = null)
 {
     _RouterBuilder = routerBuilder;
     _PostFix       = postFix ?? ViewModelPostFix;
     _Format        = format.Replace("{vm}", "{0}").Replace("{namespace}", "{1}").Replace("{id}", "{2}");
 }
Esempio n. 17
0
 public static IConventionRouter GetTemplateConvention(this IRouterBuilder routerBuilder, string template)
 {
     return(new ConventionRouter(routerBuilder, template));
 }