opendash
Version:
open.DASH data visualization framework
21 lines • 1.35 kB
JavaScript
import * as React from "react";
import { useTranslation, useDataItemDimensions, useDebounce } from "..";
import { Select } from "antd";
var DIVIDER = "---";
export var DataItemValuePicker = function (_a) {
var style = _a.style, placeholder = _a.placeholder, value = _a.value, onChange = _a.onChange;
var t = useTranslation(["opendash"])[0];
var _b = React.useState(), searchString = _b[0], setSearchString = _b[1];
var searchStringDebounced = useDebounce(searchString, 500);
var items = useDataItemDimensions(searchStringDebounced);
return (React.createElement(Select, { showSearch: true, placeholder: t(placeholder || "opendash.ui.select_data_item"), style: style, value: value ? value.join(DIVIDER) : undefined, onChange: function (value) {
var _a = value.split(DIVIDER), id = _a[0], dimension = _a[1];
onChange([id, parseInt(dimension)]);
}, onSearch: function (value) {
setSearchString(value);
}, filterOption: function (input, option) { return true; } }, items.map(function (item) { return (React.createElement(Select.Option, { key: [item.id, item.dimension].join(DIVIDER), value: [item.id, item.dimension].join(DIVIDER) },
item.name,
" ~ ",
item.valueType.name)); })));
};
//# sourceMappingURL=DataItemValuePicker.js.map