2018-04-17 09:46:33 -06:00
|
|
|
import { isLog } from "../devices/actions";
|
|
|
|
import {
|
|
|
|
actOnChannelName,
|
|
|
|
showLogOnScreen,
|
|
|
|
speakLogAloud,
|
2020-02-28 09:35:32 -07:00
|
|
|
initLog,
|
2018-04-17 09:46:33 -06:00
|
|
|
} from "./connect_device";
|
|
|
|
import { GetState } from "../redux/interfaces";
|
2018-08-02 15:46:58 -06:00
|
|
|
import { Log } from "farmbot/dist/resources/api_resources";
|
2018-04-17 10:19:45 -06:00
|
|
|
import { globalQueue } from "./batch_queue";
|
2018-04-17 09:46:33 -06:00
|
|
|
|
|
|
|
export const onLogs =
|
2018-05-21 16:16:59 -06:00
|
|
|
(_dispatch: Function, getState: GetState) => (msg: Log) => {
|
2018-04-17 09:46:33 -06:00
|
|
|
if (isLog(msg)) {
|
2019-10-22 10:03:00 -06:00
|
|
|
!msg.type && (msg.type = "info");
|
2018-04-17 09:46:33 -06:00
|
|
|
actOnChannelName(msg, "toast", showLogOnScreen);
|
|
|
|
actOnChannelName(msg, "espeak", speakLogAloud(getState));
|
2018-05-21 16:16:59 -06:00
|
|
|
const log = initLog(msg).payload;
|
2019-09-17 18:56:18 -06:00
|
|
|
if (log.kind == "Log") {
|
|
|
|
globalQueue.push(log);
|
|
|
|
return log;
|
|
|
|
}
|
2018-04-17 09:46:33 -06:00
|
|
|
}
|
|
|
|
};
|