public ViewModelValidator(IViewModelSerializationMapper viewModelMapper, DotvvmConfiguration dotvvmConfiguration) { this.viewModelSerializationMapper = viewModelMapper; this.validationItems = new Dictionary <object, object> { { typeof(DotvvmConfiguration), dotvvmConfiguration } }; }
/// <summary> /// Initializes a new instance of the <see cref="DefaultViewModelSerializer"/> class. /// </summary> public DefaultViewModelSerializer(DotvvmConfiguration configuration, IViewModelProtector protector, IViewModelSerializationMapper serializationMapper, IViewModelServerCache viewModelServerCache) { this.viewModelProtector = protector; this.JsonFormatting = configuration.Debug ? Formatting.Indented : Formatting.None; this.viewModelMapper = serializationMapper; this.viewModelServerCache = viewModelServerCache; }
public static IViewModelSerializationMapper Map(this IViewModelSerializationMapper mapper, Type type, Action <ViewModelSerializationMap> action) { var map = mapper.GetMap(type); action(map); map.ResetFunctions(); return(mapper); }
public ViewModelJsonConverter(bool isPostback, IViewModelSerializationMapper viewModelSerializationMapper, JObject encryptedValues = null) { IsPostback = isPostback; EncryptedValues = encryptedValues ?? new JObject(); evReader = EncryptedValuesReader.FromObject(EncryptedValues); evWriter = new EncryptedValuesWriter(EncryptedValues.CreateWriter()); this.viewModelSerializationMapper = viewModelSerializationMapper; }
public ViewModelJsonConverter(bool isPostback, IViewModelSerializationMapper viewModelSerializationMapper, JObject encryptedValues = null) { IsPostback = isPostback; EncryptedValues = encryptedValues ?? new JObject(); evReader = EncryptedValuesReader.FromObject(EncryptedValues); evWriter = new EncryptedValuesWriter(EncryptedValues.CreateWriter()); this.viewModelSerializationMapper = viewModelSerializationMapper; }
public ViewModelJsonConverter(bool isPostback, IViewModelSerializationMapper viewModelSerializationMapper, JObject encryptedValues = null) { IsPostback = isPostback; EncryptedValues = encryptedValues ?? new JObject(); evReader = new Lazy <EncryptedValuesReader>(() => { evWriter = new Lazy <EncryptedValuesWriter>(() => { throw new Exception("Can't use EncryptedValuesWriter at the same time as EncryptedValuesReader."); }); return(new EncryptedValuesReader(EncryptedValues)); }); evWriter = new Lazy <EncryptedValuesWriter>(() => { evReader = new Lazy <EncryptedValuesReader>(() => { throw new Exception("Can't use EncryptedValuesReader at the same time as EncryptedValuesWriter."); }); return(new EncryptedValuesWriter(EncryptedValues.CreateWriter())); }); this.viewModelSerializationMapper = viewModelSerializationMapper; }
public JavascriptTranslator(IOptions <JavascriptTranslatorConfiguration> config, IViewModelSerializationMapper serializationMapper) { this.DefaultMethodTranslator = config.Value; this.mapper = serializationMapper; }
public BindingPropertyResolvers(IBindingExpressionBuilder bindingParser, IViewModelSerializationMapper vmMapper, DotvvmConfiguration configuration) { this.configuration = configuration; this.bindingParser = bindingParser; this.vmMapper = vmMapper; }
public UserColumnMappingCache(IViewModelSerializationMapper serializationMapper) { this.serializationMapper = serializationMapper; this.mappingCache = new ConcurrentDictionary <Type, Dictionary <string, string> >(); }
public WebSocketViewModelSerializer(IViewModelSerializationMapper mapper) { Mapper = mapper; JsonFormatting = Formatting.None; }
public static string GetArgsScript(MethodCallExpression expression, DataContextStack dataContext, IViewModelSerializationMapper vmMapper) { var target = expression.Object == null ? null : JavascriptTranslator.FormatKnockoutScript(JavascriptTranslator.CompileToJavascript(expression.Object, dataContext, vmMapper), allowDataGlobal: false); var arguments = (target == null ? new string[0] : new[] { target }) .Concat(expression.Arguments.Select(a => JavascriptTranslator.FormatKnockoutScript(JavascriptTranslator.CompileToJavascript(a, dataContext, vmMapper), allowDataGlobal: true))); return("[" + String.Join(", ", arguments) + "]"); }
protected virtual string CompileMethodCall(MethodCallExpression methodExpression, DataContextStack dataContext, IViewModelSerializationMapper vmMapper, string callbackFunction = null) { if (!methodExpression.Method.IsDefined(typeof(AllowStaticCommandAttribute))) { throw new Exception($"Method '{methodExpression.Method.DeclaringType.Name}.{methodExpression.Method.Name}' used in static command has to be marked with [AllowStaticCommand] attribute."); } if (callbackFunction == null) { callbackFunction = "null"; } if (methodExpression == null) { throw new NotSupportedException("Static command binding must be a method call!"); } var argsScript = GetArgsScript(methodExpression, dataContext, vmMapper); return($"dotvvm.staticCommandPostback(i_pageArea, sender, '{GetMethodName(methodExpression)}', { argsScript }, {callbackFunction})"); }
public ViewModelValidator(IViewModelSerializationMapper viewModelMapper) { this.viewModelSerializationMapper = viewModelMapper; }
public StaticCommandBindingCompiler(IViewModelSerializationMapper vmMapper) { this.vmMapper = vmMapper; }
/// <summary> /// Initializes a new instance of the <see cref="DefaultViewModelSerializer"/> class. /// </summary> public DefaultViewModelSerializer(DotvvmConfiguration configuration) { this.viewModelProtector = configuration.ServiceLocator.GetService <IViewModelProtector>(); this.JsonFormatting = configuration.Debug ? Formatting.Indented : Formatting.None; this.viewModelMapper = configuration.ServiceLocator.GetService <IViewModelSerializationMapper>(); }
public static JsExpression CompileToJavascript(Expression binding, DataContextStack dataContext, IViewModelSerializationMapper mapper) { var translator = new JavascriptTranslator(dataContext); var script = translator.Translate(binding); //if (binding.NodeType == ExpressionType.MemberAccess && script.EndsWith("()", StringComparison.Ordinal)) script = script.Remove(script.Length - 2); script.AcceptVisitor(new JsViewModelPropertyAdjuster(mapper)); return(script); }
/// <summary> /// Initializes a new instance of the <see cref="DefaultViewModelSerializer"/> class. /// </summary> public DefaultViewModelSerializer(DotvvmConfiguration configuration) { this.viewModelProtector = configuration.ServiceLocator.GetService<IViewModelProtector>(); this.JsonFormatting = configuration.Debug ? Formatting.Indented : Formatting.None; this.viewModelMapper = configuration.ServiceLocator.GetService<IViewModelSerializationMapper>(); }
public JsViewModelPropertyAdjuster(IViewModelSerializationMapper mapper) { this.mapper = mapper; }
public ViewModelValidator(IViewModelSerializationMapper viewModelMapper) { this.viewModelSerializationMapper = viewModelMapper; }