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