opendash
Version:
open.DASH data visualization framework
47 lines • 2.56 kB
JavaScript
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