+
+
+ {error()}
+
+
+
+
+ Do you really want to delete the remote {remote().getTitle()} ({remote().getId()})?
+
+
+
+
+
+ );
+}
+
+DeleteRemoteModal.Handler = new ModalHandler();
+DeleteRemoteModal.setRemote = setRemote;
+DeleteRemoteModal.onRemoteDeleted = (callback) =>
+ eventEmitter.on(REMOTE_DELETED_EVENT, callback);
+
+export default DeleteRemoteModal;
diff --git a/www/src/modals/modal-registry.jsx b/www/src/modals/modal-registry.jsx
index 17bb4df..84e81f6 100644
--- a/www/src/modals/modal-registry.jsx
+++ b/www/src/modals/modal-registry.jsx
@@ -9,6 +9,7 @@ import DeleteIntegrationModal from "./delete-integration-modal.jsx";
import CreateCommandModal from "./create-command-modal.jsx";
import DeleteCommandModal from "./delete-command-modal.jsx";
import CreateRemoteModal from "./create-remote-modal.jsx";
+import DeleteRemoteModal from "./delete-remote-modal.jsx";
const ModalRegistry = (function () {
const modals = [
@@ -57,6 +58,11 @@ const ModalRegistry = (function () {
component: CreateRemoteModal,
ref: null,
},
+ {
+ id: "deleteRemoteModal",
+ component: DeleteRemoteModal,
+ ref: null,
+ }
];
function getModals(props) {
diff --git a/www/src/services/remotes-service.js b/www/src/services/remotes-service.js
index 16585a4..4061dbe 100644
--- a/www/src/services/remotes-service.js
+++ b/www/src/services/remotes-service.js
@@ -42,6 +42,13 @@ function RemotesService() {
return remote;
}
+ async function deleteRemote(remoteId) {
+ let index = remotes.findIndex((remote) => remote.getId() === remoteId);
+ if (index >= 0) {
+ remotes.splice(index, 1);
+ }
+ }
+
async function getCommands() {
return [].concat(commands);
}
@@ -64,6 +71,7 @@ function RemotesService() {
return {
getRemotes,
createRemote,
+ deleteRemote,
getCommands,
createCommand,
deleteCommand,
diff --git a/www/src/views/remotes/remotes-list-view.jsx b/www/src/views/remotes/remotes-list-view.jsx
index 73a3264..58e1deb 100644
--- a/www/src/views/remotes/remotes-list-view.jsx
+++ b/www/src/views/remotes/remotes-list-view.jsx
@@ -2,6 +2,7 @@ import { createResource, onMount } from "solid-js";
import List from "../../components/list";
import RemotesService from "../../services/remotes-service";
import CreateRemoteModal from "../../modals/create-remote-modal";
+import DeleteRemoteModal from "../../modals/delete-remote-modal";
function RemotesList(props) {
const [remotes, { refetch: refetchRemotes }] = createResource(
@@ -15,12 +16,19 @@ function RemotesList(props) {
CreateRemoteModal.onRemoteCreated(() => {
refetchRemotes();
});
+
+ DeleteRemoteModal.onRemoteDeleted(() => {
+ refetchRemotes();
+ });
function handleNewRemote() {
CreateRemoteModal.Handler.show();
}
- function handleDeleteRemote(remote) {}
+ function handleDeleteRemote(remote) {
+ DeleteRemoteModal.setRemote(remote);
+ DeleteRemoteModal.Handler.show();
+ }
return (
<>