public void SetMappedJSValue(JSValue ijsobject, IJSCBridgeCache mapper)
 {
     _MappedJSValue = ijsobject;
     JSObject mapped = ((JSObject)_MappedJSValue);
     mapped.Bind("Execute", false, (o, e) => ExecuteCommand(e, mapper));
     mapped.Bind("CanExecute", false, (o, e) => CanExecuteCommand(e, mapper));
 }
        private void SetResult(IJavascriptObject[] e, IJSCBridgeCache bridge, Task <object> resulttask)
        {
            _IWebView.RunAsync(() =>
            {
                if (e.Length < 2)
                {
                    return;
                }

                IJavascriptObject promise = e[1];
                if (!resulttask.IsFaulted)
                {
                    bridge.RegisterInSession(resulttask.Result, (bridgevalue) =>
                    {
                        promise.InvokeAsync("fullfill", _IWebView, bridgevalue.GetJSSessionValue());
                    });
                }
                else
                {
                    string error = (resulttask.IsCanceled) ? "Cancelled" :
                                   ((resulttask.Exception == null) ? "Faulted" : resulttask.Exception.Flatten().InnerException.Message);

                    promise.InvokeAsync("reject", _IWebView, _IWebView.Factory.CreateString(error));
                }
            });
        }
Exemple #3
0
 public void SetMappedJSValue(CefV8Value ijsobject, IJSCBridgeCache mapper)
 {
     _MappedJSValue = ijsobject;
     CefV8Value mapped = ((CefV8Value)_MappedJSValue);
     mapped.Bind("Execute", _CefV8Context,(c, o, e) => ExecuteCommand(e, mapper));
     mapped.Bind("CanExecute",_CefV8Context, (c, o, e) => CanExecuteCommand(e, mapper));
 }
        private void SetResult(IJavascriptObject[] e, IJSCBridgeCache bridge, Task<object> resulttask)
        {
            _IWebView.RunAsync (() =>
                 {
                     if (e.Length < 2)
                         return;

                     IJavascriptObject promise = e[1];
                     if (!resulttask.IsFaulted)
                     {
                         bridge.RegisterInSession(resulttask.Result, (bridgevalue) =>
                         {
                             promise.InvokeAsync("fullfill", _IWebView, bridgevalue.GetJSSessionValue());
                         });
                     }
                     else
                     {
                         string error = (resulttask.IsCanceled) ? "Cancelled" :
                             ((resulttask.Exception == null) ? "Faulted" : resulttask.Exception.Flatten().InnerException.Message);

                         promise.InvokeAsync("reject", _IWebView, _IWebView.Factory.CreateString(error));
                     }

                 });
        }
Exemple #5
0
        public Test_ConvertToJSO()
        {
            _WebView       = WebCore.CreateWebView(500, 500, WebViewType.Offscreen);
            _IJSOBuilder   = new LocalBuilder(_WebView);
            _ICSharpMapper = Substitute.For <IJSCBridgeCache>();
            _ICSharpMapper.GetCached(Arg.Any <object>()).Returns((IJSCSGlue)null);
            _ConverTOJSO = new CSharpToJavascriptMapper(_IJSOBuilder, _ICSharpMapper);
            _Test        = new Test {
                S1 = "string", I1 = 25
            };
            _Tests = new List <Test>();
            _Tests.Add(new Test()
            {
                S1 = "string1", I1 = 1
            });
            _Tests.Add(new Test()
            {
                S1 = "string2", I1 = 2
            });
            _Test2 = new Test2()
            {
                T1 = _Test, T2 = _Test
            };

            _Tests_NG = new ArrayList();
            _Tests_NG.Add(_Tests[0]);
            _Tests_NG.Add(_Tests[0]);
        }
 public CSharpToJavascriptMapper(CefV8CompleteContext context, IJSOLocalBuilder Builder, IJSCBridgeCache icacher)
 {
     _CefV8Context = context;
     _IJSOBuilder = Builder;
     _Cacher = icacher;
     _Basic = new BasicCSharpToJavascriptConverter(_CefV8Context);
 }
        private void SetResult(JavascriptMethodEventArgs e, IJSCBridgeCache bridge, Task <object> resulttask)
        {
            WebCore.QueueWork(() =>
            {
                if (e.Arguments.Length < 2)
                {
                    return;
                }

                JSObject promise = e.Arguments[1];

                if (!resulttask.IsFaulted)
                {
                    bridge.RegisterInSession(resulttask.Result, (bridgevalue) =>
                    {
                        promise.Invoke("fullfill", bridgevalue.GetJSSessionValue());
                    });
                }
                else
                {
                    string error = (resulttask.IsCanceled) ? "Cancelled" :
                                   ((resulttask.Exception == null) ? "Faulted" : resulttask.Exception.Flatten().InnerException.Message);

                    promise.Invoke("reject", error);
                }
            });
        }
        private void SetResult(JavascriptMethodEventArgs e, IJSCBridgeCache bridge, Task<object> resulttask)
        {
            WebCore.QueueWork(()=>
                {
                    if ( e.Arguments.Length<2)
                        return;

                    JSObject promise =  e.Arguments[1];

                    if (!resulttask.IsFaulted)
                    {
                        bridge.RegisterInSession(resulttask.Result, (bridgevalue) =>
                        {
                            promise.Invoke("fullfill", bridgevalue.GetJSSessionValue());
                        });
                    }
                    else
                    {
                        string error = (resulttask.IsCanceled) ? "Cancelled" : 
                            ( (resulttask.Exception==null) ? "Faulted" : resulttask.Exception.Flatten().InnerException.Message);

                        promise.Invoke("reject", error);
                    }
                });
        }
