示例#1
0
        public JSArray(IWebView context, IDispatcher iUIDispatcher, IEnumerable<IJSCSGlue> values, IEnumerable collection)
        {
            _UIDispatcher = iUIDispatcher;
            var dest = values.Select(v => v.JSValue).ToList();
            _IWebView = context;

            var res = _IWebView.Evaluate(() =>
            {
                IJavascriptObject myres = _IWebView.Factory.CreateArray(dest);
                return myres;
            });

            JSValue = res;

            Items = new List<IJSCSGlue>(values);
            CValue = collection; 
            var type = collection.GetElementType();
            IndividualType = _IWebView.Factory.IsTypeBasic(type) ?  type : null;
        }
示例#2
0
        public JSCommand(IWebView iCefV8Context, IDispatcher iUIDispatcher, ICommand icValue)
        {
            _UIDispatcher = iUIDispatcher;
            _IWebView = iCefV8Context;
            _Command = icValue;
       
            bool canexecute = true;
            try
            {
                canexecute = _Command.CanExecute(null);
            }
            catch { }

            JSValue = _IWebView.Evaluate(() =>
                {
                    IJavascriptObject res = _IWebView.Factory.CreateObject(true);
                    res.SetValue("CanExecuteValue", _IWebView.Factory.CreateBool(canexecute));
                    res.SetValue("CanExecuteCount", _IWebView.Factory.CreateInt(_Count)); 
                    return res;       
                });

        }
示例#3
0
 public IJavascriptObject GetAttribute(IJavascriptObject value, string attibutename)
 {
     return(_WebView.Evaluate(() => value.Invoke(attibutename, _WebView)));
 }
示例#4
0
 protected IJavascriptObject CallWithRes(IJavascriptObject value, string functionname, params IJavascriptObject[] parameter)
 {
     return(_WebView.Evaluate(() => value.Invoke(functionname, _WebView, parameter)));
 }
 internal IJSCSGlue Map(object ifrom, object iadditional = null)
 {
     return(_IWebView.Evaluate(() => InternalMap(ifrom, iadditional)));
 }
 protected IJavascriptObject GetAttribute(IJavascriptObject value, string attibutename)
 {
     return(_WebView.Evaluate(() => value.Convert().Invoke(attibutename, _WebView)).Convert());
 }
示例#7
0
 public IJavascriptObject GetAttribute(IJavascriptObject value, string attributeName)
 {
     return(_WebView.Evaluate(() => value.GetValue(attributeName)));
 }