@difizen/magent-au
Version:
82 lines • 2.55 kB
JavaScript
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
};