@voplus/morpho-workspace 9.0.4 → 9.0.6
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/controls/filters/AssigneeViewFilter/index.js +3 -2
- package/es/controls/filters/AssigneeViewFilter/index.js.map +1 -1
- package/es/modules/my-document/DocumentSection/index.d.ts +9 -0
- package/es/modules/my-document/DocumentSection/index.js +35 -0
- package/es/modules/my-document/DocumentSection/index.js.map +1 -0
- package/es/modules/my-document/DocumentViewContext.d.ts +11 -0
- package/es/modules/my-document/DocumentViewContext.js +13 -0
- package/es/modules/my-document/DocumentViewContext.js.map +1 -0
- package/es/modules/my-document/FilterTabsBar/index.d.ts +8 -0
- package/es/modules/my-document/FilterTabsBar/index.js +54 -0
- package/es/modules/my-document/FilterTabsBar/index.js.map +1 -0
- package/es/modules/my-document/FilterUI/index.d.ts +21 -0
- package/es/modules/my-document/FilterUI/index.js +58 -0
- package/es/modules/my-document/FilterUI/index.js.map +1 -0
- package/es/modules/my-document/Header/index.d.ts +3 -0
- package/es/modules/my-document/Header/index.js +15 -0
- package/es/modules/my-document/Header/index.js.map +1 -0
- package/es/modules/my-document/SectionTemplate/DocumentTableUI/index.css +15 -0
- package/es/modules/my-document/SectionTemplate/DocumentTableUI/index.d.ts +9 -0
- package/es/modules/my-document/SectionTemplate/DocumentTableUI/index.js +159 -0
- package/es/modules/my-document/SectionTemplate/DocumentTableUI/index.js.map +1 -0
- package/es/modules/my-document/SectionTemplate/DocumentViewClass/index.d.ts +13 -0
- package/es/modules/my-document/SectionTemplate/DocumentViewClass/index.js +24 -0
- package/es/modules/my-document/SectionTemplate/DocumentViewClass/index.js.map +1 -0
- package/es/modules/my-document/SectionTemplate/GridUI/index.d.ts +8 -0
- package/es/modules/my-document/SectionTemplate/GridUI/index.js +39 -0
- package/es/modules/my-document/SectionTemplate/GridUI/index.js.map +1 -0
- package/es/modules/my-document/index.d.ts +6 -0
- package/es/modules/my-document/index.js +37 -0
- package/es/modules/my-document/index.js.map +1 -0
- package/es/modules/pin/components/PinnedSection/index.d.ts +8 -0
- package/es/modules/pin/components/PinnedSection/index.js +45 -0
- package/es/modules/pin/components/PinnedSection/index.js.map +1 -0
- package/es/modules/work/work-error/controls/WorkErrorSelect/index.js +2 -1
- package/es/modules/work/work-error/controls/WorkErrorSelect/index.js.map +1 -1
- package/es/modules/work/work-type/components/WorkTypeSelect/index.js +3 -2
- package/es/modules/work/work-type/components/WorkTypeSelect/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import "./index.less";
|
|
2
2
|
import { useUnitListEffect } from "@voplus/morpho-org";
|
|
3
3
|
import { useCreateListDataState, useFilterOptionsContext } from "@voplus/morpho-ui/es/data";
|
|
4
|
+
import NotFoundContent from "@voplus/morpho-ui/es/controls/NotFoundContent";
|
|
4
5
|
import AvatarItem from "@voplus/morpho-org/es/components/AvatarList/AvatarItem";
|
|
5
6
|
import { FontAwesomeIcon as FAIcon, faXmarkRegular } from "@voplus/morpho-ui/es/faIcons";
|
|
6
7
|
import React from "react";
|
|
@@ -14,7 +15,7 @@ const AssigneeView = () => {
|
|
|
14
15
|
const { user } = useApplicationContext();
|
|
15
16
|
const list = useCreateListDataState({}, []);
|
|
16
17
|
const state = context.getFilterState("Assignee", () => new State());
|
|
17
|
-
// 此 filter 有报错:Source Provider must be a INhQueryProvider
|
|
18
|
+
// 此 filter 有报错:Source Provider must be a INhQueryProvider
|
|
18
19
|
useUnitListEffect(list, (result) => list.union(result), {
|
|
19
20
|
Filters: user.info.organizationId
|
|
20
21
|
? [{ c: "OrganizationId", o: "=", l: "And", v1: user.info.organizationId }]
|
|
@@ -22,7 +23,7 @@ const AssigneeView = () => {
|
|
|
22
23
|
});
|
|
23
24
|
return observe(() => (React.createElement("div", { className: "assignee-view" },
|
|
24
25
|
React.createElement("div", { className: "menu-item-title" }, "AssigneeView"),
|
|
25
|
-
React.createElement(Select, { loading: list.loading, value: Array.from(state.members.keys()), showSearch: { optionFilterProp: "label" }, placeholder: "Input or select contact.", onSelect: onSelectMember, style: { width: 160 }, options: list.data.map((i) => {
|
|
26
|
+
React.createElement(Select, { loading: list.loading, value: Array.from(state.members.keys()), showSearch: { optionFilterProp: "label" }, placeholder: "Input or select contact.", onSelect: onSelectMember, style: { width: 160 }, notFoundContent: React.createElement(NotFoundContent, { loading: list.loading }), options: list.data.map((i) => {
|
|
26
27
|
return { value: i.id, label: i.name };
|
|
27
28
|
}) }),
|
|
28
29
|
state.memberList.map((item, index) => (React.createElement("div", { key: item.id, className: classnames("assignee-view-item", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controls/filters/AssigneeViewFilter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAS,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/controls/filters/AssigneeViewFilter/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 使用在 MyDocument 中的全新 UI 设计
|
|
3
|
+
* */
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { useAutoUpdateListData, useDocumentListEffect, } from "@voplus/morpho-document-core";
|
|
6
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
|
7
|
+
import { observe, useAsideContentContext, useRenderOnChange } from "@voplus/morpho-ui";
|
|
8
|
+
import DocumentPropertiesView from "@voplus/morpho-document-core/es/components/DocumentPropertiesView";
|
|
9
|
+
import DocumentViewClass from "../SectionTemplate/DocumentViewClass";
|
|
10
|
+
const DocumentSection = (props) => {
|
|
11
|
+
const { id } = props;
|
|
12
|
+
const asideContext = useAsideContentContext();
|
|
13
|
+
const list = useCreateListDataState({
|
|
14
|
+
filterDefaults: {
|
|
15
|
+
includes: "tags,permissions,createdby,folder",
|
|
16
|
+
filters: [{ c: "ParentNodeId", o: "=", l: "And", v1: id }],
|
|
17
|
+
page: { Page: 1, PageSize: 300 },
|
|
18
|
+
},
|
|
19
|
+
}, [id]);
|
|
20
|
+
/** 如果 list.filters.options变更了就重渲染,使下一行的useDocumentListEffect 可以接收新参数*/
|
|
21
|
+
useRenderOnChange(() => [list.filters.options, id]);
|
|
22
|
+
/** 把ListDataState传给useDocumentListEffect,使之可以自動更新loading, hasmore. */
|
|
23
|
+
useDocumentListEffect(list, (result) => list.union(result), list.filters.options);
|
|
24
|
+
/** useOnNewDocument, useOnDeleteDocument的sugar syntax 自動更新list. */
|
|
25
|
+
useAutoUpdateListData(list, (d) => d.parentId === id);
|
|
26
|
+
return observe(() => (React.createElement(ListDataContext.Provider, { value: list },
|
|
27
|
+
React.createElement(DocumentViewClass, { title: "Personal Documents", loading: list.loading, list: [...list.data], onSearch: (val) => list.triggerSearch(val), onItemClick: onItemClick }))));
|
|
28
|
+
function onItemClick(id) {
|
|
29
|
+
var _a;
|
|
30
|
+
asideContext === null || asideContext === void 0 ? void 0 : asideContext.openAside(React.createElement(DocumentPropertiesView, { id: id }), { span: 10 });
|
|
31
|
+
(_a = props.onClickItem) === null || _a === void 0 ? void 0 : _a.call(props, id);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
export default DocumentSection;
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/my-document/DocumentSection/index.tsx"],"names":[],"mappings":"AAAA;;KAEK;AAEL,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEN,qBAAqB,EACrB,qBAAqB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,sBAAsB,MAAM,mEAAmE,CAAC;AACvG,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AAErE,MAAM,eAAe,GAAG,CAAC,KAAyD,EAAE,EAAE;IACrF,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IAErB,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAE9C,MAAM,IAAI,GAAG,sBAAsB,CAClC;QACC,cAAc,EAAE;YACf,QAAQ,EAAE,mCAAmC;YAC7C,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAC1D,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;SAChC;KACD,EACD,CAAC,EAAE,CAAC,CACJ,CAAC;IAEF,uEAAuE;IACvE,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpD,sEAAsE;IACtE,qBAAqB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAElF,mEAAmE;IACnE,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;IAEtD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI;QACpC,oBAAC,iBAAiB,IACjB,KAAK,EAAC,oBAAoB,EAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EACpB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAC1C,WAAW,EAAE,WAAW,GACvB,CACwB,CAC3B,CAAC,CAAC;IAEH,SAAS,WAAW,CAAC,EAAU;;QAC9B,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAC,oBAAC,sBAAsB,IAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAA,KAAK,CAAC,WAAW,sDAAG,EAAE,CAAC,CAAC;IACzB,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type DocumentViewType = "table" | "grid";
|
|
3
|
+
interface DocumentViewContextProps {
|
|
4
|
+
viewType: DocumentViewType;
|
|
5
|
+
setViewType: (type: DocumentViewType) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const useDocumentViewContext: () => DocumentViewContextProps;
|
|
8
|
+
export declare const DocumentViewProvider: React.FC<{
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React, { createContext, useContext, useState } from "react";
|
|
2
|
+
const DocumentViewContext = createContext(undefined);
|
|
3
|
+
export const useDocumentViewContext = () => {
|
|
4
|
+
const ctx = useContext(DocumentViewContext);
|
|
5
|
+
if (!ctx)
|
|
6
|
+
throw new Error("useDocumentViewContext must be used within a DocumentViewProvider");
|
|
7
|
+
return ctx;
|
|
8
|
+
};
|
|
9
|
+
export const DocumentViewProvider = ({ children }) => {
|
|
10
|
+
const [viewType, setViewType] = useState("table");
|
|
11
|
+
return (React.createElement(DocumentViewContext.Provider, { value: { viewType, setViewType } }, children));
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=DocumentViewContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentViewContext.js","sourceRoot":"","sources":["../../../src/modules/my-document/DocumentViewContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AASnE,MAAM,mBAAmB,GAAG,aAAa,CAAuC,SAAS,CAAC,CAAC;AAE3F,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IAC/F,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAA4C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAmB,OAAO,CAAC,CAAC;IACpE,OAAO,CACN,oBAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAC5D,QAAQ,CACqB,CAC/B,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface FilterTabsBarProps {
|
|
3
|
+
activeTab: "pinned" | "personal";
|
|
4
|
+
onAdd?: () => void;
|
|
5
|
+
onChange: (activeTab: "pinned" | "personal") => void;
|
|
6
|
+
}
|
|
7
|
+
declare const FilterTabsBar: ({ activeTab, onAdd, onChange }: FilterTabsBarProps) => React.JSX.Element;
|
|
8
|
+
export default FilterTabsBar;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { observe } from "@voplus/morpho-ui";
|
|
3
|
+
import { useDocumentViewContext } from "../DocumentViewContext";
|
|
4
|
+
import { FontAwesomeIcon as FAIcon, faListUlRegular, faThLargeSolid, faPlusRegular, faStarSolid, faUserSolid, faUsersSolid, faBriefcaseSolid, } from "@voplus/morpho-ui/es/faIcons";
|
|
5
|
+
import { Button } from "antd";
|
|
6
|
+
import FilterUI from "../FilterUI";
|
|
7
|
+
const FilterTabsBar = ({ activeTab, onAdd, onChange }) => {
|
|
8
|
+
const { viewType, setViewType } = useDocumentViewContext();
|
|
9
|
+
// Mock Data from HTML
|
|
10
|
+
const teams = [
|
|
11
|
+
{ id: "marketing", name: "Marketing Team", count: 45 },
|
|
12
|
+
{ id: "sales", name: "Sales Team", count: 78 },
|
|
13
|
+
{ id: "finance", name: "Finance Team", count: 23 },
|
|
14
|
+
{ id: "hr", name: "HR Team", count: 12 },
|
|
15
|
+
{ id: "legal", name: "Legal Team", count: 56 },
|
|
16
|
+
];
|
|
17
|
+
const workspaces = [
|
|
18
|
+
{ id: "acme", name: "ACME Corporation", count: 234 },
|
|
19
|
+
{ id: "client-beta", name: "Client Beta Inc", count: 89 },
|
|
20
|
+
{ id: "operations", name: "Operations Hub", count: 34 },
|
|
21
|
+
{ id: "launch", name: "Product Launch Q1", count: 123 },
|
|
22
|
+
{ id: "research", name: "R&D Projects", count: 67 },
|
|
23
|
+
];
|
|
24
|
+
const [selectedTeams, setSelectedTeams] = React.useState([]);
|
|
25
|
+
const [selectedWorkspaces, setSelectedWorkspaces] = React.useState([]);
|
|
26
|
+
const [teamsSearch, setTeamsSearch] = React.useState("");
|
|
27
|
+
const [workspacesSearch, setWorkspacesSearch] = React.useState("");
|
|
28
|
+
return observe(() => (React.createElement("div", { className: "bg-white px-8 py-4 shrink-0" },
|
|
29
|
+
React.createElement("div", { className: "flex items-center justify-between" },
|
|
30
|
+
React.createElement("div", { className: "flex items-center gap-2" },
|
|
31
|
+
React.createElement(Button, { type: activeTab === "pinned" ? "primary" : "default", onClick: () => onChange("pinned") },
|
|
32
|
+
React.createElement(FAIcon, { icon: faStarSolid, className: "mr-2" }),
|
|
33
|
+
"Pinned Documents"),
|
|
34
|
+
React.createElement(Button, { type: activeTab === "personal" ? "primary" : "default", onClick: () => onChange("personal") },
|
|
35
|
+
React.createElement(FAIcon, { icon: faUserSolid, className: "mr-2" }),
|
|
36
|
+
"Personal"),
|
|
37
|
+
React.createElement(FilterUI, { label: "Teams", icon: React.createElement(FAIcon, { icon: faUsersSolid, className: "mr-2" }), options: teams, selectedIds: selectedTeams, searchPlaceholder: "Search teams...", badgeId: "teams-badge", dropdownId: "teams-dropdown", onToggle: (id) => setSelectedTeams((prev) => prev.includes(id) ? prev.filter((t) => t !== id) : [...prev, id]), onClearAll: () => setSelectedTeams([]), onSearch: setTeamsSearch }),
|
|
38
|
+
React.createElement(FilterUI, { label: "Workspaces", icon: React.createElement(FAIcon, { icon: faBriefcaseSolid, className: "mr-2" }), options: workspaces, selectedIds: selectedWorkspaces, searchPlaceholder: "Search workspaces...", badgeId: "workspaces-badge", dropdownId: "workspaces-dropdown", onToggle: (id) => setSelectedWorkspaces((prev) => prev.includes(id) ? prev.filter((w) => w !== id) : [...prev, id]), onClearAll: () => setSelectedWorkspaces([]), onSearch: setWorkspacesSearch })),
|
|
39
|
+
React.createElement("div", { className: "flex items-center gap-3" },
|
|
40
|
+
React.createElement("div", { className: "flex items-center gap-1 bg-slate-100 rounded-lg p-1" },
|
|
41
|
+
React.createElement("button", { className: `w-6 h-6 flex items-center justify-center rounded transition-colors ${viewType === "table"
|
|
42
|
+
? "bg-white text-slate-900 shadow-sm"
|
|
43
|
+
: "text-slate-500 hover:text-slate-700"}`, title: "List View", onClick: () => setViewType("table") },
|
|
44
|
+
React.createElement(FAIcon, { icon: faListUlRegular, className: "text-sm" })),
|
|
45
|
+
React.createElement("button", { className: `w-6 h-6 flex items-center justify-center rounded transition-colors ${viewType === "grid"
|
|
46
|
+
? "bg-white text-slate-900 shadow-sm"
|
|
47
|
+
: "text-slate-500 hover:text-slate-700"}`, title: "Grid View", onClick: () => setViewType("grid") },
|
|
48
|
+
React.createElement(FAIcon, { icon: faThLargeSolid, className: "text-sm" }))),
|
|
49
|
+
React.createElement(Button, { type: "primary", onClick: onAdd },
|
|
50
|
+
React.createElement(FAIcon, { icon: faPlusRegular }),
|
|
51
|
+
"New"))))));
|
|
52
|
+
};
|
|
53
|
+
export default FilterTabsBar;
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/my-document/FilterTabsBar/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface FilterUIOption {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
count?: number;
|
|
6
|
+
checked?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface FilterUIProps {
|
|
9
|
+
label: string;
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
options: FilterUIOption[];
|
|
12
|
+
selectedIds: string[];
|
|
13
|
+
searchPlaceholder?: string;
|
|
14
|
+
badgeId?: string;
|
|
15
|
+
dropdownId?: string;
|
|
16
|
+
onToggle: (id: string) => void;
|
|
17
|
+
onClearAll: () => void;
|
|
18
|
+
onSearch: (query: string) => void;
|
|
19
|
+
}
|
|
20
|
+
declare const FilterUI: React.FC<FilterUIProps>;
|
|
21
|
+
export default FilterUI;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button, Input, Checkbox, Space } from "antd";
|
|
3
|
+
import { FontAwesomeIcon as FAIcon, faChevronDownRegular, faChevronUpRegular, } from "@voplus/morpho-ui/es/faIcons";
|
|
4
|
+
const FilterUI = ({ label, icon, options, selectedIds, searchPlaceholder = "Search...", badgeId, dropdownId, onToggle, onClearAll, onSearch, }) => {
|
|
5
|
+
const [showDropdown, setShowDropdown] = React.useState(false);
|
|
6
|
+
const [search, setSearch] = React.useState("");
|
|
7
|
+
const dropdownRef = React.useRef(null);
|
|
8
|
+
React.useEffect(() => {
|
|
9
|
+
if (!showDropdown)
|
|
10
|
+
return;
|
|
11
|
+
const handleClickOutside = (event) => {
|
|
12
|
+
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
13
|
+
setShowDropdown(false);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
17
|
+
return () => {
|
|
18
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
19
|
+
};
|
|
20
|
+
}, [showDropdown]);
|
|
21
|
+
const filteredOptions = options.filter((opt) => opt.name.toLowerCase().includes(search.toLowerCase()));
|
|
22
|
+
return (React.createElement("div", { className: "relative", ref: dropdownRef },
|
|
23
|
+
React.createElement(Button, { disabled: true, type: "default", onClick: () => setShowDropdown((v) => !v) },
|
|
24
|
+
icon,
|
|
25
|
+
label,
|
|
26
|
+
selectedIds.length > 0 && (React.createElement("span", { id: badgeId, className: "ml-1 px-2 py-0.5 bg-blue-100 text-blue-700 rounded-full text-xs" }, selectedIds.length)),
|
|
27
|
+
showDropdown ? (React.createElement(FAIcon, { icon: faChevronUpRegular, className: "ml-1 text-xs" })) : (React.createElement(FAIcon, { icon: faChevronDownRegular, className: "ml-1 text-xs" }))),
|
|
28
|
+
showDropdown && (React.createElement("div", { id: dropdownId, className: "absolute top-full left-0 mt-2 w-72 bg-white border border-slate-200 rounded-lg shadow-lg z-10" },
|
|
29
|
+
React.createElement("div", { className: "p-3 border-b border-slate-200" },
|
|
30
|
+
React.createElement("h3", { className: "text-sm font-semibold text-slate-900 mb-2" },
|
|
31
|
+
"Select ",
|
|
32
|
+
label),
|
|
33
|
+
React.createElement("div", { className: "relative" },
|
|
34
|
+
React.createElement("i", { className: "fas fa-search absolute left-3 top-1/2 transform -translate-y-1/2 text-slate-400 text-sm" }),
|
|
35
|
+
React.createElement(Input, { placeholder: searchPlaceholder, className: "w-full pl-9 pr-3 py-2 border border-slate-300 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500", value: search, onChange: (e) => {
|
|
36
|
+
setSearch(e.target.value);
|
|
37
|
+
onSearch(e.target.value);
|
|
38
|
+
}, onClick: (e) => e.stopPropagation() }))),
|
|
39
|
+
React.createElement("div", { className: "max-h-80 overflow-y-auto" }, filteredOptions.length > 0 ? (filteredOptions.map((opt) => (React.createElement("div", { key: opt.id, className: "flex items-center gap-3 px-4 py-2.5 hover:bg-slate-50 cursor-pointer" },
|
|
40
|
+
React.createElement(Checkbox, { checked: selectedIds.includes(opt.id), onChange: () => onToggle(opt.id), className: "w-4 h-4 text-blue-600 border-slate-300 rounded focus:ring-blue-500" }),
|
|
41
|
+
React.createElement("div", { className: "flex-1" },
|
|
42
|
+
React.createElement("div", { className: "text-sm font-medium text-slate-900" }, opt.name),
|
|
43
|
+
typeof opt.count === "number" && (React.createElement("div", { className: "text-xs text-slate-500" },
|
|
44
|
+
opt.count,
|
|
45
|
+
" documents"))))))) : (React.createElement("div", { className: "px-4 py-8 text-center text-sm text-slate-500" },
|
|
46
|
+
"No ",
|
|
47
|
+
label.toLowerCase(),
|
|
48
|
+
" found"))),
|
|
49
|
+
React.createElement("div", { className: "p-3 border-t border-slate-200 flex items-center justify-between" },
|
|
50
|
+
React.createElement("span", { className: "text-xs text-slate-600" },
|
|
51
|
+
selectedIds.length,
|
|
52
|
+
" selected"),
|
|
53
|
+
React.createElement(Space, null,
|
|
54
|
+
React.createElement(Button, { type: "link", size: "small", onClick: onClearAll, className: "text-xs font-medium" }, "Reset"),
|
|
55
|
+
React.createElement(Button, { type: "link", size: "small", onClick: onClearAll, className: "text-xs text-blue-600 hover:text-blue-700 font-medium" }, "Apply")))))));
|
|
56
|
+
};
|
|
57
|
+
export default FilterUI;
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/my-document/FilterUI/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { observe } from "@voplus/morpho-ui";
|
|
3
|
+
import { FontAwesomeIcon as FAIcon, faFolderOpenSolid } from '@voplus/morpho-ui/es/faIcons';
|
|
4
|
+
const Header = () => {
|
|
5
|
+
return observe(() => (React.createElement("div", { className: "bg-white px-8 py-6 flex-shrink-0" },
|
|
6
|
+
React.createElement("div", { className: "flex items-center gap-4" },
|
|
7
|
+
React.createElement("div", { className: "w-12 h-12 bg-blue-50 border border-blue-200 rounded-lg flex items-center justify-center flex-shrink-0" },
|
|
8
|
+
React.createElement(FAIcon, { icon: faFolderOpenSolid, className: "text-blue-600 text-xl" })),
|
|
9
|
+
React.createElement("div", null,
|
|
10
|
+
React.createElement("h1", { className: "text-xl font-bold text-slate-900" }, "My Documents"),
|
|
11
|
+
React.createElement("p", { className: "text-sm text-slate-600" }, "Access and manage your documents from all sources"))),
|
|
12
|
+
React.createElement("div", { className: "mt-6 border-b border-slate-200" }))));
|
|
13
|
+
};
|
|
14
|
+
export default Header;
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/my-document/Header/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,eAAe,IAAI,MAAM,EAAE,iBAAiB,EAAC,MAAM,8BAA8B,CAAA;AAEzF,MAAM,MAAM,GAAG,GAAG,EAAE;IACnB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BAAK,SAAS,EAAC,kCAAkC;QAChD,6BAAK,SAAS,EAAC,yBAAyB;YACvC,6BAAK,SAAS,EAAC,uGAAuG;gBACrH,oBAAC,MAAM,IAAC,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAC,uBAAuB,GAAG,CAChE;YACN;gBACC,4BAAI,SAAS,EAAC,kCAAkC,mBAAkB;gBAClE,2BAAG,SAAS,EAAC,wBAAwB,wDAEjC,CACC,CACD;QACN,6BAAK,SAAS,EAAC,gCAAgC,GAAO,CACjD,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
.document-table-ui-hide-scrollbar {
|
|
2
|
+
/* 兼容 antd Table 横向滚动条隐藏 */
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.document-table-ui-hide-scrollbar .ant-table-content,
|
|
6
|
+
.document-table-ui-hide-scrollbar .ant-table-body {
|
|
7
|
+
/* 隐藏滚动条 */
|
|
8
|
+
-ms-overflow-style: none; /* IE and Edge */
|
|
9
|
+
scrollbar-width: none; /* Firefox */
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.document-table-ui-hide-scrollbar .ant-table-content::-webkit-scrollbar,
|
|
13
|
+
.document-table-ui-hide-scrollbar .ant-table-body::-webkit-scrollbar {
|
|
14
|
+
height: 0 !important;
|
|
15
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IDocument } from "@voplus/morpho-document-core";
|
|
3
|
+
import "./index.css";
|
|
4
|
+
declare const TableView: (props: {
|
|
5
|
+
list: IDocument[];
|
|
6
|
+
loading?: boolean;
|
|
7
|
+
onItemClick?: (id: string) => void;
|
|
8
|
+
}) => React.JSX.Element;
|
|
9
|
+
export default TableView;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Table, Flex, Button, Modal, message } from "antd";
|
|
3
|
+
import { observe } from "@voplus/morpho-ui";
|
|
4
|
+
import { Restore, Open, Versions, Download, } from "@voplus/morpho-document/es/controls/DocumentToolbar/buttons";
|
|
5
|
+
import { useMetaStore, useDocumentStore, useSelectNodeInfoService, } from "@voplus/morpho-document-core";
|
|
6
|
+
import DocumentReference from "@voplus/morpho-document/es/controls/DocumentReference";
|
|
7
|
+
import DocumentToolbar from "@voplus/morpho-document/es/controls/DocumentToolbar";
|
|
8
|
+
import FlagProperty from "@voplus/morpho-document/es/controls/FlagProperty";
|
|
9
|
+
import MentionList from "@voplus/morpho-org/es/controls/MentionList";
|
|
10
|
+
import UTCShortDate from "@voplus/morpho-ui/es/controls/UTCShortDate";
|
|
11
|
+
import TagView from "@voplus/morpho-org/es/modules/tag/TagView";
|
|
12
|
+
import "./index.css";
|
|
13
|
+
const TableView = (props) => {
|
|
14
|
+
const { list, loading } = props;
|
|
15
|
+
const [selectedRowKeys, setSelectedRowKeys] = useState([]);
|
|
16
|
+
const meta = useMetaStore();
|
|
17
|
+
const store = useDocumentStore();
|
|
18
|
+
const select = useSelectNodeInfoService();
|
|
19
|
+
const onSelectChange = (newSelectedRowKeys) => {
|
|
20
|
+
setSelectedRowKeys(newSelectedRowKeys);
|
|
21
|
+
};
|
|
22
|
+
const rowSelection = {
|
|
23
|
+
selectedRowKeys,
|
|
24
|
+
columnWidth: 45,
|
|
25
|
+
onChange: onSelectChange,
|
|
26
|
+
};
|
|
27
|
+
const hasSelected = selectedRowKeys.length > 0;
|
|
28
|
+
const handleDelete = () => {
|
|
29
|
+
// TODO: 实现删除逻辑
|
|
30
|
+
if (!selectedRowKeys.length) {
|
|
31
|
+
message.warning("Nothing to choose");
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
store.delete(selectedRowKeys, { DeleteChilds: true }).then(() => setSelectedRowKeys([]));
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const handleSelect = () => {
|
|
38
|
+
if (!selectedRowKeys.length) {
|
|
39
|
+
message.warning("Nothing to choose");
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
select.add(selectedRowKeys);
|
|
43
|
+
setSelectedRowKeys([]);
|
|
44
|
+
};
|
|
45
|
+
const handleLock = () => {
|
|
46
|
+
// TODO: 实现锁定逻辑
|
|
47
|
+
if (!selectedRowKeys.length) {
|
|
48
|
+
message.warning("Nothing to choose");
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
store.lock(selectedRowKeys, { error: "message" }).then(() => setSelectedRowKeys([]));
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
const handleUnlock = () => {
|
|
55
|
+
// TODO: 实现解锁逻辑
|
|
56
|
+
if (!selectedRowKeys.length) {
|
|
57
|
+
message.warning("Nothing to choose");
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
store.unlock(selectedRowKeys, { error: "message" }).then(() => setSelectedRowKeys([]));
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const columns = [
|
|
64
|
+
{
|
|
65
|
+
title: (React.createElement("span", { className: "text-xs font-semibold text-slate-500 uppercase tracking-wider" }, "Name")),
|
|
66
|
+
dataIndex: "name",
|
|
67
|
+
key: "name",
|
|
68
|
+
width: 425,
|
|
69
|
+
fixed: "start",
|
|
70
|
+
render: (_, doc) => (React.createElement("div", { className: "flex items-center gap-3" },
|
|
71
|
+
React.createElement("div", { className: "shrink-0" }, meta.getIcon(doc)),
|
|
72
|
+
React.createElement("div", { className: "flex flex-col" },
|
|
73
|
+
React.createElement("span", { className: "font-medium text-slate-900" }, doc.name)))),
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
title: (React.createElement("span", { className: "text-xs font-semibold text-slate-500 uppercase tracking-wider" }, "Document Date")),
|
|
77
|
+
dataIndex: "date",
|
|
78
|
+
key: "date",
|
|
79
|
+
minWidth: 150,
|
|
80
|
+
render: (_, doc) => doc.date ? (React.createElement(UTCShortDate, { className: "tabular-nums font-medium text-gray-700", value: doc.date, format: "DD MMM YYYY" })) : (React.createElement("span", { className: "add-info-style" }, "no Data")),
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
title: (React.createElement("span", { className: "text-xs font-semibold text-slate-500 uppercase tracking-wider" }, "Create Date")),
|
|
84
|
+
dataIndex: "createDate",
|
|
85
|
+
key: "createDate",
|
|
86
|
+
minWidth: 150,
|
|
87
|
+
render: (_, doc) => doc.createDate ? (React.createElement(UTCShortDate, { className: "tabular-nums font-medium text-gray-700", value: doc.createDate, format: "DD MMM YYYY" })) : (React.createElement("span", { className: "add-info-style" }, "no Data")),
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
title: (React.createElement("span", { className: "text-xs font-semibold text-slate-500 uppercase tracking-wider" }, "Create By")),
|
|
91
|
+
dataIndex: "createdBy",
|
|
92
|
+
key: "createdBy",
|
|
93
|
+
minWidth: 150,
|
|
94
|
+
render: (_, doc) => (React.createElement("div", { className: "cell-content", onClick: (e) => e.stopPropagation() },
|
|
95
|
+
React.createElement(MentionList, { contacts: doc.createdBy ? [doc.createdBy] : [], canEdit: false, placeholder: "no Data", unitReferenceProps: { type: "link" } }))),
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
title: (React.createElement("span", { className: "text-xs font-semibold text-slate-500 uppercase tracking-wider" }, "Folder")),
|
|
99
|
+
dataIndex: "folder",
|
|
100
|
+
key: "folder",
|
|
101
|
+
width: 150,
|
|
102
|
+
render: (_, doc) => doc.folder ? (React.createElement("div", { className: "cell-content", onClick: (e) => e.stopPropagation() },
|
|
103
|
+
React.createElement(DocumentReference, { id: doc.parentNodeId, type: "link" }))) : (React.createElement("span", { className: "add-info-style" }, "no Data")),
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
title: (React.createElement("span", { className: "text-xs font-semibold text-slate-500 uppercase tracking-wider" }, "Flag")),
|
|
107
|
+
dataIndex: "flag",
|
|
108
|
+
key: "flag",
|
|
109
|
+
render: (_, doc) => (React.createElement("div", { className: "cell-content" },
|
|
110
|
+
React.createElement(FlagProperty, { showEditIcon: false, id: doc.id, flag: doc.flag }))),
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
title: (React.createElement("span", { className: "text-xs font-semibold text-slate-500 uppercase tracking-wider" }, "Tags")),
|
|
114
|
+
dataIndex: "tags",
|
|
115
|
+
key: "tags",
|
|
116
|
+
render: (_, doc) => (React.createElement("div", { className: "cell-content" },
|
|
117
|
+
React.createElement(TagView, { id: doc.id, tags: doc.tags, items: store.items, editable: false }))),
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
title: "",
|
|
121
|
+
key: "operate",
|
|
122
|
+
width: 75,
|
|
123
|
+
fixed: "end",
|
|
124
|
+
render: (_, doc) => (React.createElement("div", { className: "cell-content" },
|
|
125
|
+
React.createElement(DocumentToolbar, { id: doc.id },
|
|
126
|
+
React.createElement(Open, { url: meta.getRoute(doc) }),
|
|
127
|
+
doc.status === "Archived" && React.createElement(Restore, null),
|
|
128
|
+
React.createElement(Versions, null),
|
|
129
|
+
doc.type === "File" && React.createElement(Download, null)))),
|
|
130
|
+
className: "text-right",
|
|
131
|
+
},
|
|
132
|
+
];
|
|
133
|
+
return observe(() => (React.createElement("div", { style: { height: "100%", overflow: "auto" }, className: "bg-white border border-slate-200 rounded-lg overflow-hidden document-table-ui-hide-scrollbar" },
|
|
134
|
+
hasSelected && (React.createElement(Flex, { gap: "middle", align: "center", className: "p-2.5!" },
|
|
135
|
+
React.createElement(Button, { size: "small", type: "text", danger: true, onClick: () => Modal.confirm({
|
|
136
|
+
title: "Do you want to delete these items ?",
|
|
137
|
+
onOk: handleDelete,
|
|
138
|
+
}) }, "Delete"),
|
|
139
|
+
React.createElement(Button, { size: "small", type: "text", className: "text-blue-500!", onClick: handleSelect }, "Select"),
|
|
140
|
+
React.createElement(Button, { size: "small", type: "text", className: "text-blue-500!", onClick: handleLock }, "Lock"),
|
|
141
|
+
React.createElement(Button, { size: "small", type: "text", className: "text-blue-500!", onClick: handleUnlock }, "Unlock"),
|
|
142
|
+
React.createElement(Button, { size: "small", type: "text", onClick: () => setSelectedRowKeys([]) }, "Cancel"),
|
|
143
|
+
React.createElement("span", { className: "text-slate-500 text-sm" },
|
|
144
|
+
"Selected ",
|
|
145
|
+
selectedRowKeys.length,
|
|
146
|
+
" items"))),
|
|
147
|
+
React.createElement(Table, { rowKey: "id", pagination: false, loading: loading, columns: columns, dataSource: list, scroll: { x: "max-content" }, rowClassName: () => "hover:bg-slate-50 cursor-pointer transition-colors", rowSelection: rowSelection, onRow: (record) => ({
|
|
148
|
+
onClick: (event) => {
|
|
149
|
+
var _a;
|
|
150
|
+
if (!(event.target instanceof HTMLElement))
|
|
151
|
+
return;
|
|
152
|
+
if (!event.target.closest(".cell-content")) {
|
|
153
|
+
(_a = props.onItemClick) === null || _a === void 0 ? void 0 : _a.call(props, record.id);
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
}) }))));
|
|
157
|
+
};
|
|
158
|
+
export default TableView;
|
|
159
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/my-document/SectionTemplate/DocumentTableUI/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IDocument } from "@voplus/morpho-document-core";
|
|
3
|
+
import { IconProp } from "@voplus/morpho-ui/es/faIcons";
|
|
4
|
+
declare const DocumentViewClass: (props: {
|
|
5
|
+
title: string;
|
|
6
|
+
icon?: IconProp;
|
|
7
|
+
list: IDocument[];
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
search?: boolean;
|
|
10
|
+
onSearch?: (val: string) => void;
|
|
11
|
+
onItemClick?: (id: string) => void;
|
|
12
|
+
}) => React.JSX.Element;
|
|
13
|
+
export default DocumentViewClass;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { observe } from "@voplus/morpho-ui";
|
|
3
|
+
import { useDocumentViewContext } from "../../DocumentViewContext";
|
|
4
|
+
import { FontAwesomeIcon as FAIcon } from "@voplus/morpho-ui/es/faIcons";
|
|
5
|
+
import QuickSearch from "@voplus/morpho-ui/es/components/layout/ListView/controls/QuickSearch";
|
|
6
|
+
import TableUI from "../DocumentTableUI";
|
|
7
|
+
import GridUI from "../GridUI";
|
|
8
|
+
const DocumentViewClass = (props) => {
|
|
9
|
+
const { list, title, icon, loading = false, search = true } = props;
|
|
10
|
+
const { viewType } = useDocumentViewContext();
|
|
11
|
+
return observe(() => (React.createElement("div", { className: "mb-8" },
|
|
12
|
+
React.createElement("div", { className: "flex items-center justify-between mb-4" },
|
|
13
|
+
React.createElement("div", { className: "flex items-center gap-2" },
|
|
14
|
+
icon && React.createElement(FAIcon, { icon: icon }),
|
|
15
|
+
React.createElement("h2", { className: "text-xl font-bold text-slate-900" }, title),
|
|
16
|
+
React.createElement("span", { className: "text-sm text-slate-500" },
|
|
17
|
+
"(",
|
|
18
|
+
list.length,
|
|
19
|
+
")")),
|
|
20
|
+
React.createElement("div", { className: "flex items-center gap-2" }, search && React.createElement(QuickSearch, { onChange: (val) => { var _a; return (_a = props.onSearch) === null || _a === void 0 ? void 0 : _a.call(props, val); } }))),
|
|
21
|
+
React.createElement("div", { className: "pinned-content" }, viewType === "table" ? (React.createElement(TableUI, { loading: loading, list: list, onItemClick: props.onItemClick })) : (React.createElement(GridUI, { loading: loading, list: list, onItemClick: props.onItemClick }))))));
|
|
22
|
+
};
|
|
23
|
+
export default DocumentViewClass;
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/my-document/SectionTemplate/DocumentViewClass/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,eAAe,IAAI,MAAM,EAAY,MAAM,8BAA8B,CAAC;AACnF,OAAO,WAAW,MAAM,sEAAsE,CAAC;AAC/F,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,iBAAiB,GAAG,CAAC,KAQ1B,EAAE,EAAE;IACJ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAEpE,MAAM,EAAE,QAAQ,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAE9C,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BAAK,SAAS,EAAC,MAAM;QACpB,6BAAK,SAAS,EAAC,wCAAwC;YACtD,6BAAK,SAAS,EAAC,yBAAyB;gBACtC,IAAI,IAAI,oBAAC,MAAM,IAAC,IAAI,EAAE,IAAI,GAAI;gBAC/B,4BAAI,SAAS,EAAC,kCAAkC,IAAE,KAAK,CAAM;gBAC7D,8BAAM,SAAS,EAAC,wBAAwB;;oBAAG,IAAI,CAAC,MAAM;wBAAS,CAC1D;YAEN,6BAAK,SAAS,EAAC,yBAAyB,IACtC,MAAM,IAAI,oBAAC,WAAW,IAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,QAAQ,sDAAG,GAAG,CAAC,CAAA,EAAA,GAAI,CAC/D,CACD;QAEN,6BAAK,SAAS,EAAC,gBAAgB,IAC7B,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CACvB,oBAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,GAAI,CACzE,CAAC,CAAC,CAAC,CACH,oBAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,GAAI,CACxE,CACI,CACD,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Skeleton } from "antd";
|
|
3
|
+
import { observe } from "@voplus/morpho-ui";
|
|
4
|
+
import { useApplicationContext } from "@voplus/morpho-data";
|
|
5
|
+
import { FontAwesomeIcon as FAIcon, faFolderOpenSolid } from "@voplus/morpho-ui/es/faIcons";
|
|
6
|
+
import { Restore, Open, Versions, Download, } from "@voplus/morpho-document/es/controls/DocumentToolbar/buttons";
|
|
7
|
+
import { useMetaStore, useDocumentStore } from "@voplus/morpho-document-core";
|
|
8
|
+
import DocumentDataIconBar from "@voplus/morpho-document/es/controls/DocumentDataIconBar";
|
|
9
|
+
import DocumentToolbar from "@voplus/morpho-document/es/controls/DocumentToolbar";
|
|
10
|
+
import MentionList from "@voplus/morpho-org/es/controls/MentionList";
|
|
11
|
+
import TagView from "@voplus/morpho-org/es/modules/tag/TagView";
|
|
12
|
+
const GridView = (props) => {
|
|
13
|
+
const { list } = props;
|
|
14
|
+
const { user } = useApplicationContext();
|
|
15
|
+
const meta = useMetaStore();
|
|
16
|
+
const store = useDocumentStore();
|
|
17
|
+
return observe(() => (React.createElement(Skeleton, { loading: props.loading, active: true, paragraph: { rows: 3 } }, list.length > 0 ? (React.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 items-stretch [grid-auto-rows:1fr]" }, list.map((doc) => (React.createElement("div", { key: doc.id, onClick: () => { var _a; return (_a = props.onItemClick) === null || _a === void 0 ? void 0 : _a.call(props, doc.id); }, className: "group relative bg-white border rounded-lg p-4 hover:shadow-md transition-all cursor-pointer border-slate-200" },
|
|
18
|
+
React.createElement("div", { className: "absolute top-2 right-2" },
|
|
19
|
+
React.createElement(DocumentToolbar, { id: doc.id },
|
|
20
|
+
React.createElement(Open, { url: meta.getRoute(doc) }),
|
|
21
|
+
doc.status === "Archived" && React.createElement(Restore, null),
|
|
22
|
+
React.createElement(Versions, null),
|
|
23
|
+
doc.type === "File" && React.createElement(Download, null))),
|
|
24
|
+
React.createElement("div", { className: "flex items-start gap-3" },
|
|
25
|
+
React.createElement("div", { className: "flex-shrink-0 text-slate-500 text-xl" }, meta.getIcon(doc)),
|
|
26
|
+
React.createElement("div", { className: "flex-1 min-w-0" },
|
|
27
|
+
React.createElement("h3", { className: "font-semibold text-slate-900 truncate group-hover:text-blue-600 transition-colors" }, doc.name),
|
|
28
|
+
React.createElement("div", { className: "mt-2 flex flex-wrap items-center! gap-2 text-xs text-slate-500" },
|
|
29
|
+
React.createElement(MentionList, { contacts: doc.createdBy ? [doc.createdBy] : [], placeholder: "no Data", canEdit: false }),
|
|
30
|
+
React.createElement("div", null,
|
|
31
|
+
React.createElement(DocumentDataIconBar, { id: doc.id }))),
|
|
32
|
+
React.createElement(TagView, { id: doc.id, tags: doc.tags, items: store.items, editable: user.can("edit", doc.p, { asset: "Tags" }) && !doc.readonly })))))))) : (React.createElement("div", { className: "text-center py-12" },
|
|
33
|
+
React.createElement("div", { className: "mb-4" },
|
|
34
|
+
React.createElement(FAIcon, { icon: faFolderOpenSolid, className: "text-slate-300 text-6xl" })),
|
|
35
|
+
React.createElement("h3", { className: "text-lg font-semibold text-slate-900 mb-2" }, "No documents found"),
|
|
36
|
+
React.createElement("p", { className: "text-slate-600" }, "Try adjusting your filters or create a new document."))))));
|
|
37
|
+
};
|
|
38
|
+
export default GridView;
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/my-document/SectionTemplate/GridUI/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { observe } from "@voplus/morpho-ui";
|
|
3
|
+
import { generatePath } from "react-router";
|
|
4
|
+
import { useLayout } from "@voplus/morpho-data";
|
|
5
|
+
import { Scrollbars } from "react-custom-scrollbars-2";
|
|
6
|
+
import { DocumentViewProvider } from "./DocumentViewContext";
|
|
7
|
+
import AsideContent from "@voplus/morpho-ui/es/components/layout/AsideContent";
|
|
8
|
+
import NewDocumentForm from "@voplus/morpho-document/es/components/NewDocumentForm";
|
|
9
|
+
import PinnedSection from "../pin/components/PinnedSection";
|
|
10
|
+
import DocumentSection from "./DocumentSection";
|
|
11
|
+
import FilterTabsBar from "./FilterTabsBar";
|
|
12
|
+
import Header from "./Header";
|
|
13
|
+
const MyDocumentPage = (props) => {
|
|
14
|
+
const [asideContext] = useState(AsideContent.createContext());
|
|
15
|
+
const [active, setActive] = useState("pinned");
|
|
16
|
+
const layout = useLayout();
|
|
17
|
+
return observe(() => (React.createElement(AsideContent, { context: asideContext },
|
|
18
|
+
React.createElement(DocumentViewProvider, null,
|
|
19
|
+
React.createElement("div", { className: "inset-0 flex flex-col bg-slate-50" },
|
|
20
|
+
React.createElement(Header, null),
|
|
21
|
+
React.createElement(FilterTabsBar, { activeTab: active, onAdd: handleAdd, onChange: setActive }),
|
|
22
|
+
React.createElement("div", { className: "flex-1 p-8 bg-white" },
|
|
23
|
+
React.createElement(Scrollbars, { autoHide: true },
|
|
24
|
+
active === "pinned" && (React.createElement(PinnedSection, { onClickItem: (id) => {
|
|
25
|
+
layout.history.push(generatePath(props.path, { active: id }));
|
|
26
|
+
} })),
|
|
27
|
+
active === "personal" && (React.createElement(DocumentSection, { id: props.parentId, onClickItem: (id) => {
|
|
28
|
+
layout.history.push(generatePath(props.path, { active: id }));
|
|
29
|
+
} })))))))));
|
|
30
|
+
function handleAdd() {
|
|
31
|
+
asideContext.openAside(React.createElement(NewDocumentForm, { parentId: props.parentId }), {
|
|
32
|
+
span: 10,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export default MyDocumentPage;
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/my-document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,YAAY,MAAM,qDAAqD,CAAC;AAC/E,OAAO,eAAe,MAAM,uDAAuD,CAAC;AACpF,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,cAAc,GAAG,CAAC,KAAyC,EAAE,EAAE;IACpE,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAwB,QAAQ,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,YAAY,IAAC,OAAO,EAAE,YAAY;QAClC,oBAAC,oBAAoB;YACpB,6BAAK,SAAS,EAAC,mCAAmC;gBACjD,oBAAC,MAAM,OAAG;gBACV,oBAAC,aAAa,IAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,GAAI;gBAC3E,6BAAK,SAAS,EAAC,qBAAqB;oBACnC,oBAAC,UAAU,IAAC,QAAQ;wBAClB,MAAM,KAAK,QAAQ,IAAI,CACvB,oBAAC,aAAa,IACb,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;gCACnB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;4BAC/D,CAAC,GACA,CACF;wBACA,MAAM,KAAK,UAAU,IAAI,CACzB,oBAAC,eAAe,IACf,EAAE,EAAE,KAAK,CAAC,QAAQ,EAClB,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;gCACnB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;4BAC/D,CAAC,GACA,CACF,CACW,CACR,CACD,CACgB,CACT,CACf,CAAC,CAAC;IAEH,SAAS,SAAS;QACjB,YAAY,CAAC,SAAS,CAAC,oBAAC,eAAe,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,EAAE;YACrE,IAAI,EAAE,EAAE;SACR,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 使用在 MyDocument 中的全新 UI 设计
|
|
3
|
+
* */
|
|
4
|
+
import React, { useState } from "react";
|
|
5
|
+
import { State } from "../MyPinned/state";
|
|
6
|
+
import { useOnDeleteDocument, useDocumentListEffect, } from "@voplus/morpho-document-core";
|
|
7
|
+
import { useOnPinDocument, useOnUnPinDocument, useOnFlagChange, } from "@voplus/morpho-document-core/es/data/DocumentStore/hooks/pin-events";
|
|
8
|
+
import { faExclamationCircleSolid, faStarSolid } from "@voplus/morpho-ui/es/faIcons";
|
|
9
|
+
import { observe, useAsideContentContext, useRenderOnChange } from "@voplus/morpho-ui";
|
|
10
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data/ListDataContext";
|
|
11
|
+
import DocumentPropertiesView from "@voplus/morpho-document-core/es/components/DocumentPropertiesView";
|
|
12
|
+
import PinnedClass from "../../../my-document/SectionTemplate/DocumentViewClass";
|
|
13
|
+
const PinnedSection = (props) => {
|
|
14
|
+
const [state] = useState(new State());
|
|
15
|
+
const asideContext = useAsideContentContext();
|
|
16
|
+
const list = useCreateListDataState({
|
|
17
|
+
filterDefaults: {
|
|
18
|
+
includes: "tags,createdby,folder",
|
|
19
|
+
filters: [{ c: "Pin", l: "And", o: "=", v1: "True" }],
|
|
20
|
+
page: { Page: 1, PageSize: 500 },
|
|
21
|
+
},
|
|
22
|
+
}, []);
|
|
23
|
+
/** 如果 list.filters.options变更了就重渲染,使下一行的useTaskListEffect 可以接收新参数*/
|
|
24
|
+
useRenderOnChange(() => list.filters.options);
|
|
25
|
+
/** 把ListDataState传给useTaskListEffect,使之可以自動更新loading, hasmore. */
|
|
26
|
+
useDocumentListEffect(list, (result, total) => {
|
|
27
|
+
list.union(result);
|
|
28
|
+
state.update(result, "new", true);
|
|
29
|
+
}, { ...list.filters.options, Total: true });
|
|
30
|
+
useOnPinDocument((s, d) => state.update([d], "new"));
|
|
31
|
+
useOnUnPinDocument((s, d) => state.update([d], "del"));
|
|
32
|
+
useOnFlagChange((s, d) => state.onChangeFlag(d));
|
|
33
|
+
useOnDeleteDocument((s, d) => state.update([d], "del"));
|
|
34
|
+
return observe(() => (React.createElement(ListDataContext.Provider, { value: list },
|
|
35
|
+
React.createElement(PinnedClass, { icon: faStarSolid, title: "Starred", loading: list.loading, list: state.starredList, onSearch: (val) => list.triggerSearch(val), onItemClick: onItemClick }),
|
|
36
|
+
React.createElement(PinnedClass, { icon: faExclamationCircleSolid, title: "Urgent", search: false, loading: list.loading, list: state.urgentList, onSearch: (val) => list.triggerSearch(val), onItemClick: onItemClick }),
|
|
37
|
+
React.createElement(PinnedClass, { title: "Others", search: false, loading: list.loading, list: state.othersList, onSearch: (val) => list.triggerSearch(val), onItemClick: onItemClick }))));
|
|
38
|
+
function onItemClick(id) {
|
|
39
|
+
var _a;
|
|
40
|
+
asideContext === null || asideContext === void 0 ? void 0 : asideContext.openAside(React.createElement(DocumentPropertiesView, { id: id }), { span: 10 });
|
|
41
|
+
(_a = props.onClickItem) === null || _a === void 0 ? void 0 : _a.call(props, id);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
export default PinnedSection;
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/pin/components/PinnedSection/index.tsx"],"names":[],"mappings":"AAAA;;KAEK;AAEL,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAEN,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GACf,MAAM,qEAAqE,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACpG,OAAO,sBAAsB,MAAM,mEAAmE,CAAC;AACvG,OAAO,WAAW,MAAM,wDAAwD,CAAC;AAEjF,MAAM,aAAa,GAAG,CAAC,KAA6C,EAAE,EAAE;IACvE,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAEtC,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAE9C,MAAM,IAAI,GAAG,sBAAsB,CAClC;QACC,cAAc,EAAE;YACf,QAAQ,EAAE,uBAAuB;YACjC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;YACrD,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;SAChC;KACD,EACD,EAAE,CACF,CAAC;IAEF,mEAAmE;IACnE,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,kEAAkE;IAClE,qBAAqB,CACpB,IAAI,EACJ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,EACD,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CACxC,CAAC;IAEF,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAErD,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAEvD,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAExD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI;QACpC,oBAAC,WAAW,IACX,IAAI,EAAE,WAAW,EACjB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,KAAK,CAAC,WAAW,EACvB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAC1C,WAAW,EAAE,WAAW,GACvB;QAEF,oBAAC,WAAW,IACX,IAAI,EAAE,wBAAwB,EAC9B,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAC1C,WAAW,EAAE,WAAW,GACvB;QAEF,oBAAC,WAAW,IACX,KAAK,EAAC,QAAQ,EACd,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAC1C,WAAW,EAAE,WAAW,GACvB,CACwB,CAC3B,CAAC,CAAC;IAEH,SAAS,WAAW,CAAC,EAAU;;QAC9B,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAC,oBAAC,sBAAsB,IAAC,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAA,KAAK,CAAC,WAAW,sDAAG,EAAE,CAAC,CAAC;IACzB,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Select } from "antd";
|
|
3
3
|
import { observe } from "@voplus/morpho-ui";
|
|
4
|
+
import NotFoundContent from "@voplus/morpho-ui/es/controls/NotFoundContent";
|
|
4
5
|
import { useWorkType } from "../../../../../data/worktype";
|
|
5
6
|
const WorkErrorSelect = (props) => {
|
|
6
7
|
const { workTypeId } = props;
|
|
7
8
|
const workType = useWorkType(workTypeId);
|
|
8
9
|
return observe(() => {
|
|
9
10
|
var _a;
|
|
10
|
-
return (React.createElement(Select, { ...props, showSearch: { optionFilterProp: "label" }, options: (_a = workType === null || workType === void 0 ? void 0 : workType.errorTypes) === null || _a === void 0 ? void 0 : _a.map((errorType) => {
|
|
11
|
+
return (React.createElement(Select, { ...props, loading: workType.loading, showSearch: { optionFilterProp: "label" }, notFoundContent: React.createElement(NotFoundContent, { loading: workType.loading }), options: (_a = workType === null || workType === void 0 ? void 0 : workType.errorTypes) === null || _a === void 0 ? void 0 : _a.map((errorType) => {
|
|
11
12
|
return { value: errorType, label: errorType };
|
|
12
13
|
}) }));
|
|
13
14
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-error/controls/WorkErrorSelect/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,eAAe,GAAG,CACvB,KAEe,EACd,EAAE;IACH,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAE7B,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAEzC,OAAO,OAAO,CAAC,GAAG,EAAE;;QAAC,OAAA,CACpB,oBAAC,MAAM,OACF,KAAK,EACT,UAAU,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,EACzC,OAAO,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,0CAAE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBAChD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC/C,CAAC,CAAC,GACD,CACF,CAAA;KAAA,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,CAAC,YAAY,GAAG;IAC9B,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;CACxB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-error/controls/WorkErrorSelect/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,eAAe,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,eAAe,GAAG,CACvB,KAEe,EACd,EAAE;IACH,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAE7B,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAEzC,OAAO,OAAO,CAAC,GAAG,EAAE;;QAAC,OAAA,CACpB,oBAAC,MAAM,OACF,KAAK,EACT,OAAO,EAAE,QAAQ,CAAC,OAAO,EACzB,UAAU,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,EACzC,eAAe,EAAE,oBAAC,eAAe,IAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAI,EAC/D,OAAO,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,0CAAE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBAChD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC/C,CAAC,CAAC,GACD,CACF,CAAA;KAAA,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,CAAC,YAAY,GAAG;IAC9B,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;CACxB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -2,6 +2,7 @@ import React, { useState } from "react";
|
|
|
2
2
|
import { State } from "./state";
|
|
3
3
|
import { Select } from "antd";
|
|
4
4
|
import { observe } from "@voplus/morpho-ui";
|
|
5
|
+
import NotFoundContent from "@voplus/morpho-ui/es/controls/NotFoundContent";
|
|
5
6
|
import { useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
|
6
7
|
import { useWorkTypeListEffect } from "../../../../../data/worktype";
|
|
7
8
|
const WorkTypeSelect = (props) => {
|
|
@@ -16,7 +17,7 @@ const WorkTypeSelect = (props) => {
|
|
|
16
17
|
page: { Page: 1, PageSize: 300 },
|
|
17
18
|
},
|
|
18
19
|
}, []);
|
|
19
|
-
useWorkTypeListEffect(
|
|
20
|
+
useWorkTypeListEffect(list, (result) => {
|
|
20
21
|
list.union(result);
|
|
21
22
|
setWorkTypeData(result);
|
|
22
23
|
if (props.defaultValue) {
|
|
@@ -30,7 +31,7 @@ const WorkTypeSelect = (props) => {
|
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
}, list.filters.options);
|
|
33
|
-
return observe(() => (React.createElement(Select, { ...props, showSearch: { filterOption: false, onSearch: onSearch }, loading: list.loading, optionLabelProp: "label", placeholder: "Select Work Type", onChange: handleChange, value: state.value, options: workTypeData.map((item) => {
|
|
34
|
+
return observe(() => (React.createElement(Select, { ...props, showSearch: { filterOption: false, onSearch: onSearch }, loading: list.loading, optionLabelProp: "label", placeholder: "Select Work Type", onChange: handleChange, value: state.value, notFoundContent: React.createElement(NotFoundContent, { loading: list.loading }), options: workTypeData.map((item) => {
|
|
34
35
|
var _a;
|
|
35
36
|
return {
|
|
36
37
|
value: item.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeSelect/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeSelect/index.tsx"],"names":[],"mappings":"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"}
|