Load remote file in extension by lucka-me · Pull Request #112 · quoid/userscripts · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions extension/Userscripts Extension/Functions.swift
21 changes: 20 additions & 1 deletion extension/Userscripts Extension/SafariExtensionHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,29 @@ class SafariExtensionHandler: SFSafariExtensionHandler {
} else {
responseError = "failed to get code"
}
case "REQ_GET_REMOTE_FILE":
if
let data = userInfo,
let url = data["url"] as? String,
getRemoteFile(url, { code, error in
page.dispatchMessageToScript(
withName: "RESP_GET_REMOTE_FILE",
userInfo: [ "data": [ "url": url, "code": code ], "error": error?.localizedDescription ?? "" ]
)
})
{
// Started
} else {
responseName = "RESP_GET_REMOTE_FILE"
responseData = [ "url": userInfo?["url"] ]
responseError = "failed to download"
}
default:
err("message from js has no handler")
}
page.dispatchMessageToScript(withName: responseName, userInfo: ["data": responseData, "error": responseError])
if !responseName.isEmpty {
page.dispatchMessageToScript(withName: responseName, userInfo: ["data": responseData, "error": responseError])
}
}

override func toolbarItemClicked(in window: SFSafariWindow) {
Expand Down
2 changes: 1 addition & 1 deletion src/Components/Editor/Editor.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@
{:else if $state.includes("trashing")}
(◞‸◟)
{:else if $state.includes("updating")}
Updating code, <span class="link" on:click={abort}>cancel request</span>
Updating code<!--, <span class="link" on:click={abort}>cancel request</span>-->
{:else if remote}
Code was <span class="info" title={remote}>remotely fetched</span>, check carefully before saving!
{:else if temp}
Expand Down
4 changes: 4 additions & 0 deletions src/handler.js
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,10 @@ function handleMessage(e) {
// in the event of a failure from one of the above, log error if needed and nothing else
break;
}
case "RESP_GET_REMOTE_FILE": {
// SHould be handled by callback in getRemoteFile()
break;
}
default: {
console.error(`message from swift has no handler - ${name}`);
}
Expand Down
34 changes: 21 additions & 13 deletions src/utils.js