private void JavascriptColectionChanged(IJavascriptObject[] arguments) { var values = arguments[1].GetArrayElements(); var types = arguments[2].GetArrayElements(); var indexes = arguments[3].GetArrayElements(); var collectionChange = new JavascriptCollectionChanges(arguments[0], values.Zip(types, indexes, (v, t, i) => new IndividualJavascriptCollectionChange(t.GetStringValue() == "added" ? CollectionChangeType.Add : CollectionChangeType.Remove, i.GetIntValue(), v))); _Observer.OnJavaScriptCollectionChanges(collectionChange); }
private void JavascriptCollectionChanged(IJavascriptObject collectionArg, IJavascriptObject valuesArg, IJavascriptObject typesArg, IJavascriptObject indexesArg) { var values = valuesArg.GetArrayElements(); var types = typesArg.GetArrayElements(); var indexes = indexesArg.GetArrayElements(); var collectionChange = new JavascriptCollectionChanges(collectionArg, values.Zip(types, indexes, (v, t, i) => new IndividualJavascriptCollectionChange(t.GetStringValue() == "added" ? CollectionChangeType.Add : CollectionChangeType.Remove, i.GetIntValue(), v))); _Listener.OnJavaScriptCollectionChanges(collectionChange); }
private void JavascriptColectionChanged(IJavascriptObject[] arguments) { var values = arguments[1].GetArrayElements(); var types = arguments[2].GetArrayElements(); var indexes = arguments[3].GetArrayElements(); var collectionChange = new JavascriptCollectionChanges(arguments[0], values.Zip(types, indexes, (v, t, i) => new IndividualJavascriptCollectionChange(t.GetStringValue() == "added" ? CollectionChangeType.Add : CollectionChangeType.Remove, i.GetIntValue(), v))); _Observer.OnJavaScriptCollectionChanges(collectionChange); }
public Neutronium.Core.Binding.CollectionChanges.CollectionChanges GetChanger(JavascriptCollectionChanges changes, IJavascriptToCSharpConverter bridge) { return new Neutronium.Core.Binding.CollectionChanges.CollectionChanges(bridge, changes, _IndividualType); }
public void OnJavaScriptCollectionChanges(JavascriptCollectionChanges changes) { try { var res = _SessionCache.GetGlobalCached(changes.Collection) as JSArray; if (res == null) return; var collectionChanges = res.GetChanger(changes, this); using (ReListen()) using (_ListenerRegister.GetColllectionSilenter(res.CValue)) { res.UpdateEventArgsFromJavascript(collectionChanges); } } catch (Exception e) { _Logger.Error(() =>$"Unable to update ViewModel from View, exception raised: {e.Message}"); } }