SPA
This commit is contained in:
parent
f16394f258
commit
9651d84dc4
8 changed files with 239 additions and 207 deletions
|
|
@ -661,6 +661,47 @@ let env = {
|
|||
const element = jsmemory.get(ptr);
|
||||
const val = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, value, valueLength));
|
||||
element.value = val;
|
||||
}, getValue: function(ptr) {
|
||||
const element = jsmemory.get(ptr);
|
||||
if(element.value) {
|
||||
return writeStringToWasm(element.value || "");
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
},
|
||||
setValue: function(ptr, value, valueLength) {
|
||||
const element = jsmemory.get(ptr);
|
||||
const val = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, value, valueLength));
|
||||
element.value = val;
|
||||
},
|
||||
getPathName: function() {
|
||||
return writeStringToWasm(window.location.pathname);
|
||||
},
|
||||
addPopStateListener: function(handlerID) {
|
||||
const handler = function(event) {
|
||||
const { ExecutePopStateHandler } = window.crafter_webbuild_wasi.instance.exports;
|
||||
ExecutePopStateHandler(handlerID);
|
||||
};
|
||||
|
||||
window.addEventListener('popstate', handler);
|
||||
|
||||
// Store handler for potential cleanup
|
||||
eventHandlers.set(`popstate-${handlerID}`, handler);
|
||||
},
|
||||
removePopStateListener: function(handlerID) {
|
||||
const handler = eventHandlers.get(`popstate-${handlerID}`);
|
||||
|
||||
if (handler) {
|
||||
window.removeEventListener('popstate', handler);
|
||||
eventHandlers.delete(`popstate-${handlerID}`);
|
||||
}
|
||||
},
|
||||
pushState: function(data, dataLength, title, titleLength, url, urlLength) {
|
||||
const dataStr = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, data, dataLength));
|
||||
const titleStr = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, title, titleLength));
|
||||
const urlStr = decoder.decode(new Int8Array(window.crafter_webbuild_wasi.instance.exports.memory.buffer, url, urlLength));
|
||||
|
||||
window.history.pushState(JSON.parse(dataStr), titleStr, urlStr);
|
||||
},
|
||||
addClickListener: addClickListener,
|
||||
removeClickListener: removeClickListener,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue