@voplus/morpho-document 1.0.0-dev214 → 1.0.0-dev215
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +7 -0
- package/es/components/AddDocDropdown/index.js +12 -1
- package/es/components/AddDocDropdown/index.js.map +1 -1
- package/es/components/AddDocDropdown/state.js +7 -1
- package/es/components/AddDocDropdown/state.js.map +1 -1
- package/es/components/BreadCrumbsHeader/index.d.ts +9 -0
- package/es/components/BreadCrumbsHeader/index.js +30 -0
- package/es/components/BreadCrumbsHeader/index.js.map +1 -0
- package/es/components/BreadCrumbsHeader/index.less +10 -0
- package/es/components/BreadCrumbsHeader/state.d.ts +10 -0
- package/es/components/BreadCrumbsHeader/state.js +34 -0
- package/es/components/BreadCrumbsHeader/state.js.map +1 -0
- package/es/components/DocumentItem/index.js +2 -8
- package/es/components/DocumentItem/index.js.map +1 -1
- package/es/components/DocumentList/Header.d.ts +13 -0
- package/es/components/DocumentList/Header.js +16 -0
- package/es/components/DocumentList/Header.js.map +1 -0
- package/es/components/DocumentList/index.js +29 -29
- package/es/components/DocumentList/index.js.map +1 -1
- package/es/components/DocumentList/index.less +39 -15
- package/es/components/DocumentList/state.d.ts +5 -8
- package/es/components/DocumentList/state.js +21 -38
- package/es/components/DocumentList/state.js.map +1 -1
- package/es/components/DocumentListView/index.d.ts +3 -2
- package/es/components/DocumentListView/index.js +31 -54
- package/es/components/DocumentListView/index.js.map +1 -1
- package/es/components/DocumentListView/state.d.ts +1 -36
- package/es/components/DocumentListView/state.js +1 -100
- package/es/components/DocumentListView/state.js.map +1 -1
- package/es/components/DocumentSortableTree/index.js +31 -4
- package/es/components/DocumentSortableTree/index.js.map +1 -1
- package/es/components/DocumentSortableTree/state.d.ts +7 -6
- package/es/components/DocumentSortableTree/state.js +23 -32
- package/es/components/DocumentSortableTree/state.js.map +1 -1
- package/es/components/DocumentTabs/index.js +2 -4
- package/es/components/DocumentTabs/index.js.map +1 -1
- package/es/components/DocumentTree/index.js +1 -1
- package/es/components/DocumentTree/index.js.map +1 -1
- package/es/components/FileViewer/ImageViewer.js +4 -3
- package/es/components/FileViewer/ImageViewer.js.map +1 -1
- package/es/components/FileViewer/PDFViewer.js +4 -2
- package/es/components/FileViewer/PDFViewer.js.map +1 -1
- package/es/components/FileViewer/Preview.js +12 -10
- package/es/components/FileViewer/Preview.js.map +1 -1
- package/es/components/FileViewer/index.less +33 -0
- package/es/components/NewDocumentForm/index.d.ts +1 -1
- package/es/components/NewDocumentForm/index.js +3 -1
- package/es/components/NewDocumentForm/index.js.map +1 -1
- package/es/components/QuickAccessSearch/index.js +5 -4
- package/es/components/QuickAccessSearch/index.js.map +1 -1
- package/es/components/QuickViewDialog/QuickSubTab/index.d.ts +10 -4
- package/es/components/QuickViewDialog/QuickSubTab/index.js +16 -16
- package/es/components/QuickViewDialog/QuickSubTab/index.js.map +1 -1
- package/es/components/QuickViewDialog/QuickSubTab/index.less +7 -19
- package/es/components/QuickViewDialog/index.js +2 -1
- package/es/components/QuickViewDialog/index.js.map +1 -1
- package/es/components/QuickViewDialog/index.less +8 -1
- package/es/components/helper.d.ts +1 -1
- package/es/components/helper.js +4 -0
- package/es/components/helper.js.map +1 -1
- package/es/components/styles/common.less +4 -1
- package/es/controls/filters/DocumentTypeFilter/index.d.ts +3 -0
- package/es/controls/filters/DocumentTypeFilter/index.js +21 -0
- package/es/controls/filters/DocumentTypeFilter/index.js.map +1 -0
- package/es/controls/filters/DocumentTypeFilter/state.d.ts +18 -0
- package/es/controls/filters/DocumentTypeFilter/state.js +57 -0
- package/es/controls/filters/DocumentTypeFilter/state.js.map +1 -0
- package/es/controls/filters/index.d.ts +1 -0
- package/es/controls/filters/index.js +1 -0
- package/es/controls/filters/index.js.map +1 -1
- package/es/data/DocumentStore/hooks/useDocumentListEffect.d.ts +2 -1
- package/es/data/DocumentStore/hooks/useDocumentListEffect.js +2 -2
- package/es/data/DocumentStore/hooks/useDocumentListEffect.js.map +1 -1
- package/es/data/DocumentType.d.ts +3 -1
- package/es/data/DocumentType.js +3 -1
- package/es/data/DocumentType.js.map +1 -1
- package/es/modules/unit/components/ActivityLog/index.d.ts +6 -0
- package/es/modules/unit/components/ActivityLog/index.js +62 -0
- package/es/modules/unit/components/ActivityLog/index.js.map +1 -0
- package/es/modules/unit/components/ActivityLog/index.less +64 -0
- package/es/modules/unit/components/ActivityLog/state.d.ts +14 -0
- package/es/modules/unit/components/ActivityLog/state.js +51 -0
- package/es/modules/unit/components/ActivityLog/state.js.map +1 -0
- package/es/modules/unit/components/BreadCrumbsHeader/index.d.ts +6 -0
- package/es/modules/unit/components/BreadCrumbsHeader/index.js +27 -0
- package/es/modules/unit/components/BreadCrumbsHeader/index.js.map +1 -0
- package/es/modules/unit/components/BreadCrumbsHeader/index.less +10 -0
- package/es/modules/unit/components/BreadCrumbsHeader/state.d.ts +5 -0
- package/es/modules/unit/components/BreadCrumbsHeader/state.js +19 -0
- package/es/modules/unit/components/BreadCrumbsHeader/state.js.map +1 -0
- package/es/modules/unit/components/NewUnitForm/index.d.ts +11 -0
- package/es/modules/unit/components/NewUnitForm/index.js +51 -0
- package/es/modules/unit/components/NewUnitForm/index.js.map +1 -0
- package/es/modules/unit/components/NewUnitForm/index.less +33 -0
- package/es/modules/unit/components/NewUnitForm/state.d.ts +22 -0
- package/es/modules/unit/components/NewUnitForm/state.js +49 -0
- package/es/modules/unit/components/NewUnitForm/state.js.map +1 -0
- package/es/modules/unit/components/SortableTreeUnitTheme/index.d.ts +4 -0
- package/es/modules/unit/components/SortableTreeUnitTheme/index.js +23 -0
- package/es/modules/unit/components/SortableTreeUnitTheme/index.js.map +1 -0
- package/es/modules/unit/components/SortableTreeUnitTheme/node-content-renderer.d.ts +3 -0
- package/es/modules/unit/components/SortableTreeUnitTheme/node-content-renderer.js +58 -0
- package/es/modules/unit/components/SortableTreeUnitTheme/node-content-renderer.js.map +1 -0
- package/es/modules/unit/components/SortableTreeUnitTheme/node-content-renderer.less +46 -0
- package/es/modules/unit/components/SortableTreeUnitTheme/tree-node-renderer.d.ts +3 -0
- package/es/modules/unit/components/SortableTreeUnitTheme/tree-node-renderer.js +73 -0
- package/es/modules/unit/components/SortableTreeUnitTheme/tree-node-renderer.js.map +1 -0
- package/es/modules/unit/components/SortableTreeUnitTheme/tree-node-renderer.less +12 -0
- package/es/modules/unit/components/SubUnitList/index.d.ts +5 -0
- package/es/modules/unit/components/SubUnitList/index.js +77 -0
- package/es/modules/unit/components/SubUnitList/index.js.map +1 -0
- package/es/modules/unit/components/SubUnitList/index.less +13 -0
- package/es/modules/unit/components/SubUnitList/state.d.ts +17 -0
- package/es/modules/unit/components/SubUnitList/state.js +41 -0
- package/es/modules/unit/components/SubUnitList/state.js.map +1 -0
- package/es/modules/unit/components/UnitAvatar/index.d.ts +1 -0
- package/es/modules/unit/components/UnitAvatar/index.js +4 -3
- package/es/modules/unit/components/UnitAvatar/index.js.map +1 -1
- package/es/modules/unit/components/UnitAvatar/index.less +2 -3
- package/es/modules/unit/components/UnitDetails/index.js +98 -7
- package/es/modules/unit/components/UnitDetails/index.js.map +1 -1
- package/es/modules/unit/components/UnitDetails/index.less +41 -5
- package/es/modules/unit/components/UnitDetails/state.d.ts +8 -0
- package/es/modules/unit/components/UnitDetails/state.js +24 -0
- package/es/modules/unit/components/UnitDetails/state.js.map +1 -0
- package/es/modules/unit/components/UnitHead/index.d.ts +2 -0
- package/es/modules/unit/components/UnitHead/index.js +31 -7
- package/es/modules/unit/components/UnitHead/index.js.map +1 -1
- package/es/modules/unit/components/UnitHead/index.less +18 -3
- package/es/modules/unit/components/UnitHead/state.d.ts +11 -0
- package/es/modules/unit/components/UnitHead/state.js +8 -0
- package/es/modules/unit/components/UnitHead/state.js.map +1 -0
- package/es/modules/unit/components/UnitItem/DefaultUnitItem.d.ts +4 -0
- package/es/modules/unit/components/UnitItem/DefaultUnitItem.js +29 -0
- package/es/modules/unit/components/UnitItem/DefaultUnitItem.js.map +1 -0
- package/es/modules/unit/components/UnitItem/SubUnitItem.d.ts +4 -0
- package/es/modules/unit/components/UnitItem/SubUnitItem.js +35 -0
- package/es/modules/unit/components/UnitItem/SubUnitItem.js.map +1 -0
- package/es/modules/unit/components/UnitItem/index.less +23 -5
- package/es/modules/unit/components/UnitItem/state.d.ts +20 -0
- package/es/modules/unit/components/UnitItem/state.js +20 -0
- package/es/modules/unit/components/UnitItem/state.js.map +1 -0
- package/es/modules/unit/components/UnitList/index.d.ts +4 -0
- package/es/modules/unit/components/UnitList/index.js +35 -0
- package/es/modules/unit/components/UnitList/index.js.map +1 -0
- package/es/modules/unit/components/UnitList/state.d.ts +15 -0
- package/es/modules/unit/components/UnitList/state.js +31 -0
- package/es/modules/unit/components/UnitList/state.js.map +1 -0
- package/es/modules/unit/components/UnitPropertiesView/index.d.ts +6 -0
- package/es/modules/unit/components/UnitPropertiesView/index.js +22 -0
- package/es/modules/unit/components/UnitPropertiesView/index.js.map +1 -0
- package/es/modules/unit/components/UnitSortableTree/index.d.ts +10 -0
- package/es/modules/unit/components/UnitSortableTree/index.js +54 -0
- package/es/modules/unit/components/UnitSortableTree/index.js.map +1 -0
- package/es/modules/unit/components/UnitSortableTree/state.d.ts +50 -0
- package/es/modules/unit/components/UnitSortableTree/state.js +151 -0
- package/es/modules/unit/components/UnitSortableTree/state.js.map +1 -0
- package/es/modules/unit/components/UnitTabs/index.d.ts +6 -0
- package/es/modules/unit/components/UnitTabs/index.js +27 -0
- package/es/modules/unit/components/UnitTabs/index.js.map +1 -0
- package/es/modules/unit/controls/QuickDataIcon/UnitTeamsIcon/index.d.ts +6 -0
- package/es/modules/unit/controls/QuickDataIcon/UnitTeamsIcon/index.js +32 -0
- package/es/modules/unit/controls/QuickDataIcon/UnitTeamsIcon/index.js.map +1 -0
- package/es/modules/unit/{components → controls}/QuickDataIcon/index.d.ts +1 -5
- package/es/modules/unit/controls/QuickDataIcon/index.js +36 -0
- package/es/modules/unit/controls/QuickDataIcon/index.js.map +1 -0
- package/es/modules/unit/controls/QuickDataIcon/index.less +0 -0
- package/es/modules/unit/controls/ToolBar/ContactMenu/index.d.ts +13 -0
- package/es/modules/unit/controls/ToolBar/ContactMenu/index.js +59 -0
- package/es/modules/unit/controls/ToolBar/ContactMenu/index.js.map +1 -0
- package/es/modules/unit/controls/ToolBar/ContactMenu/index.less +20 -0
- package/es/modules/unit/controls/ToolBar/ContactMenu/state.d.ts +34 -0
- package/es/modules/unit/controls/ToolBar/ContactMenu/state.js +71 -0
- package/es/modules/unit/controls/ToolBar/ContactMenu/state.js.map +1 -0
- package/es/modules/unit/controls/ToolBar/index.d.ts +12 -0
- package/es/modules/unit/controls/ToolBar/index.js +54 -0
- package/es/modules/unit/controls/ToolBar/index.js.map +1 -0
- package/es/modules/unit/controls/ToolBar/index.less +18 -0
- package/es/modules/unit/controls/ToolBar/state.d.ts +40 -0
- package/es/modules/unit/controls/ToolBar/state.js +50 -0
- package/es/modules/unit/controls/ToolBar/state.js.map +1 -0
- package/es/modules/unit/controls/UnitTypeFilter/index.d.ts +3 -0
- package/es/modules/unit/controls/UnitTypeFilter/index.js +21 -0
- package/es/modules/unit/controls/UnitTypeFilter/index.js.map +1 -0
- package/es/modules/unit/controls/UnitTypeFilter/state.d.ts +18 -0
- package/es/modules/unit/controls/UnitTypeFilter/state.js +63 -0
- package/es/modules/unit/controls/UnitTypeFilter/state.js.map +1 -0
- package/es/modules/unit/data/ContactStore.d.ts +82 -0
- package/es/modules/unit/data/ContactStore.js +140 -0
- package/es/modules/unit/data/ContactStore.js.map +1 -0
- package/es/modules/unit/data/FileStore/FileContext.d.ts +6 -0
- package/es/modules/unit/data/FileStore/FileContext.js +40 -0
- package/es/modules/unit/data/FileStore/FileContext.js.map +1 -0
- package/es/modules/unit/data/FileStore/index.d.ts +1 -0
- package/es/modules/unit/data/FileStore/index.js +2 -0
- package/es/modules/unit/data/FileStore/index.js.map +1 -0
- package/es/modules/unit/data/StoreContext/index.d.ts +3 -0
- package/es/modules/unit/data/StoreContext/index.js +4 -0
- package/es/modules/unit/data/StoreContext/index.js.map +1 -0
- package/es/modules/unit/data/UnitContext/index.d.ts +20 -0
- package/es/modules/unit/data/UnitContext/index.js +32 -0
- package/es/modules/unit/data/UnitContext/index.js.map +1 -0
- package/es/modules/unit/data/hooks.d.ts +24 -0
- package/es/modules/unit/data/hooks.js +65 -0
- package/es/modules/unit/data/hooks.js.map +1 -0
- package/es/modules/unit/data/index.d.ts +3 -0
- package/es/modules/unit/data/index.js +3 -0
- package/es/modules/unit/data/index.js.map +1 -0
- package/es/modules/unit/data/interfaces/IAddress.d.ts +14 -0
- package/es/modules/unit/data/interfaces/IAddress.js +1 -0
- package/es/modules/unit/data/interfaces/IAddress.js.map +1 -0
- package/es/modules/unit/data/interfaces/IContact.d.ts +45 -0
- package/es/modules/unit/data/interfaces/IContact.js +1 -0
- package/es/modules/unit/data/interfaces/IContact.js.map +1 -0
- package/es/modules/unit/data/interfaces/IEntityName.d.ts +6 -0
- package/es/modules/unit/data/interfaces/IEntityName.js +1 -0
- package/es/modules/unit/data/interfaces/IEntityName.js.map +1 -0
- package/es/modules/unit/data/interfaces/index.d.ts +3 -0
- package/es/modules/unit/data/interfaces/index.js +1 -0
- package/es/modules/unit/data/interfaces/index.js.map +1 -0
- package/es/modules/unit/pages/UnitDefaultView/index.d.ts +3 -0
- package/es/modules/unit/pages/UnitDefaultView/index.js +47 -0
- package/es/modules/unit/pages/UnitDefaultView/index.js.map +1 -0
- package/es/modules/unit/pages/UnitDefaultView/index.less +17 -0
- package/es/modules/unit/pages/UnitListView/index.d.ts +3 -0
- package/es/modules/unit/pages/UnitListView/index.js +10 -0
- package/es/modules/unit/pages/UnitListView/index.js.map +1 -0
- package/es/modules/unit/pages/UnitTreeView/index.d.ts +3 -0
- package/es/modules/unit/pages/UnitTreeView/index.js +47 -0
- package/es/modules/unit/pages/UnitTreeView/index.js.map +1 -0
- package/es/modules/unit/pages/UnitTreeView/index.less +31 -0
- package/es/modules/unit/pages/UnitTreeView/state.d.ts +5 -0
- package/es/modules/unit/pages/UnitTreeView/state.js +14 -0
- package/es/modules/unit/pages/UnitTreeView/state.js.map +1 -0
- package/es/pages/TreeViewPage/index.js +27 -20
- package/es/pages/TreeViewPage/index.js.map +1 -1
- package/es/pages/TreeViewPage/index.less +28 -19
- package/es/pages/TreeViewPage/state.d.ts +5 -0
- package/es/pages/TreeViewPage/state.js +14 -0
- package/es/pages/TreeViewPage/state.js.map +1 -0
- package/es/routes.d.ts +18 -0
- package/es/routes.js +40 -1
- package/es/routes.js.map +1 -1
- package/package.json +3 -1
- package/es/controls/DocumentTypeFilter/index.js +0 -54
- package/es/controls/DocumentTypeFilter/index.js.map +0 -1
- package/es/modules/unit/components/QuickDataIcon/UnitTeamsIcon/index.d.ts +0 -14
- package/es/modules/unit/components/QuickDataIcon/UnitTeamsIcon/index.js +0 -28
- package/es/modules/unit/components/QuickDataIcon/UnitTeamsIcon/index.js.map +0 -1
- package/es/modules/unit/components/QuickDataIcon/index.js +0 -45
- package/es/modules/unit/components/QuickDataIcon/index.js.map +0 -1
- package/es/modules/unit/components/UnitItem/index.d.ts +0 -6
- package/es/modules/unit/components/UnitItem/index.js +0 -19
- package/es/modules/unit/components/UnitItem/index.js.map +0 -1
- /package/es/modules/unit/components/{QuickDataIcon → UnitList}/index.less +0 -0
- /package/es/{controls/DocumentTypeFilter/index.d.ts → modules/unit/components/UnitPropertiesView/index.less} +0 -0
- /package/es/modules/unit/{components → controls}/QuickDataIcon/UnitTeamsIcon/index.less +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import UnitDetails from "../UnitDetails";
|
|
3
|
+
import UnitHead from "../UnitHead";
|
|
4
|
+
import UnitTabs from "../UnitTabs";
|
|
5
|
+
import { useObserver } from "mobx-react-lite";
|
|
6
|
+
/** Unit PropertiesView */
|
|
7
|
+
const UnitPropertiesView = (props) => {
|
|
8
|
+
const id = props.id;
|
|
9
|
+
const [loaded, setLoaded] = useState(true);
|
|
10
|
+
return useObserver(() => (React.createElement("div", { className: "module-detail-view" }, loaded && (React.createElement(React.Fragment, null,
|
|
11
|
+
React.createElement(UnitHead, { id: id, onReload: onReload }),
|
|
12
|
+
React.createElement(UnitTabs, { id: id, details: React.createElement(UnitDetails, { id: id }) }))))));
|
|
13
|
+
/** reload data */
|
|
14
|
+
function onReload() {
|
|
15
|
+
setLoaded(false);
|
|
16
|
+
setTimeout(() => {
|
|
17
|
+
setLoaded(true);
|
|
18
|
+
}, 100);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
export default UnitPropertiesView;
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/unit/components/UnitPropertiesView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,0BAA0B;AAC1B,MAAM,kBAAkB,GAAG,CAAC,KAAqB,EAAE,EAAE;IACpD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,6BAAK,SAAS,EAAC,oBAAoB,IACjC,MAAM,IAAI,CACV,oBAAC,KAAK,CAAC,QAAQ;QACd,oBAAC,QAAQ,IAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAI;QACxC,oBAAC,QAAQ,IAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAC,WAAW,IAAC,EAAE,EAAE,EAAE,GAAI,GAAI,CACtC,CACjB,CACI,CACN,CAAC,CAAC;IAEH,kBAAkB;IAClB,SAAS,QAAQ;QAChB,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,UAAU,CAAC,GAAG,EAAE;YACf,SAAS,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;AACF,CAAC,CAAC;AACF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { UnitSortableTreeProps } from "./state";
|
|
3
|
+
declare const UnitSortableTree: {
|
|
4
|
+
(props: UnitSortableTreeProps): JSX.Element;
|
|
5
|
+
defaultProps: {
|
|
6
|
+
canDrag: boolean;
|
|
7
|
+
theme: import("react-sortable-tree").ThemeProps;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export default UnitSortableTree;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
|
2
|
+
import { State } from "./state";
|
|
3
|
+
import { UnitContext, UnitContextState } from "../../data/UnitContext";
|
|
4
|
+
import { useContact, useContactListEffect, useContactStore } from "../../data";
|
|
5
|
+
import { Scrollbars } from "react-custom-scrollbars";
|
|
6
|
+
import SortableTree from "react-sortable-tree";
|
|
7
|
+
import SortableTreeUnitTheme from "../SortableTreeUnitTheme";
|
|
8
|
+
import { useObserver } from "mobx-react-lite";
|
|
9
|
+
const UnitSortableTree = (props) => {
|
|
10
|
+
const { theme, canDrag } = props;
|
|
11
|
+
const store = useContactStore();
|
|
12
|
+
const [state] = useState(new State(store));
|
|
13
|
+
/**把store 传给子级 UnitItem*/
|
|
14
|
+
const [options] = useState(new UnitContextState());
|
|
15
|
+
options.onUnitSelected = props.onUnitSelected;
|
|
16
|
+
/** 根文件 */
|
|
17
|
+
const root = useContact(props.id);
|
|
18
|
+
useObserver(() => {
|
|
19
|
+
if (root.loaded && !state.treeData.length) {
|
|
20
|
+
// if (root.documents! > 0) {
|
|
21
|
+
root.children = state.treeChildren;
|
|
22
|
+
// }
|
|
23
|
+
root.loaded = false;
|
|
24
|
+
state.treeData = [{ ...root }];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
var _a;
|
|
29
|
+
state.filterType = props.filterType;
|
|
30
|
+
if ((_a = state.treeData[0]) === null || _a === void 0 ? void 0 : _a.loaded) {
|
|
31
|
+
state.id = state.treeData[0].id;
|
|
32
|
+
state.treeData[0].children = [];
|
|
33
|
+
state.treeData = [...state.treeData];
|
|
34
|
+
state.treeNodeChildren = state.treeData[0];
|
|
35
|
+
state.treeNodeChildren.loaded = true;
|
|
36
|
+
state.treeNodeChildren.loading = true;
|
|
37
|
+
state.effect = state.updateNodes;
|
|
38
|
+
}
|
|
39
|
+
}, [props.filterType]);
|
|
40
|
+
useContactListEffect(null, state.effect, {
|
|
41
|
+
Filters: state.filters
|
|
42
|
+
});
|
|
43
|
+
/** isVirtualized={false} 可以解决滚动时,重新渲染UnitItem组件
|
|
44
|
+
* 设置为false可禁用虚拟化。默认为true。注意:拖动时自动滚动以及滚动到searchFocusOffset都将被禁用。*/
|
|
45
|
+
return useObserver(() => (React.createElement(UnitContext.Provider, { value: options },
|
|
46
|
+
React.createElement(Scrollbars, { autoHide: true },
|
|
47
|
+
React.createElement(SortableTree, { isVirtualized: false, treeData: state.treeData, onChange: (val) => state.updateTreeData(val), getNodeKey: ({ node }) => node.id, onVisibilityToggle: (val) => state.onVisibilityToggle(val), onMoveNode: (val) => state.onMoveNode(val), canDrop: ({ nextPath }) => ((nextPath === null || nextPath === void 0 ? void 0 : nextPath.length) > 1 ? true : false), canNodeHaveChildren: (node) => state.toHaveChildren(node), canDrag: canDrag, theme: theme })))));
|
|
48
|
+
};
|
|
49
|
+
UnitSortableTree.defaultProps = {
|
|
50
|
+
canDrag: true,
|
|
51
|
+
theme: SortableTreeUnitTheme
|
|
52
|
+
};
|
|
53
|
+
export default UnitSortableTree;
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/unit/components/UnitSortableTree/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,KAAK,EAAyB,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE/E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,qBAAqB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;IACzD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3C,yBAAyB;IACzB,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,cAAe,CAAC;IAE/C,UAAU;IACV,MAAM,IAAI,GAAQ,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,WAAW,CAAC,GAAG,EAAE;QAChB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC1C,6BAA6B;YAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC;YACnC,IAAI;YACJ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;SAC/B;IACF,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;;QACd,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,UAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,EAAE;YAC9B,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;YAChC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3C,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC;YACrC,KAAK,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;YACtC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;SACjC;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvB,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE;QACxC,OAAO,EAAE,KAAK,CAAC,OAAO;KACtB,CAAC,CAAC;IAEH;sEACkE;IAClE,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO;QACnC,oBAAC,UAAU,IAAC,QAAQ;YACnB,oBAAC,YAAY,IACZ,aAAa,EAAE,KAAK,EACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EACjD,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EACjC,kBAAkB,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAC/D,UAAU,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAC/C,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAChE,mBAAmB,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAC9D,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACX,CACU,CACS,CACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,gBAAgB,CAAC,YAAY,GAAG;IAC/B,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,qBAAqB;CAC5B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ContactStore, IContact } from "../../data";
|
|
2
|
+
import { FilterOption } from "@voplus/morpho-data";
|
|
3
|
+
export declare type UnitSortableTreeProps = {
|
|
4
|
+
id: string;
|
|
5
|
+
/** Unit Tree theme */
|
|
6
|
+
theme?: any;
|
|
7
|
+
/** 是否可以拖放 */
|
|
8
|
+
canDrag?: boolean;
|
|
9
|
+
filterType?: FilterOption;
|
|
10
|
+
/** Unit selected */
|
|
11
|
+
onUnitSelected?: (params?: any) => void;
|
|
12
|
+
};
|
|
13
|
+
export interface ITreeNodeData extends IContact {
|
|
14
|
+
/** node expanded 与否 */
|
|
15
|
+
expanded?: boolean;
|
|
16
|
+
children?: ITreeNodeData[];
|
|
17
|
+
}
|
|
18
|
+
export declare class State {
|
|
19
|
+
private _store;
|
|
20
|
+
constructor(_store: ContactStore);
|
|
21
|
+
id: string;
|
|
22
|
+
/** 如果effect 是null就不执行 useUnitListEffect*/
|
|
23
|
+
effect: (list: IContact[]) => void | null;
|
|
24
|
+
treeNodeChildren: any;
|
|
25
|
+
/** dummy placeholder data */
|
|
26
|
+
treeChildren: ITreeNodeData[];
|
|
27
|
+
/** 沒load之前, 看看現在這個文件有沒有子文件, 有的話要放個 dummy placeholder data 在children里, */
|
|
28
|
+
treeData: ITreeNodeData[];
|
|
29
|
+
/** filter type for unit */
|
|
30
|
+
filterType: FilterOption | undefined;
|
|
31
|
+
/** 根据path查找文件 */
|
|
32
|
+
findFiles(path: string[]): any;
|
|
33
|
+
/** 更新 TreeData */
|
|
34
|
+
updateTreeData(val: any): void;
|
|
35
|
+
/** update useUnitListEffect */
|
|
36
|
+
updateNodes: (list: IContact[]) => void;
|
|
37
|
+
/**在子节点折叠或者展开后调用*/
|
|
38
|
+
onVisibilityToggle(val: any): void;
|
|
39
|
+
/** 在节点移动操作之后调用 */
|
|
40
|
+
onMoveNode(val: any): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* 确定节点是否可以具有子级的功能,对于在canDrop有条件时防止悬停预览很有用。默认设置为返回的函数true。函数应为类型(node): bool
|
|
43
|
+
*/
|
|
44
|
+
toHaveChildren(node: any): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* unit filters
|
|
47
|
+
* @return unit filters
|
|
48
|
+
*/
|
|
49
|
+
get filters(): any[];
|
|
50
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { action, computed, observable } from "mobx";
|
|
3
|
+
export class State {
|
|
4
|
+
constructor(_store) {
|
|
5
|
+
this._store = _store;
|
|
6
|
+
this.id = ""; //加载时id
|
|
7
|
+
/** 如果effect 是null就不执行 useUnitListEffect*/
|
|
8
|
+
this.effect = null;
|
|
9
|
+
/** dummy placeholder data */
|
|
10
|
+
this.treeChildren = [
|
|
11
|
+
{
|
|
12
|
+
id: "0-1",
|
|
13
|
+
containerId: "11",
|
|
14
|
+
name: "dummy placeholder data",
|
|
15
|
+
type: "Organization",
|
|
16
|
+
isGroup: false,
|
|
17
|
+
address: { country: "", line1: "" },
|
|
18
|
+
primaryLegalIdentity: { number: "", name: "", type: "IdentityCard", country: "" }
|
|
19
|
+
}
|
|
20
|
+
];
|
|
21
|
+
/** 沒load之前, 看看現在這個文件有沒有子文件, 有的話要放個 dummy placeholder data 在children里, */
|
|
22
|
+
this.treeData = [];
|
|
23
|
+
/** update useUnitListEffect */
|
|
24
|
+
this.updateNodes = (list) => {
|
|
25
|
+
if (this.treeNodeChildren && this.treeNodeChildren.loading) {
|
|
26
|
+
const docList = list;
|
|
27
|
+
docList.map((item) => {
|
|
28
|
+
// if (item.documents > 0) {
|
|
29
|
+
item.children = this.treeChildren;
|
|
30
|
+
// }
|
|
31
|
+
});
|
|
32
|
+
this.treeNodeChildren.children = docList || [];
|
|
33
|
+
this.treeNodeChildren.loading = false;
|
|
34
|
+
this.treeData = [...this.treeData];
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** 根据path查找文件 */
|
|
39
|
+
findFiles(path) {
|
|
40
|
+
var _a;
|
|
41
|
+
let list;
|
|
42
|
+
for (let i = 0; i < path.length; i++) {
|
|
43
|
+
if (i == 0) {
|
|
44
|
+
list = this.treeData.filter(item => item.id === path[i]);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
list = (_a = list[0].children) === null || _a === void 0 ? void 0 : _a.filter((item) => item.id === path[i]);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return (list === null || list === void 0 ? void 0 : list.length) ? list[0] : null;
|
|
51
|
+
}
|
|
52
|
+
/** 更新 TreeData */
|
|
53
|
+
updateTreeData(val) {
|
|
54
|
+
this.treeData = val;
|
|
55
|
+
}
|
|
56
|
+
/**在子节点折叠或者展开后调用*/
|
|
57
|
+
onVisibilityToggle(val) {
|
|
58
|
+
if (!val.expanded || val.node.loaded)
|
|
59
|
+
return;
|
|
60
|
+
this.id = val.path[val.path.length - 1];
|
|
61
|
+
this.treeNodeChildren = this.findFiles(val.path);
|
|
62
|
+
/** 已经加载过,不用再重新去加载 */
|
|
63
|
+
this.treeNodeChildren.loaded = true;
|
|
64
|
+
/** 加载中 */
|
|
65
|
+
this.treeNodeChildren.loading = true;
|
|
66
|
+
this.treeNodeChildren.children = [];
|
|
67
|
+
this.effect = this.updateNodes;
|
|
68
|
+
}
|
|
69
|
+
/** 在节点移动操作之后调用 */
|
|
70
|
+
async onMoveNode(val) {
|
|
71
|
+
const id = val.nextPath[val.nextPath.length - 1];
|
|
72
|
+
const leg = val.nextParentNode.children.indexOf(val.node);
|
|
73
|
+
const afterId = leg - 1 >= 0 ? val.nextParentNode.children[leg - 1].id : "";
|
|
74
|
+
const nextParent = this.findFiles(val.nextPath.slice(0, -1));
|
|
75
|
+
const prevParent = this.findFiles(val.prevPath.slice(0, -1));
|
|
76
|
+
/** 判断下一个父级 与 上一个父级 是不是同一个 */
|
|
77
|
+
if (nextParent.id === prevParent.id) {
|
|
78
|
+
this._store.moveAfter(id, afterId);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
await this._store.move([id], nextParent.id);
|
|
82
|
+
if (afterId !== "") {
|
|
83
|
+
this._store.moveAfter(id, afterId);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 确定节点是否可以具有子级的功能,对于在canDrop有条件时防止悬停预览很有用。默认设置为返回的函数true。函数应为类型(node): bool
|
|
89
|
+
*/
|
|
90
|
+
toHaveChildren(node) {
|
|
91
|
+
const isLoaded = node.loaded ? node.loaded : false;
|
|
92
|
+
if (node.documents !== 0 && !isLoaded) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* unit filters
|
|
99
|
+
* @return unit filters
|
|
100
|
+
*/
|
|
101
|
+
get filters() {
|
|
102
|
+
const filters = [];
|
|
103
|
+
if (this.id) {
|
|
104
|
+
filters.push({ c: "ParentNodeId", o: "=", l: "And", v1: this.id });
|
|
105
|
+
}
|
|
106
|
+
if (this.filterType) {
|
|
107
|
+
filters.push(this.filterType);
|
|
108
|
+
}
|
|
109
|
+
return filters;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
__decorate([
|
|
113
|
+
observable
|
|
114
|
+
], State.prototype, "id", void 0);
|
|
115
|
+
__decorate([
|
|
116
|
+
observable
|
|
117
|
+
], State.prototype, "effect", void 0);
|
|
118
|
+
__decorate([
|
|
119
|
+
observable
|
|
120
|
+
], State.prototype, "treeNodeChildren", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
observable
|
|
123
|
+
], State.prototype, "treeChildren", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
observable
|
|
126
|
+
], State.prototype, "treeData", void 0);
|
|
127
|
+
__decorate([
|
|
128
|
+
observable
|
|
129
|
+
], State.prototype, "filterType", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
action
|
|
132
|
+
], State.prototype, "findFiles", null);
|
|
133
|
+
__decorate([
|
|
134
|
+
action
|
|
135
|
+
], State.prototype, "updateTreeData", null);
|
|
136
|
+
__decorate([
|
|
137
|
+
action
|
|
138
|
+
], State.prototype, "updateNodes", void 0);
|
|
139
|
+
__decorate([
|
|
140
|
+
action
|
|
141
|
+
], State.prototype, "onVisibilityToggle", null);
|
|
142
|
+
__decorate([
|
|
143
|
+
action
|
|
144
|
+
], State.prototype, "onMoveNode", null);
|
|
145
|
+
__decorate([
|
|
146
|
+
action
|
|
147
|
+
], State.prototype, "toHaveChildren", null);
|
|
148
|
+
__decorate([
|
|
149
|
+
computed
|
|
150
|
+
], State.prototype, "filters", null);
|
|
151
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/unit/components/UnitSortableTree/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
|
2
|
+
import ActivityLog from "../ActivityLog";
|
|
3
|
+
import DocumentList from "../../../../components/DocumentList";
|
|
4
|
+
import SubUnitList from "../SubUnitList";
|
|
5
|
+
import { Tabs } from "@voplus/antd";
|
|
6
|
+
import { useContact } from "../../data";
|
|
7
|
+
import { useObserver } from "mobx-react-lite";
|
|
8
|
+
const UnitTabs = (props) => {
|
|
9
|
+
const { id, details } = props;
|
|
10
|
+
const contact = useContact(id);
|
|
11
|
+
/**Tabs 当前激活 tab 面板的 key */
|
|
12
|
+
const [activeKey, setActiveKey] = useState(details ? "Details" : "SubUnit");
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
setActiveKey(details ? "Details" : "SubUnit");
|
|
15
|
+
}, [id]);
|
|
16
|
+
return useObserver(() => (React.createElement(Tabs, { activeKey: activeKey, onChange: onChange },
|
|
17
|
+
details && (React.createElement(Tabs.TabPane, { tab: "Details", key: "Details" }, details)),
|
|
18
|
+
React.createElement(Tabs.TabPane, { tab: "SubUnit", key: "SubUnit" }, activeKey === "SubUnit" && React.createElement(SubUnitList, { parentId: id })),
|
|
19
|
+
React.createElement(Tabs.TabPane, { tab: "Document", key: "Document" }, activeKey === "Document" && (React.createElement(DocumentList, { id: contact.containerId, parentName: contact.name, multiple: true }))),
|
|
20
|
+
React.createElement(Tabs.TabPane, { tab: "Activities", key: "Activities" }, activeKey === "Activities" && React.createElement(ActivityLog, { id: id })))));
|
|
21
|
+
/**切换面板的回调*/
|
|
22
|
+
function onChange(activeKey) {
|
|
23
|
+
setActiveKey(activeKey);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
export default UnitTabs;
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/unit/components/UnitTabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAC/D,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,QAAQ,GAAG,CAAC,KAGjB,EAAE,EAAE;IACJ,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/B,2BAA2B;IAC3B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5E,SAAS,CAAC,GAAG,EAAE;QACd,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,IAAI,IAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;QAC5C,OAAO,IAAI,CACX,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAC,SAAS,EAAC,GAAG,EAAC,SAAS,IACvC,OAAO,CACM,CACf;QACD,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAC,SAAS,EAAC,GAAG,EAAC,SAAS,IACvC,SAAS,KAAK,SAAS,IAAI,oBAAC,WAAW,IAAC,QAAQ,EAAE,EAAE,GAAI,CAC3C;QACf,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAC,UAAU,EAAC,GAAG,EAAC,UAAU,IACzC,SAAS,KAAK,UAAU,IAAI,CAC5B,oBAAC,YAAY,IAAC,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,SAAG,CAC5E,CACa;QACf,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAC,YAAY,EAAC,GAAG,EAAC,YAAY,IAC7C,SAAS,KAAK,YAAY,IAAI,oBAAC,WAAW,IAAC,EAAE,EAAE,EAAE,GAAI,CACxC,CACT,CACP,CAAC,CAAC;IAEH,YAAY;IACZ,SAAS,QAAQ,CAAC,SAAiB;QAClC,YAAY,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import "./index.less";
|
|
2
|
+
import { Popover } from "@voplus/antd";
|
|
3
|
+
import React, { useState } from "react";
|
|
4
|
+
import AvatarItem from "../../../../../components/AvatarList/AvatarItem";
|
|
5
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
|
6
|
+
import { faUsers } from "@fortawesome/pro-light-svg-icons";
|
|
7
|
+
import { useContactListEffect } from "../../../data";
|
|
8
|
+
const UnitTeamsIcon = (props) => {
|
|
9
|
+
const { id } = props;
|
|
10
|
+
const [teams, setTeams] = useState([]);
|
|
11
|
+
useContactListEffect(null, list => {
|
|
12
|
+
setTeams(list);
|
|
13
|
+
}, {
|
|
14
|
+
Filters: [
|
|
15
|
+
{ c: "ParentNodeId", o: "=", l: "And", v1: id },
|
|
16
|
+
{
|
|
17
|
+
c: "Type",
|
|
18
|
+
o: "contains",
|
|
19
|
+
l: "And",
|
|
20
|
+
v1: "['Team']"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
});
|
|
24
|
+
return (React.createElement(React.Fragment, null, !!(teams && teams.length) ? (React.createElement(Popover, { placement: "bottom", title: "Teams", content: React.createElement(React.Fragment, null, teams.map((team, index) => (React.createElement(AvatarItem, { id: team.id, key: team.id, index: index })))) },
|
|
25
|
+
React.createElement("span", { className: "user-quick-icon" },
|
|
26
|
+
React.createElement(FAIcon, { icon: faUsers }),
|
|
27
|
+
teams.length))) : (React.createElement("span", { className: "user-quick-icon" },
|
|
28
|
+
React.createElement(FAIcon, { icon: faUsers }),
|
|
29
|
+
"0"))));
|
|
30
|
+
};
|
|
31
|
+
export default UnitTeamsIcon;
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/unit/controls/QuickDataIcon/UnitTeamsIcon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAU,OAAO,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,UAAU,MAAM,iDAAiD,CAAC;AACzE,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,aAAa,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC/C,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IACrB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAM,EAAE,CAAC,CAAC;IAE5C,oBAAoB,CACnB,IAAI,EACJ,IAAI,CAAC,EAAE;QACN,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,EACD;QACC,OAAO,EAAE;YACR,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;YAC/C;gBACC,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,UAAU;gBACb,CAAC,EAAE,KAAK;gBACR,EAAE,EAAE,UAAU;aACd;SACD;KACD,CACD,CAAC;IAEF,OAAO,CACN,oBAAC,KAAK,CAAC,QAAQ,QACb,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC5B,oBAAC,OAAO,IACP,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,OAAO,EACb,OAAO,EACN,oBAAC,KAAK,CAAC,QAAQ,QACb,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE,CAAC,CACxC,oBAAC,UAAU,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,GAAI,CACvD,CAAC,CACc;QAGlB,8BAAM,SAAS,EAAC,iBAAiB;YAChC,oBAAC,MAAM,IAAC,IAAI,EAAE,OAAO,GAAI;YACxB,KAAK,CAAC,MAAM,CACP,CACE,CACV,CAAC,CAAC,CAAC,CACH,8BAAM,SAAS,EAAC,iBAAiB;QAChC,oBAAC,MAAM,IAAC,IAAI,EAAE,OAAO,GAAI;YACnB,CACP,CACe,CACjB,CAAC;AACH,CAAC,CAAC;AACF,eAAe,aAAa,CAAC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import "./index.less";
|
|
3
|
-
import { IContact } from "
|
|
3
|
+
import { IContact } from "../../data";
|
|
4
4
|
export interface IData extends IContact {
|
|
5
|
-
/** Number of task */
|
|
6
|
-
taskNumbers?: number;
|
|
7
|
-
/** Number of incomplete of task */
|
|
8
|
-
incompleteTaskNumbers?: number;
|
|
9
5
|
documents?: number;
|
|
10
6
|
comments?: number;
|
|
11
7
|
users?: number;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import "./index.less";
|
|
2
|
+
import { useContact } from "../../data";
|
|
3
|
+
import { faCommentDots, faListAlt, faListOl, faPaperclip, faUsers } from "@fortawesome/pro-light-svg-icons";
|
|
4
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { Tooltip } from "@voplus/antd";
|
|
7
|
+
import UnitTeamsIcon from "./UnitTeamsIcon";
|
|
8
|
+
import { library } from "@fortawesome/fontawesome-svg-core";
|
|
9
|
+
library.add(faCommentDots, faListAlt, faListOl, faPaperclip, faUsers);
|
|
10
|
+
const QuickDataIcon = (props) => {
|
|
11
|
+
const { id, tip } = props;
|
|
12
|
+
const document = useContact(id);
|
|
13
|
+
const { documents, comments } = document;
|
|
14
|
+
const list = [
|
|
15
|
+
{
|
|
16
|
+
name: "Document",
|
|
17
|
+
icon: ["fal", "paperclip"],
|
|
18
|
+
num: documents || 0
|
|
19
|
+
},
|
|
20
|
+
{ name: "Comment", icon: ["fal", "comment-dots"], num: comments || 0 }
|
|
21
|
+
];
|
|
22
|
+
return (React.createElement(React.Fragment, null,
|
|
23
|
+
list.map(item => tip ? (React.createElement(Tooltip, { key: item.name, title: item.name },
|
|
24
|
+
React.createElement("span", { className: "quick-data-icon", onClick: () => (item.name === "Document" ? props.onClick() : null) },
|
|
25
|
+
React.createElement(FAIcon, { icon: item.icon }),
|
|
26
|
+
item.num))) : (React.createElement("span", { className: "quick-data-icon" },
|
|
27
|
+
React.createElement(FAIcon, { icon: item.icon }),
|
|
28
|
+
item.num))),
|
|
29
|
+
React.createElement(UnitTeamsIcon, { id: id })));
|
|
30
|
+
};
|
|
31
|
+
QuickDataIcon.defaultProps = {
|
|
32
|
+
tip: true,
|
|
33
|
+
includes: ""
|
|
34
|
+
};
|
|
35
|
+
export default QuickDataIcon;
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/unit/controls/QuickDataIcon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAY,UAAU,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EACN,aAAa,EACb,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAE5D,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAQtE,MAAM,aAAa,GAAG,CAAC,KAKtB,EAAE,EAAE;IACJ,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAU,CAAC;IACzC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;IACzC,MAAM,IAAI,GAAG;QACZ;YACC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC;YAC1B,GAAG,EAAE,SAAS,IAAI,CAAC;SACnB;QACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,QAAQ,IAAI,CAAC,EAAE;KACtE,CAAC;IACF,OAAO,CACN,oBAAC,KAAK,CAAC,QAAQ;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAChB,GAAG,CAAC,CAAC,CAAC,CACL,oBAAC,OAAO,IAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI;YACxC,8BACC,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEnE,oBAAC,MAAM,IAAC,IAAI,EAAE,IAAI,CAAC,IAAW,GAAI;gBACjC,IAAI,CAAC,GAAG,CACH,CACE,CACV,CAAC,CAAC,CAAC,CACH,8BAAM,SAAS,EAAC,iBAAiB;YAChC,oBAAC,MAAM,IAAC,IAAI,EAAE,IAAI,CAAC,IAAW,GAAI;YACjC,IAAI,CAAC,GAAG,CACH,CACP,CACD;QACD,oBAAC,aAAa,IAAC,EAAE,EAAE,EAAE,GAAI,CACT,CACjB,CAAC;AACH,CAAC,CAAC;AACF,aAAa,CAAC,YAAY,GAAG;IAC5B,GAAG,EAAE,IAAI;IACT,QAAQ,EAAE,EAAE;CACZ,CAAC;AACF,eAAe,aAAa,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ContactMenuProps } from "./state";
|
|
3
|
+
/**unit 下拉更多功能Menu*/
|
|
4
|
+
declare const ContactMenu: {
|
|
5
|
+
(props: ContactMenuProps): JSX.Element;
|
|
6
|
+
defaultProps: {
|
|
7
|
+
edit: boolean;
|
|
8
|
+
del: boolean;
|
|
9
|
+
move: boolean;
|
|
10
|
+
paste: boolean;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export default ContactMenu;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Button, Dropdown, Menu } from "@voplus/antd";
|
|
2
|
+
import { State } from "./state";
|
|
3
|
+
import React, { useState } from "react";
|
|
4
|
+
import { faClone, faCut, faEllipsisV, faExternalLink, faFolderTree, faLock, faPaste, faPrint, faTrashAlt, faUnlock } from "@fortawesome/pro-light-svg-icons";
|
|
5
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
|
6
|
+
import { FileStore } from "../../../data/FileStore";
|
|
7
|
+
import classnames from "classnames";
|
|
8
|
+
import styles from "./index.less";
|
|
9
|
+
import { useContactStore } from "../../../data";
|
|
10
|
+
import { useLayout } from "@voplus/morpho-data";
|
|
11
|
+
import { useObserver } from "mobx-react-lite";
|
|
12
|
+
/**unit 下拉更多功能Menu*/
|
|
13
|
+
const ContactMenu = (props) => {
|
|
14
|
+
const store = useContactStore();
|
|
15
|
+
const [filestore] = useState(new FileStore());
|
|
16
|
+
const [state] = useState(new State(store, filestore));
|
|
17
|
+
state.layout = useLayout();
|
|
18
|
+
state.props = props;
|
|
19
|
+
const { edit, del, move, paste, open, shape, size, icon, lock, unlock, printPath } = props;
|
|
20
|
+
const menu = useObserver(() => (React.createElement(Menu, { className: styles["more-operate-dropdown"], onClick: (val) => state.moreOperate(val) },
|
|
21
|
+
edit && (React.createElement(Menu.Item, { key: "Edit" },
|
|
22
|
+
React.createElement(FAIcon, { icon: faClone, color: "#666", size: "sm" }),
|
|
23
|
+
React.createElement("span", { className: "type-name" }, "Edit"))),
|
|
24
|
+
move && (React.createElement(Menu.Item, { key: "Move" },
|
|
25
|
+
React.createElement(FAIcon, { icon: faCut, color: "#666", size: "sm" }),
|
|
26
|
+
React.createElement("span", { className: "type-name" }, "Move"))),
|
|
27
|
+
paste && (React.createElement(Menu.Item, { key: "Paste" },
|
|
28
|
+
React.createElement(FAIcon, { icon: faPaste, color: "#666", size: "sm" }),
|
|
29
|
+
React.createElement("span", { className: "type-name" }, "Paste"))),
|
|
30
|
+
lock && (React.createElement(Menu.Item, { key: "Lock" },
|
|
31
|
+
React.createElement(FAIcon, { icon: faLock, color: "#666", size: "sm" }),
|
|
32
|
+
React.createElement("span", { className: "type-name" }, "Lock"))),
|
|
33
|
+
unlock && (React.createElement(Menu.Item, { key: "Unlock" },
|
|
34
|
+
React.createElement(FAIcon, { icon: faUnlock, color: "#666", size: "sm" }),
|
|
35
|
+
React.createElement("span", { className: "type-name" }, "Unlock"))),
|
|
36
|
+
open && (React.createElement(Menu.Item, { key: "Open" },
|
|
37
|
+
React.createElement(FAIcon, { icon: faExternalLink, color: "#666", size: "sm" }),
|
|
38
|
+
React.createElement("span", { className: "type-name" }, "Open"))),
|
|
39
|
+
printPath && (React.createElement(Menu.Item, { key: "Print" },
|
|
40
|
+
React.createElement(FAIcon, { icon: faPrint, color: "#666", size: "sm" }),
|
|
41
|
+
React.createElement("span", { className: "type-name" }, "Print"))),
|
|
42
|
+
React.createElement(Menu.Item, { key: "OpenTreeView" },
|
|
43
|
+
React.createElement(FAIcon, { icon: faFolderTree, color: "#666", size: "sm" }),
|
|
44
|
+
React.createElement("span", { className: "type-name" }, "Open Tree View (Test)")),
|
|
45
|
+
del && (React.createElement(Menu.Item, { key: "Delete", className: "del-btn" },
|
|
46
|
+
React.createElement(FAIcon, { icon: faTrashAlt, color: "#f5222d", size: "sm" }),
|
|
47
|
+
React.createElement("span", { className: "type-name" }, "Delete"))))));
|
|
48
|
+
return useObserver(() => (React.createElement(Dropdown, { overlay: menu, placement: "bottomRight" }, shape ? (React.createElement(Button, { shape: "circle", size: size, onClick: e => e.stopPropagation() },
|
|
49
|
+
React.createElement(FAIcon, { size: "lg", icon: icon ? icon : faEllipsisV }))) : (React.createElement("span", { onClick: e => e.stopPropagation(), className: classnames(styles["more-operate"], props.className) },
|
|
50
|
+
React.createElement(FAIcon, { size: "lg", icon: icon ? icon : faEllipsisV }))))));
|
|
51
|
+
};
|
|
52
|
+
ContactMenu.defaultProps = {
|
|
53
|
+
edit: true,
|
|
54
|
+
del: true,
|
|
55
|
+
move: true,
|
|
56
|
+
paste: true
|
|
57
|
+
};
|
|
58
|
+
export default ContactMenu;
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/unit/controls/ToolBar/ContactMenu/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.more-operate-dropdown {
|
|
2
|
+
:global {
|
|
3
|
+
.type-name {
|
|
4
|
+
margin-left: 10px;
|
|
5
|
+
display: inline-block;
|
|
6
|
+
}
|
|
7
|
+
.del-btn{
|
|
8
|
+
color: #f5222d;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
.more-operate {
|
|
13
|
+
// font-size: 24px;
|
|
14
|
+
padding: 0 5px;
|
|
15
|
+
vertical-align: middle;
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
}
|
|
18
|
+
.more-operate-dropdown-icon{
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ContactStore } from "../../../data";
|
|
2
|
+
import { FileStore } from "../../../data/FileStore/FileContext";
|
|
3
|
+
export declare type ContactMenuProps = {
|
|
4
|
+
id?: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
printPath?: string;
|
|
7
|
+
edit?: boolean;
|
|
8
|
+
del?: boolean;
|
|
9
|
+
move?: boolean;
|
|
10
|
+
paste?: boolean;
|
|
11
|
+
open?: boolean;
|
|
12
|
+
url?: string;
|
|
13
|
+
lock?: boolean;
|
|
14
|
+
unlock?: boolean;
|
|
15
|
+
shape?: boolean;
|
|
16
|
+
icon?: any;
|
|
17
|
+
size?: "middle" | "small" | "large";
|
|
18
|
+
deleteTitel?: string;
|
|
19
|
+
onEdit?: (params?: any) => void;
|
|
20
|
+
onDelete?: (params?: any) => void;
|
|
21
|
+
onMove?: () => void;
|
|
22
|
+
onPaste?: () => void;
|
|
23
|
+
onLock?: () => void;
|
|
24
|
+
onUnlock?: () => void;
|
|
25
|
+
};
|
|
26
|
+
export declare class State {
|
|
27
|
+
private _store;
|
|
28
|
+
private _filestore;
|
|
29
|
+
constructor(_store: ContactStore, _filestore: FileStore);
|
|
30
|
+
props: ContactMenuProps;
|
|
31
|
+
layout: any;
|
|
32
|
+
/** Menu item click */
|
|
33
|
+
moreOperate({ key, domEvent }: any): Promise<any>;
|
|
34
|
+
}
|