Exemple #9
0
        protected override void Init()
        {
            _IJSOBuilder   = new CefV8_Factory(_WebView);
            _ICSharpMapper = Substitute.For <IJSCBridgeCache>();
            _ICSharpMapper.GetCached(Arg.Any <object>()).Returns((IJSCSGlue)null);
            _ConverTOJSO = new CSharpToJavascriptMapper(_WebView, new TestIUIDispatcher(), _ICSharpMapper);
            _Test        = new TestClass {
                S1 = "string", I1 = 25
            };
            _Tests = new List <TestClass>();
            _Tests.Add(new TestClass()
            {
                S1 = "string1", I1 = 1
            });
            _Tests.Add(new TestClass()
            {
                S1 = "string2", I1 = 2
            });
            _Test2 = new Test2()
            {
                T1 = _Test, T2 = _Test
            };

            _Tests_NG = new ArrayList();
            _Tests_NG.Add(_Tests[0]);
            _Tests_NG.Add(_Tests[0]);
        }
Exemple #10
0
 private void Init()
 {
     _JavascriptToCSharpMapper = new JavascriptToCSharpMapper(_WebView);
     _IJSOBuilder   = new LocalBuilder(_WebView);
     _ICSharpMapper = Substitute.For <IJSCBridgeCache>();
     _ICSharpMapper.GetCached(Arg.Any <object>()).Returns((IJSCSGlue)null);
     _ConverTOJSO = new CSharpToJavascriptMapper(_IJSOBuilder, _ICSharpMapper);
 }
