@voplus/morpho-document 1.0.0-dev313 → 1.0.0-dev314
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/es/components/ActivityLog/ActivityLog2/index.js +7 -6
- package/es/components/ActivityLog/ActivityLog2/index.js.map +1 -1
- package/es/components/ActivityLog/CommentBar.js +4 -4
- package/es/components/ActivityLog/CommentBar.js.map +1 -1
- package/es/components/AvatarList/index.d.ts +0 -1
- package/es/components/AvatarList/index.js +19 -10
- package/es/components/AvatarList/index.js.map +1 -1
- package/es/components/AvatarList/state.d.ts +3 -1
- package/es/components/AvatarList/state.js +5 -0
- package/es/components/AvatarList/state.js.map +1 -1
- package/es/components/BreadCrumbsHeader/index.d.ts +0 -3
- package/es/components/BreadCrumbsHeader/index.js +14 -11
- package/es/components/BreadCrumbsHeader/index.js.map +1 -1
- package/es/components/BreadCrumbsHeader/index.less +16 -1
- package/es/components/BreadCrumbsHeader/state.d.ts +0 -2
- package/es/components/BreadCrumbsHeader/state.js +1 -34
- package/es/components/BreadCrumbsHeader/state.js.map +1 -1
- package/es/components/DocumentHeader/index.d.ts +9 -1
- package/es/components/DocumentHeader/index.js +7 -3
- package/es/components/DocumentHeader/index.js.map +1 -1
- package/es/components/DocumentList/index.js +67 -52
- package/es/components/DocumentList/index.js.map +1 -1
- package/es/components/DocumentPropertiesView/index.js +1 -1
- package/es/components/DocumentPropertiesView/index.js.map +1 -1
- package/es/components/DocumentTabbedView/DraggableTabs.d.ts +7 -0
- package/es/components/DocumentTabbedView/DraggableTabs.js +76 -0
- package/es/components/DocumentTabbedView/DraggableTabs.js.map +1 -0
- package/es/components/DocumentTabbedView/index.d.ts +16 -0
- package/es/components/DocumentTabbedView/index.js +41 -0
- package/es/components/DocumentTabbedView/index.js.map +1 -0
- package/es/components/QuickAccessSearch/index.js +9 -4
- package/es/components/QuickAccessSearch/index.js.map +1 -1
- package/es/components/QuickAccessSearch/state.d.ts +2 -0
- package/es/components/QuickAccessSearch/state.js +7 -0
- package/es/components/QuickAccessSearch/state.js.map +1 -1
- package/es/components/styles/common.less +3 -0
- package/es/controls/DescriptionEditor/index.js +5 -2
- package/es/controls/DescriptionEditor/index.js.map +1 -1
- package/es/controls/DescriptionEditor/state.d.ts +2 -0
- package/es/controls/DescriptionEditor/state.js.map +1 -1
- package/es/controls/DocumentLabel/index.d.ts +12 -0
- package/es/controls/DocumentLabel/index.js +24 -0
- package/es/controls/DocumentLabel/index.js.map +1 -0
- package/es/controls/DocumentLabel/index.less +14 -0
- package/es/controls/ToolBar/ToolBarState.d.ts +2 -0
- package/es/controls/ToolBar/ToolBarState.js.map +1 -1
- package/es/controls/ToolBar/buttons/More.d.ts +9 -12
- package/es/controls/ToolBar/buttons/More.js +19 -19
- package/es/controls/ToolBar/buttons/More.js.map +1 -1
- package/es/controls/ToolBar/buttons/state.js +1 -2
- package/es/controls/ToolBar/buttons/state.js.map +1 -1
- package/es/controls/ToolBar/menus/Delete.d.ts +4 -0
- package/es/controls/ToolBar/menus/Delete.js +9 -4
- package/es/controls/ToolBar/menus/Delete.js.map +1 -1
- package/es/data/ActivityStore/ActivityStore.d.ts +20 -0
- package/es/data/ActivityStore/ActivityStore.js +47 -0
- package/es/data/ActivityStore/ActivityStore.js.map +1 -0
- package/es/data/ActivityStore/hook.d.ts +9 -0
- package/es/data/ActivityStore/hook.js +19 -0
- package/es/data/ActivityStore/hook.js.map +1 -0
- package/es/data/ActivityStore/index.d.ts +4 -0
- package/es/data/ActivityStore/index.js +5 -0
- package/es/data/ActivityStore/index.js.map +1 -0
- package/es/data/ActivityStore/interfaces.d.ts +38 -0
- package/es/data/ActivityStore/interfaces.js +1 -0
- package/es/data/ActivityStore/interfaces.js.map +1 -0
- package/es/data/ActivityStore/types.d.ts +7 -0
- package/es/data/ActivityStore/types.js +1 -0
- package/es/data/ActivityStore/types.js.map +1 -0
- package/package.json +1 -1
- package/es/controls/ToolBar/index.d.ts +0 -15
- package/es/controls/ToolBar/index.js +0 -100
- package/es/controls/ToolBar/index.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Checkbox, Empty, Upload, message } from "@voplus/antd";
|
|
2
|
-
import { useDocumentListEffect, useDocumentStore, useOnDeleteDocument, useOnNewDocument } from "@voplus/morpho-document-core";
|
|
2
|
+
import { useAutoUpdateListData, useDocumentListEffect, useDocumentStore, useOnDeleteDocument, useOnNewDocument } from "@voplus/morpho-document-core";
|
|
3
3
|
import { DocumentStatusFilter, FlagFilter } from "../../controls/filters";
|
|
4
4
|
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
|
5
5
|
import React, { useEffect, useRef, useState } from "react";
|
|
@@ -8,10 +8,10 @@ import DocumentItemFrame from "../../controls/DocumentItemFrame";
|
|
|
8
8
|
import DocumentPasteUpload from "../DocumentPasteUpload";
|
|
9
9
|
import DocumentSelectDialog from "../DocumentSelectDialog";
|
|
10
10
|
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
|
11
|
+
import InfiniteScrollView from "@voplus/morpho-ui/es/controls/InfiniteScrollView";
|
|
11
12
|
import ListHeader from "./Header";
|
|
12
13
|
import MultipleHeader from "@voplus/morpho-ui/es/components/layout/ListView/components/MultipleHeader";
|
|
13
14
|
import NewDocumentForm from "../NewDocumentForm";
|
|
14
|
-
import PageListView from "@voplus/morpho-ui/es/controls/PageListView";
|
|
15
15
|
import SearchHeader from "@voplus/morpho-ui/es/components/layout/ListView/components/SearchHeader";
|
|
16
16
|
import { State } from "./state";
|
|
17
17
|
import classNames from "classnames";
|
|
@@ -25,11 +25,14 @@ const DocumentList = (props) => {
|
|
|
25
25
|
const scrollParentRef = useRef();
|
|
26
26
|
const store = useDocumentStore();
|
|
27
27
|
const [state] = useState(new State(store));
|
|
28
|
-
const list = useCreateListDataState({
|
|
28
|
+
const list = useCreateListDataState({
|
|
29
|
+
filterDefaults: {
|
|
30
|
+
includes: props.includes ? props.includes + ",tags" : "tags"
|
|
31
|
+
}
|
|
32
|
+
}, [props.id]);
|
|
29
33
|
const { user } = useApplicationContext();
|
|
30
34
|
/**是否能Upload*/
|
|
31
35
|
const [disabled, setDisabled] = useState(props.disabled);
|
|
32
|
-
const includes = props.includes ? props.includes + ",tags" : "tags";
|
|
33
36
|
/**e.g. exclude={["Task", "Agenda"]} 結果:不會顯示 Task和Agenda文件*/
|
|
34
37
|
state.exclude = props.exclude || [];
|
|
35
38
|
state.props = props;
|
|
@@ -37,19 +40,27 @@ const DocumentList = (props) => {
|
|
|
37
40
|
useEffect(() => {
|
|
38
41
|
state.reset();
|
|
39
42
|
}, [props.id]);
|
|
40
|
-
useDocumentListEffect(
|
|
41
|
-
state.lists =
|
|
42
|
-
|
|
43
|
+
useDocumentListEffect(list, result => {
|
|
44
|
+
state.lists = result;
|
|
45
|
+
list.union(result);
|
|
43
46
|
}, {
|
|
44
|
-
|
|
45
|
-
Filters: state.filters
|
|
46
|
-
Page: { Page: state.page, PageSize: 20 },
|
|
47
|
-
Sort: state.sort
|
|
47
|
+
...list.filters.options,
|
|
48
|
+
Filters: state.filters
|
|
48
49
|
});
|
|
50
|
+
useAutoUpdateListData(list, d => d.parentId === props.id);
|
|
49
51
|
useOnNewDocument((s, doc) => {
|
|
50
|
-
if (doc.parentNodeId === props.id && !state.exclude.includes(doc.type)) {
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
// if (doc.parentNodeId === props.id && !state.exclude.includes(doc.type)) {
|
|
53
|
+
// state.lists =
|
|
54
|
+
// props.appendLocation === "bottom" ? [...state.lists, doc] : [doc, ...state.lists];
|
|
55
|
+
// }
|
|
56
|
+
if (doc.parentNodeId === props.id &&
|
|
57
|
+
!state.exclude.includes(doc.type) &&
|
|
58
|
+
props.appendLocation === "top") {
|
|
59
|
+
state.lists = [doc, ...state.lists];
|
|
60
|
+
for (const item of state.lists) {
|
|
61
|
+
list.remove(item.id);
|
|
62
|
+
}
|
|
63
|
+
list.union(state.lists);
|
|
53
64
|
}
|
|
54
65
|
});
|
|
55
66
|
useOnDeleteDocument((s, doc) => {
|
|
@@ -65,43 +76,45 @@ const DocumentList = (props) => {
|
|
|
65
76
|
props.multiple && (React.createElement("div", { className: "view-title" },
|
|
66
77
|
React.createElement(MultipleHeader, { renderId: props.id, viewTitle: props.viewTitle ? props.viewTitle : "Sub-Documents", checkAll: state.checkAll, onMove: onMove, onDelete: () => state.onDelete(), onCheckAll: (checked) => state.onCheckAll(checked), updateMultiple: (multiple) => state.updateMultiple(multiple) }))),
|
|
67
78
|
props.type === "select" && (React.createElement(SearchHeader, { onChange: (val) => state.onChangeName(val) })))));
|
|
68
|
-
return useObserver(() => {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
79
|
+
return useObserver(() => (React.createElement(ListDataContext.Provider, { value: list },
|
|
80
|
+
React.createElement("div", { ref: containerRef, className: classNames(styles["documents-list"], props.className) },
|
|
81
|
+
props.header && (React.createElement(ListHeader, { header: header, filterViewProps: {
|
|
82
|
+
columns: [React.createElement(DocumentStatusFilter, { key: "Status" }), React.createElement(FlagFilter, { key: "Flag" })],
|
|
83
|
+
onFilter: c => {
|
|
84
|
+
c.filter();
|
|
85
|
+
state.filterList = c === null || c === void 0 ? void 0 : c.options.Filters;
|
|
86
|
+
state.reset();
|
|
87
|
+
},
|
|
88
|
+
onReset: c => {
|
|
89
|
+
c.reset();
|
|
90
|
+
state.filterList = [];
|
|
91
|
+
state.reset();
|
|
92
|
+
}
|
|
93
|
+
}, versionsMenu: props.versionsMenu, addAble: props.addAble, onAdd: (val) => state.onItemClick(val), onCancel: () => state.cancel(), onSort: sort => {
|
|
94
|
+
var _a, _b;
|
|
95
|
+
if (((_a = state.sortData) === null || _a === void 0 ? void 0 : _a.Sort) !== (sort === null || sort === void 0 ? void 0 : sort.Sort) ||
|
|
96
|
+
((_b = state.sortData) === null || _b === void 0 ? void 0 : _b.Direction) !== (sort === null || sort === void 0 ? void 0 : sort.Direction)) {
|
|
97
|
+
state.sortData = sort ? { ...sort } : {};
|
|
98
|
+
state.reset();
|
|
99
|
+
}
|
|
100
|
+
} })),
|
|
101
|
+
React.createElement("div", { className: "doc-list-content" },
|
|
102
|
+
React.createElement(Upload.Dragger, { className: classNames("doc-list-page", !disabled && "doc-drag-hover", !list.loading && !list.data.length && !disabled && "cursor"), action: `https://${state.getHost}/api/files/${props.id}`, headers: {
|
|
103
|
+
Authorization: `Bearer ${user.info.accessToken}`
|
|
104
|
+
}, fileList: state.fileList, showUploadList: state.fileList.length > 0, onChange: onUploading,
|
|
105
|
+
// customRequest={(option: any) => state.customRequest(option)}
|
|
106
|
+
disabled: disabled, openFileDialogOnClick: false, multiple: true },
|
|
107
|
+
React.createElement(InfiniteScrollView, { empty: list.isEmpty, emptyProps: disabled
|
|
108
|
+
? { image: Empty.PRESENTED_IMAGE_DEFAULT, description: "No Data" }
|
|
109
|
+
: {
|
|
110
|
+
image: React.createElement(FAIcon, { icon: faCloudUpload, size: "5x", color: "#797979" }),
|
|
111
|
+
description: "Drop files here to upload."
|
|
112
|
+
}, loading: list.loading, hasMore: list.hasMore, loadMore: () => list.triggerNextPage() }, state.multiple ? (React.createElement(Checkbox.Group, { value: state.ids, onChange: (values) => state.onCheck(values), className: "list-view-page" }, list.data.map((item) => (React.createElement(DocumentItemFrame, { key: item.id },
|
|
113
|
+
React.createElement(DocumentItem, { id: item.id, type: props.type ? props.type : "sub", parentId: props.id, parentName: props.parentName, reload: props.reload, multiple: state.multiple, onChangeDisabled: onChangeDisabled, onSelectDocument: props.onSelectDocument })))))) : (list.data.map((item) => (React.createElement(DocumentItemFrame, { key: item.id },
|
|
114
|
+
React.createElement(DocumentItem, { key: item.id, id: item.id, type: props.type ? props.type : "sub", parentId: props.id, parentName: props.parentName, reload: props.reload, onChangeDisabled: onChangeDisabled, onSelectDocument: props.onSelectDocument })))))))),
|
|
115
|
+
state.shortcut && React.createElement(DocumentSelectDialog, { onSelect: onCreateShortcut }),
|
|
116
|
+
state.addAble && (React.createElement(NewDocumentForm, { parentId: props.id, type: state.type, onCancel: () => (state.addAble = false) })),
|
|
117
|
+
!disabled && React.createElement(DocumentPasteUpload, { id: props.id, containerRef: containerRef })))));
|
|
105
118
|
/**change disabled Upload function
|
|
106
119
|
* 只要顯示 quickview就disable documentList的upload
|
|
107
120
|
* 原因:(上传文件至QuickView會错误的上传多一份到documentList )
|
|
@@ -128,8 +141,10 @@ const DocumentList = (props) => {
|
|
|
128
141
|
function onUploading({ file, fileList }) {
|
|
129
142
|
/**上传完成不显示进度条 */
|
|
130
143
|
state.fileList = fileList.filter(f => f.status !== "done");
|
|
131
|
-
if (file.status === "done")
|
|
144
|
+
if (file.status === "done") {
|
|
145
|
+
list.union([file.response]);
|
|
132
146
|
state.lists = [...state.lists, file.response];
|
|
147
|
+
}
|
|
133
148
|
}
|
|
134
149
|
};
|
|
135
150
|
DocumentList.defaultProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DocumentList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAKN,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AACzD,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,UAAU,MAAM,UAAU,CAAC;AAClC,OAAO,cAAc,MAAM,2EAA2E,CAAC;AACvG,OAAO,eAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,YAAY,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DocumentList/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { useObserver } from "mobx-react-lite";
|
|
|
7
7
|
const DocumentPropertiesView = (props) => {
|
|
8
8
|
const id = props.id;
|
|
9
9
|
return useObserver(() => (React.createElement("div", { className: "module-detail-view" },
|
|
10
|
-
React.createElement(DocumentHeader, { id: id, size: "h3", quickDataBarAlign: "left", clickNameEffect: "edit", autoSaveName: true, descriptionVisible: false }),
|
|
10
|
+
React.createElement(DocumentHeader, { id: id, size: "h3", quickDataBarAlign: "left", clickNameEffect: "edit", autoSaveName: true, descriptionVisible: false, toolBarProps: { closeAside: true } }),
|
|
11
11
|
React.createElement(DocumentTabs, { id: id, docTab: false, details: React.createElement(DescriptionDocumentList, { id: id }) }))));
|
|
12
12
|
};
|
|
13
13
|
export default DocumentPropertiesView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DocumentPropertiesView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,MAAM,4BAA4B,CAAC;AACjE,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,8BAA8B;AAC9B,MAAM,sBAAsB,GAAG,CAAC,KAAqB,EAAE,EAAE;IACxD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,6BAAK,SAAS,EAAC,oBAAoB;QAClC,oBAAC,cAAc,IACd,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,IAAI,EACT,iBAAiB,EAAC,MAAM,EACxB,eAAe,EAAC,MAAM,EACtB,YAAY,EAAE,IAAI,EAClB,kBAAkB,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DocumentPropertiesView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,MAAM,4BAA4B,CAAC;AACjE,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,8BAA8B;AAC9B,MAAM,sBAAsB,GAAG,CAAC,KAAqB,EAAE,EAAE;IACxD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,6BAAK,SAAS,EAAC,oBAAoB;QAClC,oBAAC,cAAc,IACd,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,IAAI,EACT,iBAAiB,EAAC,MAAM,EACxB,eAAe,EAAC,MAAM,EACtB,YAAY,EAAE,IAAI,EAClB,kBAAkB,EAAE,KAAK,EACzB,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GACjC;QACF,oBAAC,YAAY,IAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAC,uBAAuB,IAAC,EAAE,EAAE,EAAE,GAAI,GAAI,CAChF,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { useDrag, useDrop } from "react-dnd";
|
|
2
|
+
import React, { useState } from "react";
|
|
3
|
+
import { Tabs } from "@voplus/antd";
|
|
4
|
+
import { useObserver } from "mobx-react-lite";
|
|
5
|
+
// Drag & Drop node
|
|
6
|
+
const WrapTabNode = (props) => {
|
|
7
|
+
const { children, index } = props;
|
|
8
|
+
const [{ isDragging }, drag] = useDrag({
|
|
9
|
+
item: { type: "Tab", index: index },
|
|
10
|
+
collect: (monitor) => ({
|
|
11
|
+
isDragging: monitor.isDragging()
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
const [, drop] = useDrop({
|
|
15
|
+
accept: "Tab",
|
|
16
|
+
drop: (item, monitor) => {
|
|
17
|
+
const dragKey = monitor.getItem().index;
|
|
18
|
+
const hoverKey = props.index;
|
|
19
|
+
if (dragKey === hoverKey) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
props.moveTabNode(dragKey, hoverKey);
|
|
23
|
+
monitor.getItem().index = hoverKey;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return drag(drop(children));
|
|
27
|
+
};
|
|
28
|
+
const DraggableTabs = (props) => {
|
|
29
|
+
const { children } = props;
|
|
30
|
+
const [order, setOrder] = useState([]);
|
|
31
|
+
/** 改變child的位置 */
|
|
32
|
+
const moveTabNode = (dragKey, hoverKey) => {
|
|
33
|
+
var _a;
|
|
34
|
+
const newOrder = order.slice();
|
|
35
|
+
React.Children.forEach(children, (c) => {
|
|
36
|
+
if (newOrder.indexOf(c.key) === -1) {
|
|
37
|
+
newOrder.push(c.key);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
const dragIndex = newOrder.indexOf(dragKey);
|
|
41
|
+
const hoverIndex = newOrder.indexOf(hoverKey);
|
|
42
|
+
newOrder.splice(dragIndex, 1);
|
|
43
|
+
newOrder.splice(hoverIndex, 0, dragKey);
|
|
44
|
+
setOrder(newOrder);
|
|
45
|
+
/** moveAfter */
|
|
46
|
+
const afterKey = newOrder[hoverIndex - 1];
|
|
47
|
+
(_a = props.moveAfter) === null || _a === void 0 ? void 0 : _a.call(props, dragKey, afterKey);
|
|
48
|
+
};
|
|
49
|
+
/** 替换 TabBar,用于二次封装标签头 */
|
|
50
|
+
const renderTabBar = (props, DefaultTabBar) => (React.createElement(DefaultTabBar, Object.assign({}, props), (node) => (React.createElement(WrapTabNode, { key: node.key, index: node.key, moveTabNode: moveTabNode }, node))));
|
|
51
|
+
return useObserver(() => {
|
|
52
|
+
const tabs = [];
|
|
53
|
+
React.Children.forEach(children, c => {
|
|
54
|
+
tabs.push(c);
|
|
55
|
+
});
|
|
56
|
+
const orderTabs = tabs.slice().sort((a, b) => {
|
|
57
|
+
const orderA = order.indexOf(a.key);
|
|
58
|
+
const orderB = order.indexOf(b.key);
|
|
59
|
+
if (orderA !== -1 && orderB !== -1) {
|
|
60
|
+
return orderA - orderB;
|
|
61
|
+
}
|
|
62
|
+
if (orderA !== -1) {
|
|
63
|
+
return -1;
|
|
64
|
+
}
|
|
65
|
+
if (orderB !== -1) {
|
|
66
|
+
return 1;
|
|
67
|
+
}
|
|
68
|
+
const ia = tabs.indexOf(a);
|
|
69
|
+
const ib = tabs.indexOf(b);
|
|
70
|
+
return ia - ib;
|
|
71
|
+
});
|
|
72
|
+
return React.createElement(Tabs, { renderTabBar: renderTabBar }, orderTabs);
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
export default DraggableTabs;
|
|
76
|
+
//# sourceMappingURL=DraggableTabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DraggableTabs.js","sourceRoot":"","sources":["../../../src/components/DocumentTabbedView/DraggableTabs.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DocumentHeaderProps } from "@voplus/morpho-document-core";
|
|
3
|
+
declare const DocumentTabbedView: {
|
|
4
|
+
(props: {
|
|
5
|
+
/** 文件id */
|
|
6
|
+
id: string;
|
|
7
|
+
/** header 显示与否, default true*/
|
|
8
|
+
headerVisible: boolean;
|
|
9
|
+
/** header props */
|
|
10
|
+
headerProps?: DocumentHeaderProps;
|
|
11
|
+
}): JSX.Element;
|
|
12
|
+
defaultProps: {
|
|
13
|
+
headerVisible: boolean;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export default DocumentTabbedView;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useAutoUpdateListData, useDocumentListEffect, useDocumentStore } from "@voplus/morpho-document-core";
|
|
2
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
|
3
|
+
import DocumentHeader from "../DocumentHeader";
|
|
4
|
+
import DocumentList from "../DocumentList";
|
|
5
|
+
import DraggableTabs from "./DraggableTabs";
|
|
6
|
+
import React from "react";
|
|
7
|
+
import { Tabs } from "@voplus/antd";
|
|
8
|
+
import { useObserver } from "mobx-react-lite";
|
|
9
|
+
import { useRenderOnChange } from "@voplus/morpho-ui";
|
|
10
|
+
const DocumentTabbedView = (props) => {
|
|
11
|
+
const { TabPane } = Tabs;
|
|
12
|
+
const { id, headerVisible, headerProps } = props;
|
|
13
|
+
const documents = useDocumentStore();
|
|
14
|
+
/** 建立 ListView 和useDocumentListEffect所需的ListDataState. 会根据state.id重建所以不需reset. */
|
|
15
|
+
const list = useCreateListDataState({
|
|
16
|
+
filterDefaults: {
|
|
17
|
+
includes: "tags",
|
|
18
|
+
filters: [{ c: "ParentNodeId", o: "=", l: "And", v1: id }]
|
|
19
|
+
}
|
|
20
|
+
}, [id]);
|
|
21
|
+
/** 如果 list.filters.options变更了就重渲染,使下一行的useDocumentListEffect 可以接收新参数*/
|
|
22
|
+
useRenderOnChange(() => list.filters.options);
|
|
23
|
+
/** 把ListDataState传给useDocumentListEffect,使之可以自動更新loading, hasmore. */
|
|
24
|
+
useDocumentListEffect(list, result => list.union(result), list.filters.options);
|
|
25
|
+
/** useOnNewDocument, useOnDeleteDocument的sugar syntax 自動更新list. */
|
|
26
|
+
useAutoUpdateListData(list, d => d.parentId === id);
|
|
27
|
+
return useObserver(() => (React.createElement("div", { className: "module-detail-view" },
|
|
28
|
+
headerVisible && React.createElement(DocumentHeader, Object.assign({ id: id }, headerProps)),
|
|
29
|
+
React.createElement(ListDataContext.Provider, { value: list },
|
|
30
|
+
React.createElement(DraggableTabs, { moveAfter: moveAfter }, list.data.map(item => (React.createElement(TabPane, { tab: item.name, key: item.id },
|
|
31
|
+
React.createElement(DocumentList, { id: item.id, multiple: true })))))))));
|
|
32
|
+
/** 移动后的回调 */
|
|
33
|
+
async function moveAfter(id, afterId) {
|
|
34
|
+
await documents.moveAfter(id, afterId);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
DocumentTabbedView.defaultProps = {
|
|
38
|
+
headerVisible: true
|
|
39
|
+
};
|
|
40
|
+
export default DocumentTabbedView;
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DocumentTabbedView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGN,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEpF,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,kBAAkB,GAAG,CAAC,KAO3B,EAAE,EAAE;IACJ,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IACjD,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IAErC,kFAAkF;IAClF,MAAM,IAAI,GAAG,sBAAsB,CAClC;QACC,cAAc,EAAE;YACf,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;SAC1D;KACD,EACD,CAAC,EAAE,CAAC,CACJ,CAAC;IAEF,uEAAuE;IACvE,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,sEAAsE;IACtE,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhF,mEAAmE;IACnE,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;IAEpD,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,6BAAK,SAAS,EAAC,oBAAoB;QACjC,aAAa,IAAI,oBAAC,cAAc,kBAAC,EAAE,EAAE,EAAE,IAAM,WAAW,EAAI;QAC7D,oBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI;YACpC,oBAAC,aAAa,IAAC,SAAS,EAAE,SAAS,IACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACtB,oBAAC,OAAO,IAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE;gBACpC,oBAAC,YAAY,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,SAAG,CAC7B,CACV,CAAC,CACa,CACU,CACtB,CACN,CAAC,CAAC;IAEH,aAAa;IACb,KAAK,UAAU,SAAS,CAAC,EAAU,EAAE,OAAe;QACnD,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;AACF,CAAC,CAAC;AAEF,kBAAkB,CAAC,YAAY,GAAG;IACjC,aAAa,EAAE,IAAI;CACnB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useObjectListEffect } from "@voplus/morpho-document-core";
|
|
2
|
+
import InfiniteScrollView from "@voplus/morpho-ui/es/controls/InfiniteScrollView";
|
|
2
3
|
import ObjectItem from "./ObjectItem";
|
|
3
|
-
import PageListView from "@voplus/morpho-ui/es/controls/PageListView";
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { SearchOutlined } from "@ant-design/icons";
|
|
6
6
|
import { State } from "./state";
|
|
@@ -13,17 +13,22 @@ const QuickAccessSearch = () => {
|
|
|
13
13
|
const state = useDeepMemo(() => new State(), []);
|
|
14
14
|
useRenderOnChange(() => state.filters);
|
|
15
15
|
useObjectListEffect(list => {
|
|
16
|
-
|
|
16
|
+
for (const item of list) {
|
|
17
|
+
if (!state.lists.some(({ id }) => id === item.id)) {
|
|
18
|
+
state.lists.push(item);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
state.hasMore = list.length === 20;
|
|
17
22
|
state.loading = false;
|
|
18
23
|
}, {
|
|
19
24
|
Filters: state.filters,
|
|
20
|
-
Page: { Page: state.page, PageSize: state.filterName ?
|
|
25
|
+
Page: { Page: state.page, PageSize: state.filterName ? 20 : 0 }
|
|
21
26
|
});
|
|
22
27
|
return useObserver(() => (React.createElement("div", { className: styles["quick-access-search"] },
|
|
23
28
|
React.createElement("div", { className: "obj-search" },
|
|
24
29
|
React.createElement(TimeoutInput, { suffix: React.createElement(SearchOutlined, { style: { color: "lightgray" } }), className: "object-search-input", value: state.keyword, placeholder: "Search...", onChange: e => (state.keyword = e.target.value), onIdle: onIdle })),
|
|
25
30
|
React.createElement("div", { className: "obj-list" },
|
|
26
|
-
React.createElement(
|
|
31
|
+
React.createElement(InfiniteScrollView, { empty: state.lists.length === 0, loading: state.loading, hasMore: state.loading, loadMore: () => state.loadData() }, state.lists.map((item, index) => (React.createElement(ObjectItem, { key: item.id, id: item.id, objectType: item.objectType, type: item.type, index: index }))))))));
|
|
27
32
|
function onIdle(e) {
|
|
28
33
|
state.filterName = e;
|
|
29
34
|
state.reset();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/QuickAccessSearch/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAE5E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/QuickAccessSearch/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ export class State {
|
|
|
10
10
|
this.filterName = "";
|
|
11
11
|
/** timeout input keyword */
|
|
12
12
|
this.timeout = null;
|
|
13
|
+
/** Indicating whether the list is loading new data. */
|
|
14
|
+
this.hasMore = true;
|
|
13
15
|
}
|
|
14
16
|
/** reset */
|
|
15
17
|
reset() {
|
|
@@ -19,6 +21,8 @@ export class State {
|
|
|
19
21
|
}
|
|
20
22
|
/** load more */
|
|
21
23
|
loadData() {
|
|
24
|
+
if (this.loading || !this.hasMore)
|
|
25
|
+
return;
|
|
22
26
|
this.loading = true;
|
|
23
27
|
this.page = this.page + 1;
|
|
24
28
|
}
|
|
@@ -52,6 +56,9 @@ __decorate([
|
|
|
52
56
|
__decorate([
|
|
53
57
|
observable
|
|
54
58
|
], State.prototype, "timeout", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
observable
|
|
61
|
+
], State.prototype, "hasMore", void 0);
|
|
55
62
|
__decorate([
|
|
56
63
|
action
|
|
57
64
|
], State.prototype, "reset", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/components/QuickAccessSearch/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIpD,MAAM,OAAO,KAAK;IAAlB;QACoB,YAAO,GAAG,EAAE,CAAC;QACb,UAAK,GAAc,EAAE,CAAC;QACtB,YAAO,GAAG,IAAI,CAAC;QACf,SAAI,GAAG,CAAC,CAAC;QAC5B,+BAA+B;QACZ,eAAU,GAAG,EAAE,CAAC;QACnC,4BAA4B;QACT,YAAO,GAAQ,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/components/QuickAccessSearch/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIpD,MAAM,OAAO,KAAK;IAAlB;QACoB,YAAO,GAAG,EAAE,CAAC;QACb,UAAK,GAAc,EAAE,CAAC;QACtB,YAAO,GAAG,IAAI,CAAC;QACf,SAAI,GAAG,CAAC,CAAC;QAC5B,+BAA+B;QACZ,eAAU,GAAG,EAAE,CAAC;QACnC,4BAA4B;QACT,YAAO,GAAQ,IAAI,CAAC;QACvC,uDAAuD;QACpC,YAAO,GAAG,IAAI,CAAC;IA8BnC,CAAC;IA5BA,YAAY;IAEL,KAAK;QACX,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,gBAAgB;IAET,QAAQ;QACd,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;;OAGG;IAEH,IAAW,OAAO;QACjB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SAC1E;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;CACD;AAvCY;IAAX,UAAU;sCAAqB;AACpB;IAAX,UAAU;oCAA8B;AAC7B;IAAX,UAAU;sCAAuB;AACtB;IAAX,UAAU;mCAAiB;AAEhB;IAAX,UAAU;yCAAwB;AAEvB;IAAX,UAAU;sCAA4B;AAE3B;IAAX,UAAU;sCAAuB;AAIlC;IADC,MAAM;kCAKN;AAID;IADC,MAAM;qCAKN;AAOD;IADC,QAAQ;oCAOR"}
|
|
@@ -9,7 +9,7 @@ import classnames from "classnames";
|
|
|
9
9
|
import { useDocumentStore } from "@voplus/morpho-document-core";
|
|
10
10
|
import { useObserver } from "mobx-react-lite";
|
|
11
11
|
const DescriptionEditor = (props) => {
|
|
12
|
-
const { id, description, readonly, padding, collapsible } = props;
|
|
12
|
+
const { id, description, readonly, padding, collapsible, onSave } = props;
|
|
13
13
|
const [state] = useState(new State());
|
|
14
14
|
const documentStore = useDocumentStore();
|
|
15
15
|
const ref = useRef(null);
|
|
@@ -39,9 +39,12 @@ const DescriptionEditor = (props) => {
|
|
|
39
39
|
React.createElement(Button, { type: "primary", loading: state.loading, onClick: save }, "Save"))))));
|
|
40
40
|
async function save() {
|
|
41
41
|
state.loading = true;
|
|
42
|
-
|
|
42
|
+
onSave
|
|
43
|
+
? await onSave(state.description)
|
|
44
|
+
: await documentStore.edit(id, { Description: state.description });
|
|
43
45
|
state.loading = false;
|
|
44
46
|
state.editable = false;
|
|
47
|
+
getDescEditorHeight();
|
|
45
48
|
}
|
|
46
49
|
function getDescEditorHeight() {
|
|
47
50
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/DescriptionEditor/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAA0B,KAAK,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,WAAW,MAAM,6CAA6C,CAAC;AACtE,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,iBAAiB,GAAG,CAAC,KAA6B,EAAE,EAAE;IAC3D,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/DescriptionEditor/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ export declare type DescriptionEditorProps = {
|
|
|
11
11
|
collapsible?: boolean;
|
|
12
12
|
/** 是否全部折叠 (高度0), 预设false */
|
|
13
13
|
collapseAll?: boolean;
|
|
14
|
+
/** save function */
|
|
15
|
+
onSave?: (description?: string) => Promise<void> | void;
|
|
14
16
|
};
|
|
15
17
|
export declare class State {
|
|
16
18
|
props: DescriptionEditorProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/controls/DescriptionEditor/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAY,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/controls/DescriptionEditor/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAY,UAAU,EAAE,MAAM,MAAM,CAAC;AAyB5C,MAAM,OAAO,KAAK;IAAlB;QAEC,8BAA8B;QACX,gBAAW,GAAG,EAAE,CAAC;QACpC,8BAA8B;QACX,aAAQ,GAAG,KAAK,CAAC;QACpC,sBAAsB;QACH,YAAO,GAAG,KAAK,CAAC;QACnC,2BAA2B;QACR,aAAQ,GAAG,KAAK,CAAC;QACpC,sCAAsC;QACnB,YAAO,GAAG,KAAK,CAAC;IACpC,CAAC;CAAA;AATY;IAAX,UAAU;0CAAyB;AAExB;IAAX,UAAU;uCAAyB;AAExB;IAAX,UAAU;sCAAwB;AAEvB;IAAX,UAAU;uCAAyB;AAExB;IAAX,UAAU;sCAAwB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "./index.less";
|
|
2
|
+
import { IDocument } from "@voplus/morpho-document-core";
|
|
3
|
+
import React from "react";
|
|
4
|
+
declare const DocumentLabel: (props: {
|
|
5
|
+
/** 文件id */
|
|
6
|
+
id: string;
|
|
7
|
+
/** 显示的 title, default 显示文件name */
|
|
8
|
+
title?: string | undefined;
|
|
9
|
+
/** 点击事件,显示quickview,执行callback, default quickview或者undefined时无动作 */
|
|
10
|
+
onClick?: "quickview" | ((doc: IDocument, ev: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
|
|
11
|
+
}) => JSX.Element;
|
|
12
|
+
export default DocumentLabel;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import "./index.less";
|
|
2
|
+
import { useDocument } from "@voplus/morpho-document-core";
|
|
3
|
+
import React, { useState } from "react";
|
|
4
|
+
import DocumentQuickViewDialog from "../../components/DocumentQuickViewDialog";
|
|
5
|
+
import { useObserver } from "mobx-react-lite";
|
|
6
|
+
const DocumentLabel = (props) => {
|
|
7
|
+
const { id, title } = props;
|
|
8
|
+
const doc = useDocument(id);
|
|
9
|
+
const [quickVisible, setQuickVisible] = useState(false);
|
|
10
|
+
return useObserver(() => (React.createElement(React.Fragment, null,
|
|
11
|
+
React.createElement("div", { className: "document-label-control", onClick: onClick }, title ? title : doc.name),
|
|
12
|
+
quickVisible && (React.createElement(DocumentQuickViewDialog, { id: id, visible: true, onCancel: () => setQuickVisible(false) })))));
|
|
13
|
+
/** 点击事件 */
|
|
14
|
+
function onClick(ev) {
|
|
15
|
+
if (props.onClick === "quickview") {
|
|
16
|
+
setQuickVisible(true);
|
|
17
|
+
}
|
|
18
|
+
else if (props.onClick) {
|
|
19
|
+
props.onClick(doc, ev);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
export default DocumentLabel;
|
|
24
|
+
//# sourceMappingURL=index.js.map
|