comparison Applications/Samples/SimpleViewer/Wasm/simple-viewer.ts @ 508:7105a0bad250 bgo-commands-codegen

- Added HandleSerializedMessage to IStoneApplication (empty impl) - Split UpdateWebApplication with "WithString" and "WithSerializedMessage" variants - Due to the modules in TS, globals are now unallowed and the callbacks from C++ to JS are stored in the "window" instance - Split UpdateStoneApplicationStatusFromCpp with "WithString" and "WithSerializedMessage" variants - Split NotifyStatusUpdateFromCppToWeb with "WithString" and "WithSerializedMessage" variants - SendMessageToStoneApplication (C++ global) has been split into SendSerializedMessageToStoneApplication and SendCommandToStoneApplication - In WasmPlatformApplicationAdapter: HandleMessageFromWeb becomes HandleCommandFromWeb - In WasmPlatformApplicationAdapter: added HandleSerializedMessageFromWeb - stonegentool now handles the "json" primitive type (used, a.o., in the VSOL "EditInstance" message) - Fixed indentation and added json serialization overloads in the stonegentool templates - Added test of the json primitive type to testWasmIntegrated (in Resources/CodeGeneration) - Adapted testWasmIntegrated (in Resources/CodeGeneration) to the changes above
author Benjamin Golinvaux <bgo@osimis.io>
date Wed, 06 Mar 2019 10:14:59 +0100
parents 5055031f4a06
children 97a16b694321
comparison
equal deleted inserted replaced
507:ce49eae4c887 508:7105a0bad250
57 57
58 var ui = new SimpleViewerUI(); 58 var ui = new SimpleViewerUI();
59 59
60 // this method is called "from the C++ code" when the StoneApplication is updated. 60 // this method is called "from the C++ code" when the StoneApplication is updated.
61 // it can be used to update the UI of the application 61 // it can be used to update the UI of the application
62 function UpdateWebApplication(statusUpdateMessageString: string) { 62 function UpdateWebApplicationWithString(statusUpdateMessageString: string) {
63 console.log("updating web application: ", statusUpdateMessageString); 63 console.log("updating web application with string: ", statusUpdateMessageString);
64 let statusUpdateMessage = JSON.parse(statusUpdateMessageString); 64 let statusUpdateMessage = JSON.parse(statusUpdateMessageString);
65 65
66 if ("event" in statusUpdateMessage) { 66 if ("event" in statusUpdateMessage) {
67 let eventName = statusUpdateMessage["event"]; 67 let eventName = statusUpdateMessage["event"];
68 if (eventName == "appStatusUpdated") { 68 if (eventName == "appStatusUpdated") {
69 ui.onAppStatusUpdated(statusUpdateMessage["data"]); 69 ui.onAppStatusUpdated(statusUpdateMessage["data"]);
70 } 70 }
71 } 71 }
72 } 72 }
73
74 function UpdateWebApplicationWithSerializedMessage(statusUpdateMessageString: string) {
75 console.log("updating web application with serialized message: ", statusUpdateMessageString);
76 console.log("<not supported in the simple viewer!>");
77 }
78
79 // make it available to other js scripts in the application
80 (<any> window).UpdateWebApplicationWithString = UpdateWebApplicationWithString;
81 (<any> window).UpdateWebApplicationWithSerializedMessage = UpdateWebApplicationWithSerializedMessage;