Dyalog / ewc-client

Other
1 stars 4 forks source link

Implement MsgBox #174

Closed mkromberg closed 3 months ago

mkromberg commented 6 months ago

Get DemoMsgBox working. New messages:

{"WC":{"ID":"MB","Properties":{"Btns":["OK"],"Caption":"MsgBox Caption","Event":[["MsgBtn1",""],["MsgBtn2",""],["MsgBtn3",""]],"Style":"Msg","Text":"MsgBox Text","Type":"MsgBox"}}}

And a new method "OnlyDQ" to be WX'd

{"WX":{"ID":"MB","Info":["MB"],"Method":"OnlyDQ","WGID":"6"}}

The client should make the message box visible, disable all other objects, and respond with confirmation:

{"WX":{"Info":["MB"],"WGID":"6"}}

Now the MsgBox should be the only active form and the client should send an Event message when the user clicks on a button, for example:

{"Event":{"EventName":"MsgBtn1","ID":"MB"}}

Once the server is done with the MsgBox, it will send an OnlyDQ message with EMPTY INFO, for example:

{"WX":{"ID":"MB","Info":[],"Method":"OnlyDQ","WGID":"7"}}

This is the sign that the message box should be hidden, and all other forms should become active again. In the future, it should be possible to use OnlyDQ with any form, or list of forms, but we will get to that later.

https://github.com/mqasim23/jswc-web/assets/2799045/ac89634e-cdff-434a-9569-52f84a391021