Exemple #11
0
        public void SetMappedJSValue(JSValue ijsobject, IJSCBridgeCache mapper)
        {
            _MappedJSValue = ijsobject;
            JSObject mapped = ((JSObject)_MappedJSValue);

            mapped.Bind("Execute", false, (o, e) => ExecuteCommand(e, mapper));
            mapped.Bind("CanExecute", false, (o, e) => CanExecuteCommand(e, mapper));
        }
        public void UpdateCSharpProperty(string PropertyName, IJSCBridgeCache converter, CefV8Value newValue)
        {
            PropertyInfo propertyInfo = CValue.GetType().GetProperty(PropertyName, BindingFlags.Public | BindingFlags.Instance);
            if (!propertyInfo.CanWrite)
                return;

            var type = propertyInfo.PropertyType.GetUnderlyingNullableType() ?? propertyInfo.PropertyType;
            IJSCSGlue glue = converter.GetCachedOrCreateBasic(newValue, type);
            _Attributes[PropertyName] = glue;
            propertyInfo.SetValue(CValue, glue.CValue, null);
        }
        public void UpdateCSharpProperty(string PropertyName, IJSCBridgeCache converter, IJavascriptObject newValue)
        {
            PropertyInfo propertyInfo = CValue.GetType().GetProperty(PropertyName, BindingFlags.Public | BindingFlags.Instance);

            if (!propertyInfo.CanWrite)
            {
                return;
            }

            var       type = propertyInfo.PropertyType.GetUnderlyingNullableType() ?? propertyInfo.PropertyType;
            IJSCSGlue glue = converter.GetCachedOrCreateBasic(newValue, type);

            _Attributes[PropertyName] = glue;
            propertyInfo.SetValue(CValue, glue.CValue, null);
        }
        protected override void Init()
        {
            _IJSOBuilder = new CefV8_Factory(_WebView);
            _ICSharpMapper = Substitute.For<IJSCBridgeCache>();
            _ICSharpMapper.GetCached(Arg.Any<object>()).Returns((IJSCSGlue)null);
            _ConverTOJSO = new CSharpToJavascriptMapper(_WebView, new TestIUIDispatcher(), _ICSharpMapper);
            _Test = new TestClass { S1 = "string", I1 = 25 };
            _Tests = new List<TestClass>();
            _Tests.Add(new TestClass() { S1 = "string1", I1 = 1 });
            _Tests.Add(new TestClass() { S1 = "string2", I1 = 2 });
            _Test2 = new Test2() { T1 = _Test, T2 = _Test };

            _Tests_NG = new ArrayList();
            _Tests_NG.Add(_Tests[0]);
            _Tests_NG.Add(_Tests[0]);
        }
        public Test_ConvertToJSO()
        { 
            _WebView = WebCore.CreateWebView(500, 500, WebViewType.Offscreen);
            _IJSOBuilder = new LocalBuilder(_WebView);
            _ICSharpMapper = Substitute.For<IJSCBridgeCache>();
            _ICSharpMapper.GetCached(Arg.Any<object>()).Returns((IJSCSGlue)null);
            _ConverTOJSO = new CSharpToJavascriptMapper(_IJSOBuilder, _ICSharpMapper);
            _Test = new Test { S1 = "string", I1 = 25 };
            _Tests = new List<Test>();
            _Tests.Add(new Test() { S1 = "string1", I1 = 1 });
            _Tests.Add(new Test() { S1 = "string2", I1 = 2 });
            _Test2 = new Test2() { T1 = _Test, T2 = _Test };

            _Tests_NG = new ArrayList();
            _Tests_NG.Add(_Tests[0]);
            _Tests_NG.Add(_Tests[0]);
        }
Exemple #16
0
 private void CanExecuteCommand(CefV8Value[] e, IJSCBridgeCache mapper)
 {
     bool res = _Command.CanExecute(GetArguments(mapper, e));
     _MappedJSValue.Invoke("CanExecuteValue", _CefV8Context, CefV8Value.CreateBool(res));
 }
 public void SetMappedJSValue(JSValue ijsobject, IJSCBridgeCache mapper)
 {
     MappedJSValue = ijsobject;
 }
 public void SetMappedJSValue(IJavascriptObject ijsobject, IJSCBridgeCache mapper)
 {
     _MappedJSValue = ijsobject;
 }
 private void Execute(IJavascriptObject[] e, IJSCBridgeCache mapper)
 {
     _JSResultCommand.Execute(GetArguments(mapper, e))
         .ContinueWith(t => SetResult(e, mapper, t));
 }
 private object GetArguments(IJSCBridgeCache mapper, IJavascriptObject[] e)
 {
     return (e.Length == 0) ? null : Convert(mapper, e[0]);
 }
 public CSharpToJavascriptMapper(IJSOLocalBuilder Builder, IJSCBridgeCache icacher)
 {
     _IJSOBuilder = Builder;
     _Cacher = icacher;
     _Basic = new BasicCSharpToJavascriptConverter(Builder);
 }
