UNPKG

@difizen/magent-au

Version:
82 lines 2.55 kB
import { useInject, useMount, useObserve } from '@difizen/mana-app'; import { Modal, Table } from 'antd'; import { useMemo } from 'react'; import { KnowledgeIcon } from "../../../knowledge/knowledge-icon.js"; import { KnowledgeSpace } from "../../../knowledge/knowledge-space.js"; import { KnowledgeModalId } from "../protocol.js"; import { jsx as _jsx } from "react/jsx-runtime"; export var KnowledgeModalComponent = function KnowledgeModalComponent(props) { var _props$data; var knowledgeSpace = useInject(KnowledgeSpace); var visible = props.visible, close = props.close; var _ref = props.data || {}, onChange = _ref.onChange; var dataProvider = useObserve((_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.dataProvider); var columns = useMemo(function () { var c = [{ title: 'id', dataIndex: 'id', key: 'id' }, { title: 'avatar', dataIndex: 'avatar', key: 'avatar', render: function render(value, item) { return /*#__PURE__*/_jsx(KnowledgeIcon, { shape: "circle", size: 32, data: item }); } }, { title: 'nickname', dataIndex: 'nickname', key: 'nickname' }, { title: 'description', dataIndex: 'description', key: 'description' }]; return c; }, []); useMount(function () { knowledgeSpace.update(); }); var onSelectChange = function onSelectChange(newSelectedRowKeys) { onChange === null || onChange === void 0 || onChange(knowledgeSpace.list.filter(function (item) { return newSelectedRowKeys.includes(item.id); }).map(function (item) { return item.toMeta(); })); }; var rowSelection = { selectedRowKeys: ((dataProvider === null || dataProvider === void 0 ? void 0 : dataProvider.knowledge) || []).map(function (item) { return item.id; }), onChange: onSelectChange }; if (!(dataProvider !== null && dataProvider !== void 0 && dataProvider.knowledge)) { return null; } return /*#__PURE__*/_jsx(Modal, { open: visible, onCancel: function onCancel() { return close(); }, width: 1080, title: "\u9009\u62E9\u77E5\u8BC6\u5E93", footer: null, children: /*#__PURE__*/_jsx(Table, { loading: knowledgeSpace.loading, rowSelection: rowSelection, dataSource: knowledgeSpace.list, columns: columns, rowKey: 'id' }) }); }; export var KnowledgeModal = { id: KnowledgeModalId, component: KnowledgeModalComponent };