public static void ConfigureAngularApbRazor(this Shell shell, IRazorTheme theme = null)
        {
            theme = theme ?? new AbpLeptonTheme();

            RazorConfig.SetCollectionType <AngularValidationCollection>();

            RazorConfig.LocaleTextProvider    = new AbpTextProvider();
            RazorConfig.ExpressionStringifier = new AngularExpressionStringifier();

            RazorConfig.Theme = theme;
        }
        public static void ConfigureMvcRazor(this Shell shell, IRazorTheme theme = null)
        {
            theme = theme ?? new MvcTheme();

            RazorConfig.SetCollectionType <ValidationCollection>();

            RazorConfig.FieldErrorMessagesTemplate = "<span>\r{2}</span>";
            RazorConfig.ErrorMessageTemplate       = "<small class=\"form-text text-danger\">{3}</small>\r";
            RazorConfig.LocaleTextProvider         = new MvcTextProvider(new Language());
            RazorConfig.ExpressionStringifier      = new DefaultExpressionStringifier();

            RazorConfig.Theme = theme;
        }
        public static void ConfigureAngular2Razor(this Shell shell, IRazorTheme theme = null)
        {
            theme = theme ?? new AngularTheme();

            RazorConfig.SetCollectionType <AngularValidationCollection>();

            RazorConfig.FieldErrorMessagesTemplate = "<span *ngIf=\"{0}.controls['{1}'] && {0}.controls['{1}'].invalid && ({0}.controls['{1}'].dirty || {0}.controls['{1}'].touched)\">\r{2}</span>";
            RazorConfig.ErrorMessageTemplate       = "<small *ngIf=\"{0}.controls['{1}'].errors!.{2}\" class=\"form-text text-danger\">{3}</small>\r";
            RazorConfig.LocaleTextProvider         = new AngularTextProvider();
            RazorConfig.ExpressionStringifier      = new AngularExpressionStringifier();

            RazorConfig.Theme = theme;
        }