internal JavascriptSessionInjector(IWebView iWebView, IJSOBuilder iGlobalBuilder, IJavascriptListener iJavascriptListener)
        {
            _IWebView = iWebView;
            _GlobalBuilder = iGlobalBuilder;
            _IJavascriptListener = iJavascriptListener;


            if (_IJavascriptListener != null)
            {
                _Listener = _GlobalBuilder.CreateJSO();
                _Listener.Bind("TrackChanges", false, (o, e) => _IJavascriptListener.OnJavaScriptObjectChanges((JSObject)e.Arguments[0], (string)e.Arguments[1], e.Arguments[2]));
                _Listener.Bind("TrackCollectionChanges", false, (o, e) => _IJavascriptListener.OnJavaScriptCollectionChanges((JSObject)e.Arguments[0], (JSValue[])e.Arguments[1], (JSValue[])e.Arguments[2], (JSValue[])e.Arguments[3]));
           }
            else
                _Listener = new JSObject();
        }
Example #2
0
        public JSCommand(IJSOBuilder builder,  ICommand  icValue)
        {
            _Command = icValue;
       
            bool canexecute = true;
            try
            {
                canexecute = _Command.CanExecute(null);
            }
            catch { }
 
            JSObject res =  builder.CreateJSO();
            res["CanExecuteValue"] = new JSValue(canexecute);
            res["CanExecuteCount"] = new JSValue(_Count);
            JSValue = res;       
        }
        internal JavascriptSessionInjector(CefV8CompleteContext iWebView, IJSOBuilder iGlobalBuilder, IJavascriptListener iJavascriptListener)
        {
            _CefV8Context = iWebView;
            _GlobalBuilder = iGlobalBuilder;
            _IJavascriptListener = iJavascriptListener;


            if (_IJavascriptListener != null)
            {
                _Listener = _GlobalBuilder.CreateJSO();
                _Listener.Bind("TrackChanges",_CefV8Context, (c, o, e) => _IJavascriptListener.OnJavaScriptObjectChanges(e[0], e[1].GetStringValue(), e[2]));
                _Listener.Bind("TrackCollectionChanges", _CefV8Context, (c, o, e) => _IJavascriptListener.OnJavaScriptCollectionChanges(e[0], e[1].GetArrayElements(), e[2].GetArrayElements(), e[3].GetArrayElements()));
            }
            else
                _Listener = _GlobalBuilder.CreateJSO();
        }
        internal BidirectionalMapper(object iRoot, IWebView iwebview, JavascriptBindingMode iMode, object iadd)
        {
            _IWebView = iwebview;
            _LocalBuilder = new LocalBuilder(iwebview);
            _JSObjectBuilder = new CSharpToJavascriptMapper(_LocalBuilder, this);
            _JavascriptToCSharpMapper = new JavascriptToCSharpMapper(iwebview);
            _Root = _JSObjectBuilder.Map(iRoot, iadd);
            _UnrootedEntities = new List<IJSCSGlue>();
            _BindingMode = iMode;

            IJavascriptListener JavascriptObjecChanges = null;
            if (iMode == JavascriptBindingMode.TwoWay)
                JavascriptObjecChanges = this;

            _GlobalBuilder = new GlobalBuilder(_IWebView, "MVVMGlue");

            _SessionInjector = new JavascriptSessionInjector(iwebview, _GlobalBuilder, JavascriptObjecChanges);
        }
        internal JavascriptSessionInjector(IWebView iWebView, IJSOBuilder iGlobalBuilder, IJavascriptListener iJavascriptListener)
        {
            _IWebView            = iWebView;
            _GlobalBuilder       = iGlobalBuilder;
            _IJavascriptListener = iJavascriptListener;


            if (_IJavascriptListener != null)
            {
                _Listener = _GlobalBuilder.CreateJSO();
                _Listener.Bind("TrackChanges", false, (o, e) => _IJavascriptListener.OnJavaScriptObjectChanges((JSObject)e.Arguments[0], (string)e.Arguments[1], e.Arguments[2]));
                _Listener.Bind("TrackCollectionChanges", false, (o, e) => _IJavascriptListener.OnJavaScriptCollectionChanges((JSObject)e.Arguments[0], (JSValue[])e.Arguments[1], (JSValue[])e.Arguments[2], (JSValue[])e.Arguments[3]));
            }
            else
            {
                _Listener = new JSObject();
            }
        }
