UNPKG

opendash

Version:

open.DASH data visualization framework

47 lines 2.56 kB
var __spreadArrays = (this && this.__spreadArrays) || function () { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; import * as React from "react"; import { useTranslation, useWidgetPresets, } from ".."; import { Modal, List, Checkbox } from "antd"; export var WidgetCreationModal = React.memo(function WidgetCreationModalComponent(_a) { var open = _a.open, close = _a.close, _b = _a.limit, limit = _b === void 0 ? 1 : _b, onSave = _a.onSave; var t = useTranslation(["opendash"])[0]; var presets = useWidgetPresets(); var _c = React.useState([]), selection = _c[0], setSelection = _c[1]; React.useEffect(function () { if (!open) { setSelection([]); } }, [open]); return (React.createElement(Modal, { title: t("widgets.catalogue.title"), okText: t("widgets.catalogue.ok_button"), visible: open, onCancel: function (e) { return close(); }, onOk: function () { var selectedPresets = selection.map(function (i) { return presets[i]; }); onSave(selectedPresets); close(); }, okButtonProps: { disabled: selection.length === 0, } }, React.createElement("p", null, t("widgets.catalogue.description")), React.createElement(List, { dataSource: presets, renderItem: function (item, index) { return (React.createElement(List.Item, { actions: [ React.createElement(Checkbox, { key: "checkbox", checked: selection.includes(index), onChange: function (e) { return setSelection(function (cur) { if (e.target.checked) { return __spreadArrays(cur, [index]); } else { return cur.filter(function (v) { return v !== index; }); } }); } }), ] }, React.createElement(List.Item.Meta // avatar={<img src={item.imageLink} />} , { // avatar={<img src={item.imageLink} />} title: item.label, description: item.description }))); } }))); }); //# sourceMappingURL=WidgetCreationModal.js.map