@hakit/components
Version:
A series of components to work with @hakit/core
97 lines (96 loc) • 2.23 kB
JavaScript
import { localize as o } from "@hakit/core";
const r = {
start: "mdi:play",
pause: "mdi:pause",
stop: "mdi:stop",
on: "mdi:play",
off: "mdi:stop",
paused: "mdi:pause",
returning: "mdi:home-map-marker",
returnToBase: "mdi:home-map-marker",
cleanSpot: "mdi:map-marker",
locate: "mdi:map-marker",
cleaning: "mdi:play",
docked: "mdi:home-map-marker",
idle: "mdi:play",
error: "mdi:alert",
unknown: "mdi:alert"
}, n = ({
entity: e,
shortcuts: t = [],
onLocate: i
}) => {
const s = t;
switch (e.state) {
case "on":
case "auto":
case "spot":
case "edge":
case "single_room":
case "mowing":
case "edgecut":
case "cleaning":
return [{
title: o("pause"),
icon: r.pause,
onClick: () => e.service.pause()
}, {
title: o("stop"),
icon: r.stop,
onClick: () => e.service.stop()
}, {
title: o("return_home"),
icon: r.returning,
onClick: () => e.service.returnToBase()
}, ...s];
case "paused":
return [{
title: o("start"),
icon: r.on,
onClick: () => e.service.start()
}, {
title: o("stop"),
icon: r.stop,
onClick: () => e.service.stop()
}, {
title: o("return_home"),
icon: r.returning,
onClick: () => e.service.returnToBase()
}, ...s];
case "returning":
return [{
title: o("start"),
icon: r.on,
onClick: () => e.service.start()
}, {
title: o("pause"),
icon: r.pause,
onClick: () => e.service.pause()
}, ...s];
case "docked":
case "idle":
default: {
const c = [{
title: o("start"),
icon: r.on,
onClick: () => e.service.start()
}, {
title: o("locate"),
icon: r.cleanSpot,
onClick: () => {
e.service.locate(), typeof i == "function" && i();
}
}];
return e.state === "idle" && c.push({
title: o("return_home"),
icon: r.returning,
onClick: () => e.service.returnToBase()
}), [...c, ...s];
}
}
};
export {
n as getToolbarActions,
r as icons
};
//# sourceMappingURL=shared.js.map