Mercurial > hg > orthanc-stone
annotate Resources/CodeGeneration/testWasmIntegrated/testWasmIntegrated.ts @ 498:6d62fc8a6988 bgo-commands-codegen
Web demonstrator for codegen ongoing work
author | bgo-osimis |
---|---|
date | Sun, 24 Feb 2019 13:23:14 +0100 |
parents | 8b6ceae45ba0 |
children | baa9e1e932db |
rev | line source |
---|---|
496
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
1 export var SendMessageToStoneApplication: Function = null; |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
2 |
498 | 3 // install handlers |
4 document.querySelectorAll(".TestWasm-button").forEach((e) => { | |
5 (e as HTMLButtonElement).addEventListener("click", () => { | |
6 ButtonClick(e.attributes["tool-selector"].value); | |
7 }); | |
8 }); | |
9 | |
10 let stockSerializedMessages = new Map<string,string>(); | |
11 | |
12 stockSerializedMessages["Test 1"] = "Test 1 stock message fgdgg"; | |
13 stockSerializedMessages["Test 2"] = "Test 2 stock message bccbbbbbb"; | |
14 stockSerializedMessages["Test 3"] = "Test 3 stock message sdfsfsdfsdf"; | |
15 stockSerializedMessages["Test 4"] = "Test 4 stock message 355345345"; | |
16 stockSerializedMessages["Test 5"] = "Test 5 stock message 34535"; | |
17 stockSerializedMessages["Test 6"] = "Test 6 stock message xcvcxvx"; | |
18 stockSerializedMessages["Test 7"] = "Test 7 stock message fgwqewqdgg"; | |
19 stockSerializedMessages["Test 8"] = "Test 8 stock message fgfsdfsdgg"; | |
20 | |
21 function ButtonClick(buttonName: string) { | |
22 if (buttonName.startsWith('Test ')) { | |
23 let e : HTMLTextAreaElement = document.getElementById('TestWasm-SerializedInput') as HTMLTextAreaElement; | |
24 e.value = stockSerializedMessages[buttonName]; | |
25 } | |
26 else if(buttonName == 'Trigger') | |
27 { | |
28 console.error('Not implemented!') | |
29 } | |
496
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
30 } |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
31 |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
32 (<any> window).StoneFrameworkModule = { |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
33 preRun: [ |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
34 function() { |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
35 console.log('Loading the Stone Framework using WebAssembly'); |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
36 } |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
37 ], |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
38 postRun: [ |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
39 function() { |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
40 // This function is called by ".js" wrapper once the ".wasm" |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
41 // WebAssembly module has been loaded and compiled by the |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
42 // browser |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
43 console.log('WebAssembly is ready'); |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
44 SendMessageToStoneApplication = (<any> window).StoneFrameworkModule.cwrap('SendMessageToStoneApplication', 'string', ['string']); |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
45 } |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
46 ], |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
47 print: function(text : string) { |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
48 console.log(text); |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
49 }, |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
50 printErr: function(text : string) { |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
51 console.error(text); |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
52 }, |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
53 totalDependencies: 0 |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
54 }; |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
55 |
498 | 56 |
496
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
57 |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
58 // this method is called "from the C++ code" when the StoneApplication is updated. |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
59 // it can be used to update the UI of the application |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
60 function UpdateWebApplication(statusUpdateMessageString: string) { |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
61 console.log("updating web application: ", statusUpdateMessageString); |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
62 let statusUpdateMessage = JSON.parse(statusUpdateMessageString); |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
63 |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
64 if ("event" in statusUpdateMessage) |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
65 { |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
66 let eventName = statusUpdateMessage["event"]; |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
67 if (eventName == "appStatusUpdated") |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
68 { |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
69 //ui.onAppStatusUpdated(statusUpdateMessage["data"]); |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
70 } |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
71 } |
8b6ceae45ba0
Finished (untested) C++, html, typescript, tsc & browserify production.
bgo-osimis
parents:
diff
changeset
|
72 } |