When using WA.state, using `"myVariable" in WA.state` would always return false.
This is now fixed by adding a "has" method on the Proxy class.
Also, added a `WA.state.hasVariable` method.
When selected custom menu is removed, go to settings menu
Allow iframe in custom menu to use Scripting API
Return menu object when it is registered, can call remove function on it
* WIP: svelte menu
* temp
* temp
* New menu svelte
* Migration of report menu in svelte
* Migration of registerCustomMenu for Menu in Svelte
Refactor subMenuStore
Suppression of old MenuScene and ReportMenu
* Suppression of HTML files that aren't use anymore
* fix deeployer
* First pass on css
* First pass on css
* Second pass on css and reportMenu
* Second pass on css and reportMenu
* Second pass on css and reportMenu
* Third pass on css and reportMenu
* Correction following test
* Contact page only if environment variable exist
* Update service worker
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Change requested
* Change requested
Co-authored-by: kharhamel <oognic@gmail.com>
Co-authored-by: Gregoire Parant <g.parant@thecodingmachine.com>
If a popup message is empty, only the buttons will be displayed (not the container)
Unrelated: the Sound.play method in the API now accepts 0 arguments.
Generally speaking, I like to call the message at the bottom an "action message".
And things can "trigger" it, but in the case of a method that actually proactively displays the message, I find "displayActionMessage" to be a better name.
Also, removing package-lock files and improving code style
Setting a variable would makes the application enter in an infinite loop of events (between all the scripts and the back)
This fix makes sure a variable does not emit any event if it is changed to a value it already has.
So far, the scripting API was using events to communicate between WA and the iFrame.
But often, the scripting API might actually want to "ask" WA a question and wait for an answer.
We dealt with this by using 2 unrelated events (in a mostly painful way).
This commit adds a "queryWorkadventure" utility function in the iFrame API that allows us
to send a query, and to wait for an answer. The query and answer events have a unique ID to be
sure the answer matches the correct query.
On the WA side, a new `IframeListener.registerAnswerer` method can be used to register a possible answer.
The generation was broken due to the refactoring in several classes (some of them where not properly exported).
Also, trying to generate the NPM package on every build now (to detect issues).