@choerodon/master
Version:
A package of Master for Choerodon platform.
78 lines (71 loc) • 2.36 kB
JavaScript
import React, { useContext } from 'react';
import { observer } from 'mobx-react-lite';
import Store from "../../stores";
import Card from "./Card";
import EmptyProject from "../../components/Empty";
var ListView = observer(function (props) {
var _useContext = useContext(Store),
dataSet = _useContext.dataSet,
isNotRecent = _useContext.isNotRecent,
HeaderStore = _useContext.HeaderStore,
AppState = _useContext.AppState,
auto = _useContext.auto,
history = _useContext.history;
function renderCard(record) {
var cardPlainObj = record.toData();
return /*#__PURE__*/React.createElement(Card, Object.assign({}, cardPlainObj, props, {
dataSet: dataSet,
record: record,
history: history
}));
}
function filterRecent(record) {
if (isNotRecent === 'all') {
return true;
} else if (isNotRecent === 'recent') {
var recents = HeaderStore.getRecentItem;
return !!recents.find(function (v) {
return v.id === record.get('id');
});
} else {
return record.get('createdBy') === AppState.getUserId;
}
}
var realData = dataSet.originalData.filter(function (r) {
return filterRecent(r);
});
if (realData.length === 0 && dataSet.status === 'ready' && dataSet.queryDataSet.current && Object.keys(dataSet.queryDataSet.current.toData()).filter(function (item) {
return item !== '__dirty';
}).length === 0) {
var description = '';
if (isNotRecent === 'all') {
description = '暂无可操作的项目';
} else if (isNotRecent === 'recent') {
description = '暂无“最近使用”项目';
} else if (isNotRecent === 'mine') {
description = '暂无“我创建的” 项目';
}
return /*#__PURE__*/React.createElement(EmptyProject, {
title: "\u6682\u65E0\u9879\u76EE",
description: description
});
} else if (realData.length === 0) {
return /*#__PURE__*/React.createElement("div", {
style: {
textAlign: 'center',
marginTop: 100,
color: 'rgba(0,0,0,0.65)'
}
}, "\u6682\u65E0\u6570\u636E");
}
return /*#__PURE__*/React.createElement("div", {
style: {
display: 'flex',
flexDirection: 'row',
flexWrap: 'wrap'
}
}, realData.map(function (r) {
return renderCard(r);
}));
});
export default ListView;