mirror of
https://github.com/HeyPuter/puter.git
synced 2026-09-23 13:46:11 +00:00
add instancesOpen to puter.js UI
This commit is contained in:
@@ -257,6 +257,20 @@ const ipc_listener = async (event, handled) => {
|
||||
}, '*');
|
||||
}
|
||||
//--------------------------------------------------------
|
||||
// getInstancesOpen
|
||||
//--------------------------------------------------------
|
||||
else if(event.data.msg === 'getInstancesOpen'){
|
||||
// count open windows of this app
|
||||
let instances_open = $('.window-app[data-app_uuid="'+app_uuid+'"]').length;
|
||||
|
||||
// send number of open instances of this app
|
||||
target_iframe.contentWindow.postMessage({
|
||||
original_msg_id: msg_id,
|
||||
msg: 'instancesOpenSucceeded',
|
||||
instancesOpen: instances_open,
|
||||
}, '*');
|
||||
}
|
||||
//--------------------------------------------------------
|
||||
// socialShare
|
||||
//--------------------------------------------------------
|
||||
else if(event.data.msg === 'socialShare' && event.data.url !== undefined){
|
||||
|
||||
@@ -395,6 +395,12 @@ class UI extends EventListener {
|
||||
this.#callbackFunctions[e.data.original_msg_id](appDataItem);
|
||||
}
|
||||
}
|
||||
// instancesOpenSucceeded
|
||||
else if(e.data.msg === 'instancesOpenSucceeded'){
|
||||
if(e.data.original_msg_id && this.#callbackFunctions[e.data.original_msg_id]){
|
||||
this.#callbackFunctions[e.data.original_msg_id](e.data.instancesOpen);
|
||||
}
|
||||
}
|
||||
// readAppDataFileSucceeded
|
||||
else if(e.data.msg === 'readAppDataFileSucceeded'){
|
||||
let appDataItem = new FSItem(e.data.item);
|
||||
@@ -657,6 +663,12 @@ class UI extends EventListener {
|
||||
})
|
||||
}
|
||||
|
||||
instancesOpen = function(callback) {
|
||||
return new Promise((resolve) => {
|
||||
this.#postMessageWithCallback('getInstancesOpen', resolve, { });
|
||||
})
|
||||
}
|
||||
|
||||
socialShare = function(url, message, options, callback) {
|
||||
return new Promise((resolve) => {
|
||||
this.#postMessageWithCallback('socialShare', resolve, { url, message, options });
|
||||
|
||||
Reference in New Issue
Block a user