frontend/src/data/ws-panels.ts
Bram Kragten 82f80db558
Update typescript, prettier, tslint -> eslint (#5536)
* Update typescript, prettier, tslint -> eslint

* Organize imports

* Use glob for eslint fix react import
2020-04-14 09:05:45 -07:00

26 lines
572 B
TypeScript

import { Connection, createCollection } from "home-assistant-js-websocket";
import { Panels } from "../types";
const fetchPanels = (conn) =>
conn.sendMessagePromise({
type: "get_panels",
});
const subscribeUpdates = (conn, store) =>
conn.subscribeEvents(
() => fetchPanels(conn).then((panels) => store.setState(panels, true)),
"panels_updated"
);
export const subscribePanels = (
conn: Connection,
onChange: (panels: Panels) => void
) =>
createCollection<Panels>(
"_pnl",
fetchPanels,
subscribeUpdates,
conn,
onChange
);