Exemple #22
0
 private object GetArguments(IJSCBridgeCache mapper, IJavascriptObject[] e)
 {
     return((e.Length == 0) ? null : Convert(mapper, e[0]));
 }
 private object GetArguments(IJSCBridgeCache mapper, CefV8Value[] e)
 {
     return (e.Length == 0) ? null : Convert(mapper, e[0]);
 }
 public void SetMappedJSValue(CefV8Value ijsobject, IJSCBridgeCache mapper)
 {
     _MappedJSValue = ijsobject;
     _MappedJSValue.Bind("Execute", _CefV8Context,(c, o, e) => Execute(e, mapper));
 }
Exemple #25
0
 private void Execute(JavascriptMethodEventArgs e, IJSCBridgeCache mapper)
 {
     _JSSimpleCommand.Execute(GetArguments(mapper, e));
 }
Exemple #26
0
 private object GetArguments(IJSCBridgeCache mapper, JavascriptMethodEventArgs e)
 {
     return((e.Arguments.Length == 0) ? null : Convert(mapper, e.Arguments[0]));
 }
Exemple #27
0
 public void SetMappedJSValue(JSValue ijsobject, IJSCBridgeCache mapper)
 {
     _MappedJSValue = ijsobject;
     ((JSObject)_MappedJSValue).Bind("Execute", false, (o, e) => Execute(e, mapper));
 }
Exemple #28
0
 private void CanExecuteCommand(IJavascriptObject[] e, IJSCBridgeCache mapper)
 {
     bool res = _Command.CanExecute(GetArguments(mapper, e));
     _MappedJSValue.Invoke("CanExecuteValue", _IWebView, _IWebView.Factory.CreateBool(res));
 }
 public CSharpToJavascriptMapper(IJSOLocalBuilder Builder, IJSCBridgeCache icacher)
 {
     _IJSOBuilder = Builder;
     _Cacher      = icacher;
     _Basic       = new BasicCSharpToJavascriptConverter(Builder);
 }
Exemple #30
0
 public void SetMappedJSValue(IJavascriptObject ijsobject, IJSCBridgeCache mapper)
 {
     _MappedJSValue = ijsobject;
     _MappedJSValue.Bind("Execute", _IWebView, (c, o, e) => Execute(e, mapper));
 }
 private void Execute(CefV8Value[] e, IJSCBridgeCache mapper)
 {
     _JSResultCommand.Execute(GetArguments(mapper, e))
         .ContinueWith(t => SetResult(e, mapper, t));
 }
 public void SetMappedJSValue(CefV8Value ijsobject, IJSCBridgeCache mapper)
 {
     _MappedJSValue = ijsobject;
 }
Exemple #33
0
 public CollectionChanges GetChanger(IJavascriptObject[] value, IJavascriptObject[] status, IJavascriptObject[] index, IJSCBridgeCache bridge)
 {
     return(new CollectionChanges(bridge, value, status, index, IndividualType));
 }
 private object Convert(IJSCBridgeCache mapper, IJavascriptObject value)
 {
     var found = mapper.GetCachedOrCreateBasic(value, null);
     return (found != null) ? found.CValue : null;
 }
 public void SetMappedJSValue(IJavascriptObject ijsobject, IJSCBridgeCache mapper)
 {
     _MappedJSValue = ijsobject;
 }
Exemple #36
0
 private void ExecuteCommand(CefV8Value[] e, IJSCBridgeCache mapper)
 {
     CefCoreSessionSingleton.Session.Dispatcher.RunAsync(() => _Command.Execute(GetArguments(mapper, e)));
 }
Exemple #37
0
 private void ExecuteCommand(IJavascriptObject[] e, IJSCBridgeCache mapper)
 {
     _UIDispatcher.RunAsync(() => _Command.Execute(GetArguments(mapper, e)));
     //CefCoreSessionSingleton.Session.UIDispatcher.RunAsync(() => _Command.Execute(GetArguments(mapper, e)));
 }
 public CSharpToJavascriptMapper(IWebView context, IDispatcher iUIDispatcher, IJSCBridgeCache icacher)
 {
     _UIDispatcher = iUIDispatcher;
     _IWebView     = context;
     _Cacher       = icacher;
 }
 public void SetMappedJSValue(JSValue ijsobject, IJSCBridgeCache mapper)
 {
     _MappedJSValue = ijsobject;
     ((JSObject)_MappedJSValue).Bind("Execute", false, (o, e) => Execute(e, mapper));
 }
