EventCaller (in test) by ColinTree


#1

i m making a event caller like this… it surrently works

(when i click the button “CallClick”, “Click” event of “TheButton” is called and the Text changes. same as “CallLongClick”)

Parameter Explaination

  1. component - the component to call the event

  2. eventName - eventName (in English, translated name not supported) like “Click”, cases matters.

  3. argument list - a pair list, (each item should be a list and contains at least 2 items. the items other than the very first two will be ignored)
    for each pair, the first item declear the argument type, and the second one is the value.
    And the type(YailTypes) can be: (ignoring cases)

  • Text (“string” or “text”)
  • Number (“float”, “double”, “int”, “integer”, “short”, “long”, “number” or “decimal”)
  • List (“list” or “yaillist”)
  • True/False (“boolean”, “truefalse”, “true” or “false”)
  • Component (“component” only)
  • Any (“any” or “object”)

Future Plans

add methods to call the most-used events (e.g. Button.Click)

Download (STILL TESTING!!!)

last update 2017.10.13 1:20 (GMT+8)
cn.colintree.aix.EventCaller.aix (12.3 KB)
EventCallerTest.aia (14.4 KB)
(aia recomend to test with Companion under appinventor.)
EventCaller-Source.zip (2.2 KB)

Modify welcomed and please come and join the topic :wink:


ColinTree

#2

Great work again, I like your extensions and your thinking, regards. I think you are doing this.

EventDispatcher.dispatchEvent(component, eventName, arguments);

P.S: I will contact you later for a few things.


#3

it looks like the your usual piece of masterwork .

i just have to understand possibility of this :smiley:


#4

This allows you to emulate events.


#5

may i have an event that fires when the url of a web viewer changes?
the answer is yes! just saw

@ColinTree donation incoming


#6

You are very good and a big contributor to Thunkable and it community. God bless your efforts. :heart::heart::heart:


#7

very good!Whether to support all component events?


#8

yes it is support to all events (even the events comes in the future :grin: )
i made this for calling all the events thant its name and arguments set provided
but it just not stable yet.


#9

that is a easier way. but we are kind of not sure about the argument types here. so i do it in this complex way…
also, that one seems like not showing error. user may need to test what is wrong when nothing happened after call

P.S. i try to call Properties like Button.Text with a string, and it works (if the event filter is off.)


#10

ok,Hope can be realized soon!