import * as React from "react"; import { Widget, WidgetHeader, WidgetBody } from "../../ui/index"; import { ToolTips } from "../../constants"; import { WebcamPanelProps } from "./interfaces"; import { KeyValEditRow } from "../key_val_edit_row"; import { SpecialStatus, TaggedWebcamFeed } from "farmbot"; import { sortBy } from "lodash"; import { t } from "../../i18next_wrapper"; export function sortedFeeds(feeds: TaggedWebcamFeed[]): TaggedWebcamFeed[] { return sortBy(feeds, (f) => { return f.body.id || Infinity; }); } export function Edit(props: WebcamPanelProps) { const rows = sortedFeeds(props.feeds).map(wcf => { return props.destroy(wcf)} onLabelChange={(e) => props.edit(wcf, { name: e.currentTarget.value })} onValueChange={(e) => props.edit(wcf, { url: e.currentTarget.value })} disabled={true} value={wcf.body.url} valuePlaceholder={"HTTP://..."} label={wcf.body.name} labelPlaceholder={t("Feed Name")} valueType="string" />; }); const unsaved = props .feeds .filter(x => x.specialStatus === SpecialStatus.DIRTY); return {rows} ; }