You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__User__Detail__Projects__...

395 lines
19 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[4736],{
/***/ 87526:
/*!*****************************************!*\
!*** ./src/components/NoData/index.tsx ***!
\*****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/assets/images/icons/nodata.png */ 93314);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd */ 3113);
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
const noData = ({
img,
buttonProps = {},
styles = {},
customText,
ButtonText,
ButtonClick,
Buttonclass,
ButtonTwo,
imgStyles,
loading = false
}) => {
return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
"section",
{
className: "tc animated fadeIn",
style: __spreadValues(__spreadValues({}, { color: "#999", margin: "100px auto", visibility: loading ? "hidden" : "visible" }), styles)
},
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("img", { src: img || _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_1__, style: __spreadProps(__spreadValues({}, imgStyles), { pointerEvents: "none", userSelect: "none" }) }),
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("p", { className: "mt20 font14" }, customText || "\u6682\u65F6\u8FD8\u6CA1\u6709\u76F8\u5173\u6570\u636E\u54E6!"),
ButtonText && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP, __spreadValues({ className: Buttonclass, onClick: ButtonClick }, buttonProps), ButtonText),
ButtonTwo && ButtonTwo
);
};
/* harmony default export */ __webpack_exports__.Z = (noData);
/***/ }),
/***/ 1210:
/*!**************************************************************!*\
!*** ./src/pages/User/Detail/Projects/index.tsx + 4 modules ***!
\**************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ Detail_Projects; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(67866);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/skeleton/index.js + 12 modules
var skeleton = __webpack_require__(56511);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/pagination/index.js + 10 modules
var pagination = __webpack_require__(53864);
;// CONCATENATED MODULE: ./src/pages/User/Detail/Projects/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Projectsmodules = ({"flex_box_center":"flex_box_center___HqRYP","flex_space_between":"flex_space_between___alxKc","flex_box_vertical_center":"flex_box_vertical_center___eubvI","flex_box_center_end":"flex_box_center_end___eeetl","flex_box_column":"flex_box_column___f71Fr","wrap":"wrap___tNiRV","midWrap":"midWrap___QY9Zc","color999":"color999___gBtmk","orderWrap":"orderWrap___YTDu4","orderIconWrap":"orderIconWrap___moZO6","orderAsc":"orderAsc___Ukdgv","orderDesc":"orderDesc___EzbFO","color0152d9":"color0152d9___tmbR2","h10":"h10____qGYL","cursorPointer":"cursorPointer____ipRI","orderTextWrap":"orderTextWrap___XdMo2","cardWrap":"cardWrap___HHTqe","countWrap":"countWrap___zGG_l"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/card/index.js + 4 modules
var card = __webpack_require__(18889);
;// CONCATENATED MODULE: ./src/pages/User/Detail/Projects/components/Items/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Itemsmodules = ({"flex_box_center":"flex_box_center___JwugP","flex_space_between":"flex_space_between___Noq8b","flex_box_vertical_center":"flex_box_vertical_center___HCspq","flex_box_center_end":"flex_box_center_end___SVOIs","flex_box_column":"flex_box_column___mhoeu","wrap":"wrap____klhy","lockWrap":"lockWrap___onzlV","lockIcon":"lockIcon___nMIxN","topWrap":"topWrap___cwznr","bottomWrap":"bottomWrap___q9x5h","bottom":"bottom___mzMmr","bottomIconSpan":"bottomIconSpan___iUkhS","public":"public___Eb0Z9","borderFF6800":"borderFF6800____0Dfx","publicIcon":"publicIcon___r8mDR","publicText":"publicText___BuBKE","lockText":"lockText___xpO23","createIconWrap":"createIconWrap___a7ovS","createIcon":"createIcon___eai3X","leftIcon":"leftIcon___coXUA","rightIcon":"rightIcon___oJVkv","createTextWrap":"createTextWrap___Ddqkm","createText":"createText___Lri5K","title":"title___wDXDf","img":"img___MTAfi","teacherName":"teacherName___yP9fk","school":"school___GvxFu","color989898":"color989898___i5Xca","teacherUsers":"teacherUsers___rO2tG","sign":"sign___Ow0aN"});
// EXTERNAL MODULE: ./src/utils/verifyLogin.tsx + 2 modules
var verifyLogin = __webpack_require__(81261);
;// CONCATENATED MODULE: ./src/pages/User/Detail/Projects/components/Items/CreateCard.tsx
const CreateCard = ({ url, name, dispatch }) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("a", { href: url, className: Itemsmodules.wrap, onClick: () => {
if (!(0,verifyLogin/* handleVerify */.tJ)(dispatch)) {
return;
}
_umi_production_exports.history.push(url);
} }, /* @__PURE__ */ _react_17_0_2_react.createElement(card/* default */.Z, { className: "animated fadeIn" }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.createIconWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.createIcon }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-xiangmu2" }))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.createTextWrap }, name))));
};
/* harmony default export */ var Items_CreateCard = (CreateCard);
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__(87526);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(21873);
;// CONCATENATED MODULE: ./src/pages/User/Detail/Projects/components/Items/index.tsx
const Items = ({ data, old_url }) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, data && data.map((item, key) => {
var _a, _b, _c;
return /* @__PURE__ */ _react_17_0_2_react.createElement(
"a",
{
className: Itemsmodules.wrap,
key: item.id,
href: `${old_url}${item.project_url}`,
onClick: () => {
item.can_visited && (window.location.href = `${old_url}${item.project_url}`);
}
},
/* @__PURE__ */ _react_17_0_2_react.createElement(card/* default */.Z, { className: `animated fadeIn ${Itemsmodules.cardWrap}` }, item.is_public && /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Itemsmodules.sign }, "\u516C\u5F00"), !item.can_visited && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.lockWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mt80 mb25" }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: `iconfont icon-guansuo ${Itemsmodules.lockIcon}` })), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: Itemsmodules.lockText }, "\u975E\u6210\u5458\u4E0D\u80FD\u8BBF\u95EE")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.topWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: item.name }, /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: Itemsmodules.title }, item.name)), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
"img",
{
className: Itemsmodules.img,
alt: "\u7528\u6237",
height: "50",
width: "50",
src: `${env/* default */.Z.IMG_SERVER}/images/${(_a = item.owner) == null ? void 0 : _a.avatar_url}`
}
)), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: Itemsmodules.teacherName }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: (_b = item.owner) == null ? void 0 : _b.real_name }, (_c = item.owner) == null ? void 0 : _c.real_name)), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: Itemsmodules.school }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Itemsmodules.color989898 }, item == null ? void 0 : item.owner.school_name))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.bottomWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.bottom }, item.members_count > 0 && /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { placement: "bottom", title: "\u6210\u5458" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Itemsmodules.bottomIconSpan }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-chengyuan font12" }), item.members_count)), item.issues_count > 0 && /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { placement: "bottom", title: "issues\u6570" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Itemsmodules.bottomIconSpan }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-issue font12" }), item.issues_count)), item.changesets_count > 0 && /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { placement: "bottom", title: "\u7248\u672C\u5E93" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Itemsmodules.bottomIconSpan }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-banbenku font12" }), item.changesets_count)))))
);
}));
};
/* harmony default export */ var components_Items = (Items);
// EXTERNAL MODULE: ./src/components/ui-customization/index.tsx + 34 modules
var ui_customization = __webpack_require__(26324);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(13462);
;// CONCATENATED MODULE: ./src/pages/User/Detail/Projects/index.tsx
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
target[prop] = source[prop];
}
return target;
};
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const Projects = (_a) => {
var _b = _a, {
user,
userDetail,
globalSetting,
loading,
dispatch
} = _b, props = __objRest(_b, [
"user",
"userDetail",
"globalSetting",
"loading",
"dispatch"
]);
var _a2, _b2, _c;
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
const location = (0,_umi_production_exports.useLocation)();
const [params, setParams] = (0,_react_17_0_2_react.useState)({});
const username = (0,_react_17_0_2_react.useRef)();
const [count, setCount] = (0,_react_17_0_2_react.useState)(0);
const [data, setData] = (0,_react_17_0_2_react.useState)([]);
const [isCurrent, setIsCurrent] = (0,_react_17_0_2_react.useState)();
(0,_react_17_0_2_react.useEffect)(() => {
var _a3;
username.current = (_a3 = location.pathname.split("/")) == null ? void 0 : _a3[2];
const query = {
category: searchParams.get("category") || "",
status: searchParams.get("status") || "",
page: 1,
per_page: 15,
sort_by: "updated_on",
sort_direction: "desc",
username: username.current
};
setParams(query);
getProjects(query);
}, [location.pathname]);
(0,_react_17_0_2_react.useEffect)(() => {
var _a3;
setIsCurrent(((_a3 = user.userInfo) == null ? void 0 : _a3.login) === username.current);
}, [(_a2 = user.userInfo) == null ? void 0 : _a2.login, username.current]);
const getProjects = (query) => __async(void 0, null, function* () {
const res = yield dispatch({
type: "userDetail/getProjects",
payload: query
});
if (res) {
setCount(res.count || 0);
setData(res.projects || []);
}
});
const handleChangeCategory = (category) => {
var _a3;
params.category = category;
params.status = "";
params.page = 1;
if ((_a3 = window.location.href.toString()) == null ? void 0 : _a3.includes("category")) {
(0,util/* replaceParamVal */.jz)("category", category);
(0,util/* replaceParamVal */.jz)("status", "");
} else {
window.history.replaceState(null, "", window.location.href.indexOf("?") > -1 ? window.location.href + `&category=${category}` : `?category=${category}`);
}
setParams(params);
getProjects(params);
};
const handleChangeStatus = (status) => {
var _a3;
params.status = status;
params.page = 1;
if ((_a3 = window.location.href.toString()) == null ? void 0 : _a3.includes("status")) {
(0,util/* replaceParamVal */.jz)("status", status);
} else {
window.history.replaceState(null, "", window.location.href.indexOf("?") > -1 ? window.location.href + `&status=${status}` : `?status=${status}`);
}
setParams(params);
getProjects(params);
};
const handleChangeOrder = (sort_direction) => {
params.sort_direction = sort_direction;
setParams(params);
getProjects(params);
};
const handleChangeOrderField = (sort_by) => {
params.sort_by = sort_by;
params.sort_direction = "desc";
setParams(params);
getProjects(params);
};
const handleChangePage = (page) => {
params.page = page;
setParams(params);
getProjects(params);
};
const renderCategoryText = () => {
if (!params.category) {
return "\u9879\u76EE";
}
if (params.category === "manage") {
return "\u53D1\u5E03";
}
return "\u5B66\u4E60";
};
const renderOrderText = () => {
if (params.sort_by === "updated_on") {
return "\u6700\u65B0\u52A8\u6001";
}
if (params.sort_by === "created_on") {
return "\u6700\u65B0\u521B\u5EFA";
}
return "";
};
const tabs = [
{ id: "", name: "\u5168\u90E8" },
{ id: "manage", name: `${isCurrent ? "\u6211" : "TA"}\u7BA1\u7406\u7684` },
{ id: "study", name: `${isCurrent ? "\u6211" : "TA"}\u5B66\u4E60\u7684` }
];
const tags = [
{ id: "", name: "\u5168\u90E8" },
{ id: "publicly", name: "\u516C\u5F00" },
{ id: "personal", name: "\u79C1\u6709" }
];
const dropItem = [
{
id: "updated_on",
name: "\u6700\u65B0\u52A8\u6001"
},
{
id: "created_on",
name: "\u6700\u65B0\u521B\u5EFA"
}
];
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Projectsmodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
ui_customization/* CustomTabs */.YG,
{
value: params.category,
onChange: handleChangeCategory,
className: "mb25",
dataSource: tabs
}
), isCurrent && /* @__PURE__ */ _react_17_0_2_react.createElement(
ui_customization/* CustomTags */.qp,
{
title: "\u72B6\u6001",
value: params.status,
onChange: handleChangeStatus,
dataSource: tags,
titleWidth: 28
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
ui_customization/* SuperiorSort */.cq,
{
dataSource: dropItem,
sortValue: params.sort_direction,
dropValue: params.sort_by,
onSort: handleChangeOrder,
onDrop: handleChangeOrderField
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
skeleton/* default */.Z,
{
loading: loading["userDetail/getProjects"],
active: true,
paragraph: { rows: 5 }
},
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Projectsmodules.cardWrap }, params.page === 1 && isCurrent && !params.category && /* @__PURE__ */ _react_17_0_2_react.createElement(Items_CreateCard, { url: `${(_b2 = globalSetting == null ? void 0 : globalSetting.setting) == null ? void 0 : _b2.old_url}/projects/deposit/new`, name: "\u65B0\u5EFA\u5F00\u53D1\u9879\u76EE", dispatch }), !data.length && params.category && /* @__PURE__ */ _react_17_0_2_react.createElement(NoData/* default */.Z, null), /* @__PURE__ */ _react_17_0_2_react.createElement(components_Items, { data, old_url: (_c = globalSetting == null ? void 0 : globalSetting.setting) == null ? void 0 : _c.old_url })),
count > 15 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Projectsmodules.countWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
pagination/* default */.Z,
{
showQuickJumper: true,
showSizeChanger: false,
total: count,
onChange: (page) => handleChangePage(page),
pageSize: 16,
current: params.page
}
))
));
};
/* harmony default export */ var Detail_Projects = ((0,_umi_production_exports.connect)(
({
user,
userDetail,
loading,
globalSetting
}) => ({
user,
userDetail,
globalSetting,
loading: loading.effects
})
)(Projects));
/***/ })
}]);