UNPKG

@choerodon/master

Version:
128 lines (113 loc) 4.68 kB
import "choerodon-ui/lib/avatar/style"; import _Avatar from "choerodon-ui/lib/avatar"; var _excluded = ["handleEditProject", "handleClickProject", "handleEnabledProject", "dataSet", "record"]; function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } import React from 'react'; import queryString from 'query-string'; import { Action } from "../../../../../../../index"; import { PROJECT_TYPE } from "../../constant"; var Card = function Card(_ref) { var handleEditProject = _ref.handleEditProject, handleClickProject = _ref.handleClickProject, handleEnabledProject = _ref.handleEnabledProject, dataSet = _ref.dataSet, record = _ref.record, props = _objectWithoutProperties(_ref, _excluded); var name = props.name, code = props.code, imageUrl = props.imageUrl, applicationName = props.applicationName, category = props.category, createUserImageUrl = props.createUserImageUrl, createUserName = props.createUserName, creationDate = props.creationDate, history = props.history; function handleFocus() { var index = dataSet.findIndex(function (r) { return r.get('code') === code; }); if (index !== -1) { dataSet.locate(index); handleEditProject(); } } function handleClick() { if (!record.get('enabled') || !record.get('into')) { return; } handleClickProject(record); } function handleEnabled() { var index = dataSet.findIndex(function (r) { return r.get('code') === code; }); if (index !== -1) { dataSet.locate(index); handleEnabledProject(); } } function renderAction() { var _queryString$parse = queryString.parse(history.location.search), organizationId = _queryString$parse.organizationId; var actionDatas = [{ service: ['choerodon.code.organization.project.ps.edit'], icon: '', text: '编辑', action: handleFocus }, { service: ['choerodon.code.organization.project.ps.edit'], icon: '', text: record.get('enabled') ? '停用' : '启用', action: handleEnabled }]; return record.get('editFlag') && /*#__PURE__*/React.createElement(Action, { organizationId: organizationId, type: "organization", data: actionDatas, style: { marginLeft: 5, flexShrink: 0 } }); } return /*#__PURE__*/React.createElement("div", { className: "pro-card" }, /*#__PURE__*/React.createElement("div", { className: "border-top ".concat(record.get('enabled') ? '' : 'border-top-disenabled') }), /*#__PURE__*/React.createElement("div", { className: "card-content", role: "none", onClick: handleClick }, /*#__PURE__*/React.createElement(_Avatar, { size: 80, src: imageUrl, style: { fontSize: '32px' } }, name && name.charAt(0)), /*#__PURE__*/React.createElement("h3", null, name), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", { className: "text" }, code), /*#__PURE__*/React.createElement("span", { className: "text separator" }, "\xB7"), /*#__PURE__*/React.createElement("span", { className: "text" }, PROJECT_TYPE[category]))), /*#__PURE__*/React.createElement("div", { className: "card-footer" }, /*#__PURE__*/React.createElement("div", { className: "card-footer-left" }, /*#__PURE__*/React.createElement(_Avatar, { size: 18, style: { marginRight: 8, flexShrink: 0 }, src: createUserImageUrl }, createUserName ? createUserName.charAt(0) : ''), /*#__PURE__*/React.createElement("span", { className: "text user" }, createUserName || '创建用户未知'), /*#__PURE__*/React.createElement("span", { className: "text separator" }, "\xB7"), /*#__PURE__*/React.createElement("span", { className: "text date" }, creationDate)), renderAction())); }; export default Card;