コード例 #1
0
 internal HtmlBinding(BidirectionalMapper bidirectionalMapper)
 {
     _Context             = bidirectionalMapper.Context;
     _BidirectionalMapper = bidirectionalMapper;
     _Logger = _Context.Logger;
     _Bindings.Add(this);
     _Logger.Debug(() => $"HTML_Binding {_Current} created");
 }
コード例 #2
0
 private HTML_Binding(BidirectionalMapper iConvertToJSO, IWebSessionLogger logger)
 {
     _Context           = iConvertToJSO.Context;
     _BirectionalMapper = iConvertToJSO;
     _Logger            = logger;
     _Bindings.Add(this);
     _Logger.Debug(() => $"HTML_Binding {_Current} created");
 }
コード例 #3
0
ファイル: HtmlBinding.cs プロジェクト: fengxing666/Neutronium
 internal HtmlBinding(BidirectionalMapper convertToJso, IWebSessionLogger logger)
 {
     _Context             = convertToJso.Context;
     _BidirectionalMapper = convertToJso;
     _Logger = logger;
     _Bindings.Add(this);
     _Logger.Debug(() => $"HTML_Binding {_Current} created");
 }
コード例 #4
0
        protected async Task <BindingInContext> BindInContext(HtmlViewEngine engine, object dataContext, JavascriptBindingMode mode = JavascriptBindingMode.TwoWay)
        {
            var cacher  = new SessionCacher();
            var mapper  = new BidirectionalMapper(dataContext, engine, null, null, mode, engine.Logger, cacher);
            var builder = new BindingBuilder(mapper, engine.Logger) as IBindingBuilder;
            var binding = await builder.CreateBinding(false);

            return(new BindingInContext(binding, cacher));
        }
コード例 #5
0
        internal static Task <IAwesomeBinding> Bind(IWebView view, object iViewModel, object additional, JavascriptBindingMode iMode,
                                                    Action First, Action CleanUp)
        {
            TaskCompletionSource <IAwesomeBinding> tcs = new TaskCompletionSource <IAwesomeBinding>();

            view.ExecuteWhenReady(() =>
            {
                try
                {
                    if (First != null)
                    {
                        First();
                    }
                    var mapper = new BidirectionalMapper(iViewModel, view, iMode, additional);
                    mapper.Init().ContinueWith(_ => tcs.SetResult(new AwesomeBinding(mapper, CleanUp)));
                }
                catch (Exception e)
                {
                    tcs.SetException(e);
                }
            });

            return(tcs.Task);
        }
コード例 #6
0
 private AwesomeBinding(BidirectionalMapper iConvertToJSO, Action CleanUp = null)
 {
     _BirectionalMapper = iConvertToJSO;
     _CleanUp           = CleanUp;
 }
コード例 #7
0
 public BindingBuilder(BidirectionalMapper mapper, IWebSessionLogger logger)
 {
     _Binding = new HtmlBinding(mapper, logger);
     _Mapper  = mapper;
 }
コード例 #8
0
 private HTML_Binding(IWebView iContext, BidirectionalMapper iConvertToJSO)
 {
     _CefV8Context      = iContext;
     _BirectionalMapper = iConvertToJSO;
 }
コード例 #9
0
ファイル: HTML_Binding.cs プロジェクト: francisrc/Neutronium
 public BindingBuilder(BidirectionalMapper mapper, IWebSessionLogger logger, object additionalVm)
 {
     _Binding      = new HTML_Binding(mapper, logger);
     _Mapper       = mapper;
     _AdditionalVm = additionalVm;
 }