@choerodon/master
Version:
A package of Master for Choerodon platform.
128 lines (113 loc) • 4.68 kB
JavaScript
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;