Exemple #40
0
        private void CanExecuteCommand(IJavascriptObject[] e, IJSCBridgeCache mapper)
        {
            bool res = _Command.CanExecute(GetArguments(mapper, e));

            _MappedJSValue.Invoke("CanExecuteValue", _IWebView, _IWebView.Factory.CreateBool(res));
        }
Exemple #41
0
 private void ExecuteCommand(IJavascriptObject[] e, IJSCBridgeCache mapper)
 {
     _UIDispatcher.RunAsync(() => _Command.Execute(GetArguments(mapper, e)));
     //CefCoreSessionSingleton.Session.UIDispatcher.RunAsync(() => _Command.Execute(GetArguments(mapper, e)));
 }
Exemple #42
0
        private void CanExecuteCommand(JavascriptMethodEventArgs e, IJSCBridgeCache mapper)
        {
            bool res = _Command.CanExecute(GetArguments(mapper, e));

            ((JSObject)_MappedJSValue).Invoke("CanExecuteValue", new JSValue(res));
        }
 public CSharpToJavascriptMapper(IWebView context, IDispatcher iUIDispatcher, IJSCBridgeCache icacher)
 {
     _UIDispatcher = iUIDispatcher;
     _IWebView = context;
     _Cacher = icacher;
 }
 public CollectionChanges GetChanger(JSValue[] value, JSValue[] status, JSValue[] index, IJSCBridgeCache bridge)
 {
     return(new CollectionChanges(bridge, value, status, index, IndividualType));
 }
Exemple #45
0
 public CollectionChanges GetChanger(IJavascriptObject[] value, IJavascriptObject[] status, IJavascriptObject[] index, IJSCBridgeCache bridge)
 {
     return new CollectionChanges(bridge, value, status, index, IndividualType);
 }
Exemple #46
0
 public CollectionChanges GetChanger(CefV8Value[] value, CefV8Value[] status, CefV8Value[] index, IJSCBridgeCache bridge)
 {
     return new CollectionChanges(bridge, value, status, index, IndividualType);
 }
 private object GetArguments(IJSCBridgeCache mapper, JavascriptMethodEventArgs e)
 {
     return (e.Arguments.Length == 0) ? null : Convert(mapper, e.Arguments[0]);
 }
 public CollectionChanges(IJSCBridgeCache iJSCBridgeCache, JSValue[] value, JSValue[] status, JSValue[] index, Type iTargetedType)
 {
     _IJSCBridgeCache  = iJSCBridgeCache;
     _TargetedType     = iTargetedType;
     IndividualChanges = GetIndividualChanges(value, status, index).OrderBy(idc => idc, this);
 }
 private void ExecuteCommand(JavascriptMethodEventArgs e, IJSCBridgeCache mapper)
 {
     _Command.Execute(GetArguments(mapper,e));
 }
Exemple #50
0
        private object Convert(IJSCBridgeCache mapper, IJavascriptObject value)
        {
            var found = mapper.GetCachedOrCreateBasic(value, null);

            return((found != null) ? found.CValue : null);
        }
 private void CanExecuteCommand(JavascriptMethodEventArgs e, IJSCBridgeCache mapper)
 {
     bool res =_Command.CanExecute(GetArguments(mapper,e));
     ((JSObject)_MappedJSValue).Invoke("CanExecuteValue", new JSValue(res));
 }
Exemple #52
0
 private void Execute(IJavascriptObject[] e, IJSCBridgeCache mapper)
 {
     _JSSimpleCommand.Execute(GetArguments(mapper, e));
 }
 public void SetMappedJSValue(IJavascriptObject ijsobject, IJSCBridgeCache mapper)
 {
     _MappedJSValue = ijsobject;
     _MappedJSValue.Bind("Execute", _IWebView,(c, o, e) => Execute(e, mapper));
 }
 private void Execute(IJavascriptObject[] e, IJSCBridgeCache mapper)
 {
     _JSResultCommand.Execute(GetArguments(mapper, e))
     .ContinueWith(t => SetResult(e, mapper, t));
 }
 private void Execute(IJavascriptObject[] e, IJSCBridgeCache mapper)
 {
     _JSSimpleCommand.Execute(GetArguments(mapper, e));
 }