Example #6
0
        public JSCommand(IJSOBuilder builder, ICommand icValue)
        {
            _Command = icValue;

            bool canexecute = true;

            try
            {
                canexecute = _Command.CanExecute(null);
            }
            catch { }

            JSObject res = builder.CreateJSO();

            res["CanExecuteValue"] = new JSValue(canexecute);
            res["CanExecuteCount"] = new JSValue(_Count);
            JSValue = res;
        }
Example #7
0
        internal BidirectionalMapper(object iRoot, IWebView iwebview, JavascriptBindingMode iMode, object iadd)
        {
            _IWebView                 = iwebview;
            _LocalBuilder             = new LocalBuilder(iwebview);
            _JSObjectBuilder          = new CSharpToJavascriptMapper(_LocalBuilder, this);
            _JavascriptToCSharpMapper = new JavascriptToCSharpMapper(iwebview);
            _Root             = _JSObjectBuilder.Map(iRoot, iadd);
            _UnrootedEntities = new List <IJSCSGlue>();
            _BindingMode      = iMode;

            IJavascriptListener JavascriptObjecChanges = null;

            if (iMode == JavascriptBindingMode.TwoWay)
            {
                JavascriptObjecChanges = this;
            }

            _GlobalBuilder = new GlobalBuilder(_IWebView, "MVVMGlue");

            _SessionInjector = new JavascriptSessionInjector(iwebview, _GlobalBuilder, JavascriptObjecChanges);
        }
Example #8
0
        public JSCommand(CefV8CompleteContext iCefV8Context, IJSOBuilder builder, ICommand icValue)
        {
            _CefV8Context = iCefV8Context;
            _Command = icValue;
       
            bool canexecute = true;
            try
            {
                canexecute = _Command.CanExecute(null);
            }
            catch { }

            JSValue = _CefV8Context.Evaluate(() =>
                {
                    //_CefV8Context.Enter();
                    CefV8Value res = builder.CreateJSO();
                    res.SetValue("CanExecuteValue", CefV8Value.CreateBool(canexecute),CefV8PropertyAttribute.None);
                    res.SetValue("CanExecuteCount", CefV8Value.CreateInt(_Count), CefV8PropertyAttribute.None); 
                    //_CefV8Context.Exit();
                    return res;       
                });
            //.Result;

        }
Example #9
0
 public JSResultCommand(CefV8CompleteContext ijsobject, IJSOBuilder builder, IResultCommand icValue)
 {
     _CefV8Context = ijsobject;
     _JSResultCommand = icValue;
     JSValue = builder.CreateJSO();    
 }
Example #10
0
 public JSSimpleCommand(IJSOBuilder builder, ISimpleCommand icValue)
 {
     _JSSimpleCommand = icValue;
     JSValue          = builder.CreateJSO();
 }
 public JSSimpleCommand(IJSOBuilder builder, ISimpleCommand icValue)
 {
     _JSSimpleCommand = icValue;
     JSValue = builder.CreateJSO();    
 }
Example #12
0
 public JSSimpleCommand(CefV8CompleteContext iCefV8Context, IJSOBuilder builder, ISimpleCommand icValue)
 {
     _CefV8Context = iCefV8Context;
     _JSSimpleCommand = icValue;
     JSValue = builder.CreateJSO();    
 }
 public JSResultCommand(IJSOBuilder builder, IResultCommand icValue)
 {
     _JSResultCommand = icValue;
     JSValue          = builder.CreateJSO();
 }
 public JSResultCommand(IJSOBuilder builder, IResultCommand icValue)
 {
     _JSResultCommand = icValue;
     JSValue = builder.CreateJSO();    
 }