From 7b1af51fe664d5edb25093bb7e1a0fc1c989b69a Mon Sep 17 00:00:00 2001 From: Simba Date: Fri, 19 Jun 2020 17:59:52 +0800 Subject: [PATCH] share operation alpha --- src/pages/matter/List.tsx | 17 +++-- .../matter/widget/ShareOperationModal.less | 21 +++++++ .../matter/widget/ShareOperationModal.tsx | 63 +++++++++++++++++++ src/pages/share/List.tsx | 5 +- 4 files changed, 96 insertions(+), 10 deletions(-) create mode 100644 src/pages/matter/widget/ShareOperationModal.less create mode 100644 src/pages/matter/widget/ShareOperationModal.tsx diff --git a/src/pages/matter/List.tsx b/src/pages/matter/List.tsx index ba09748..209415d 100644 --- a/src/pages/matter/List.tsx +++ b/src/pages/matter/List.tsx @@ -27,6 +27,8 @@ import Sun from "../../common/model/global/Sun"; import { UserRole } from "../../common/model/user/UserRole"; import StringUtil from "../../common/util/StringUtil"; import MoveBatchModal from "./widget/MoveBatchModal"; +import ShareOperationModal from "./widget/ShareOperationModal"; +import Share from "../../common/model/share/Share"; interface IProps extends RouteComponentProps {} @@ -50,12 +52,7 @@ export default class List extends TankComponent { user = Moon.getSingleton().user; preference = Moon.getSingleton().preference; director = new Director(); - - // todo - // share: Share = new Share(); - - //分享的弹框 - shareDialogVisible = false; + share = new Share(); newMatterRef = React.createRef(); @@ -205,8 +202,10 @@ export default class List extends TankComponent { this.uploadMatters.push(m); }; - share = () => { - console.log("share"); + shareBatch = () => { + ShareOperationModal.open(() => { + + }); }; searchFile = (value?: string) => { @@ -317,7 +316,7 @@ export default class List extends TankComponent { 移动 - diff --git a/src/pages/matter/widget/ShareOperationModal.less b/src/pages/matter/widget/ShareOperationModal.less new file mode 100644 index 0000000..01d5269 --- /dev/null +++ b/src/pages/matter/widget/ShareOperationModal.less @@ -0,0 +1,21 @@ +.widget-share-modal { + + .share-block { + + .share-icon { + width: 30px; + height: 30px; + } + + .name { + font-size: 18px; + margin-left: 10px; + line-height: 30px; + } + + } + +} +.share-modal { + max-width: 1000px; +} diff --git a/src/pages/matter/widget/ShareOperationModal.tsx b/src/pages/matter/widget/ShareOperationModal.tsx new file mode 100644 index 0000000..1fe4625 --- /dev/null +++ b/src/pages/matter/widget/ShareOperationModal.tsx @@ -0,0 +1,63 @@ +import React from "react"; +import TankComponent from "../../../common/component/TankComponent"; +import { Modal, Button, Col, Row, Select } from "antd"; +import "./ShareOperationModal.less"; +import Share from "../../../common/model/share/Share"; +import { ShareExpireOptionList } from "../../../common/model/share/ShareExpireOption"; + +interface IProps { + onSuccess: () => any; + onClose: () => any; +} + +interface IState {} + +export default class ShareOperationModal extends TankComponent { + share = new Share(); + + constructor(props: IProps) { + super(props); + } + + static open = (confirmCallback: () => any) => { + const modal = Modal.confirm({ + className: "share-modal", + title: "分享", + width: "90vw", + okCancel: false, + okButtonProps: { + className: "display-none", + }, + content: ( + { + confirmCallback(); + modal.destroy(); + }} + onClose={() => { + modal.destroy(); + }} + /> + ), + }); + }; + + render() { + return ( +
+ + 有效期 + + + + +
+ ); + } +} diff --git a/src/pages/share/List.tsx b/src/pages/share/List.tsx index 58c26f0..fa34d3c 100644 --- a/src/pages/share/List.tsx +++ b/src/pages/share/List.tsx @@ -1,6 +1,7 @@ import React from "react"; import { RouteComponentProps } from "react-router-dom"; import { Pagination } from "antd"; +import TankTitle from "../widget/TankTitle"; import TankComponent from "../../common/component/TankComponent"; import Pager from "../../common/model/base/Pager"; import Share from "../../common/model/share/Share"; @@ -38,7 +39,9 @@ export default class List extends TankComponent { const { pager } = this; return ( -
+
+ + {pager.data.map((share) => ( ))}