fix: new command not listed in create remote modal
This commit is contained in:
parent
01aff1635d
commit
0c6a302a92
@ -1,4 +1,4 @@
|
||||
import { createMemo, createResource, createSignal } from "solid-js";
|
||||
import { createMemo, createResource, createSignal, onMount } from "solid-js";
|
||||
import ValidatedTextInput from "../components/validated-text-input.jsx";
|
||||
import RemotesService from "../services/remotes-service.js";
|
||||
import EventEmitter from "../tools/event-emitter.js";
|
||||
@ -9,17 +9,22 @@ import ListManager from "../components/list-manager.jsx";
|
||||
const eventEmitter = new EventEmitter();
|
||||
const REMOTE_CREATED_EVENT = "success";
|
||||
const MIN_TITLE_LENGTH = 3;
|
||||
const modalHandler = new ModalHandler();
|
||||
|
||||
function CreateRemoteModal(props) {
|
||||
const [title, setTitle] = createSignal("");
|
||||
const [commands, setCommands] = createSignal([]);
|
||||
const [availableCommands] = createResource(RemotesService.getCommands);
|
||||
const [availableCommands, { refetch: refetchAvailableCommands }] =
|
||||
createResource(RemotesService.getCommands);
|
||||
const [error, setError] = createSignal("");
|
||||
|
||||
const isTitleValid = createMemo(() => title().length >= MIN_TITLE_LENGTH);
|
||||
|
||||
const isFormValid = createMemo(() => isTitleValid());
|
||||
|
||||
modalHandler.onShow(() => {
|
||||
refetchAvailableCommands();
|
||||
});
|
||||
|
||||
async function handleCreateRemote() {
|
||||
let remote;
|
||||
try {
|
||||
@ -108,7 +113,7 @@ function CreateRemoteModal(props) {
|
||||
);
|
||||
}
|
||||
|
||||
CreateRemoteModal.Handler = new ModalHandler();
|
||||
CreateRemoteModal.Handler = modalHandler;
|
||||
CreateRemoteModal.onRemoteCreated = (callback) =>
|
||||
eventEmitter.on(REMOTE_CREATED_EVENT, callback);
|
||||
|
||||
|
||||
@ -1,11 +1,23 @@
|
||||
import EventEmitter from "../tools/event-emitter";
|
||||
|
||||
const SHOW_EVENT = "show";
|
||||
const HIDE_EVENT = "hide";
|
||||
|
||||
function ModalHandler() {
|
||||
let _ref;
|
||||
let _modalRef;
|
||||
let _modalId;
|
||||
let eventEmitter = new EventEmitter();
|
||||
|
||||
function setRef(ref) {
|
||||
_ref = ref;
|
||||
_modalRef = new bootstrap.Modal(ref);
|
||||
_ref.addEventListener('hidden.bs.modal', () => {
|
||||
eventEmitter.dispatchEvent(HIDE_EVENT);
|
||||
});
|
||||
_ref.addEventListener('show.bs.modal', () => {
|
||||
eventEmitter.dispatchEvent(SHOW_EVENT);
|
||||
});
|
||||
}
|
||||
|
||||
function show() {
|
||||
@ -21,15 +33,11 @@ function ModalHandler() {
|
||||
}
|
||||
|
||||
function onHidden(callback) {
|
||||
_ref.addEventListener('hidden.bs.modal', () => {
|
||||
callback();
|
||||
});
|
||||
eventEmitter.on(HIDE_EVENT, callback);
|
||||
}
|
||||
|
||||
function onShow(callback) {
|
||||
_ref.addEventListener('show.bs.modal', () => {
|
||||
callback();
|
||||
});
|
||||
eventEmitter.on(SHOW_EVENT, callback);
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user