public override void CreateJavaScript(StringCollection methodCode, Dictionary <string, StringCollection> formSubmissions, string nextActionInput, string indent) { EventAction ea = AssignedActions; if (ea != null) { if (ea.IsExtendWebClientEvent()) { methodCode.Add("JsonDataBinding.detachExtendedEvent('"); methodCode.Add(ea.Event.Name); methodCode.Add("','"); EasyDataSet eds = ea.Event.Owner.ObjectInstance as EasyDataSet; if (eds != null) { methodCode.Add(eds.TableName); } else { methodCode.Add(ea.Event.Owner.CodeName); } methodCode.Add("',"); methodCode.Add(ea.GetLocalHandlerName()); methodCode.Add(");\r\n"); } else { methodCode.Add("var "); methodCode.Add(ea.Event.Owner.CodeName); methodCode.Add(" = document.getElementById('"); methodCode.Add(ea.Event.Owner.CodeName); methodCode.Add("');\r\n"); // methodCode.Add("JsonDataBinding.DetachEvent("); methodCode.Add(ea.Event.Owner.CodeName); methodCode.Add(",'"); methodCode.Add(ea.Event.Name); methodCode.Add("',"); methodCode.Add(ea.GetLocalHandlerName()); methodCode.Add(");\r\n"); } } }
public override void ExportCode(ActionBranch currentAction, ActionBranch nextAction, ILimnorCodeCompiler compiler, IMethodCompile methodToCompile, CodeMemberMethod method, CodeStatementCollection statements, bool debug) { EventAction ea = AssignedActions; if (ea != null) { ClassPointer root = Class; CodeExpression methodTarget; CodeEventReferenceExpression ceRef = ea.Event.GetReferenceCode(methodToCompile, statements, false) as CodeEventReferenceExpression; if (ea.Event.IsStatic) { methodTarget = new CodeTypeReferenceExpression(root.CodeName); } else { methodTarget = new CodeThisReferenceExpression(); } CodeRemoveEventStatement caes = new CodeRemoveEventStatement(ceRef, new CodeDelegateCreateExpression(new CodeTypeReference(ea.Event.EventHandlerType.TypeString), methodTarget, ea.GetLocalHandlerName())); statements.Add(caes); } }