@voplus/morpho-workspace 1.3.160 → 1.3.162
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/data/work-schedule/WorkScheduleStore.d.ts +33 -0
- package/es/data/work-schedule/WorkScheduleStore.js +115 -0
- package/es/data/work-schedule/WorkScheduleStore.js.map +1 -0
- package/es/data/work-schedule/hooks.d.ts +10 -0
- package/es/data/work-schedule/hooks.js +19 -0
- package/es/data/work-schedule/hooks.js.map +1 -0
- package/es/data/work-schedule/index.d.ts +4 -0
- package/es/data/work-schedule/index.js +5 -0
- package/es/data/work-schedule/index.js.map +1 -0
- package/es/data/work-schedule/interfaces.d.ts +16 -0
- package/es/data/work-schedule/interfaces.js +2 -0
- package/es/data/work-schedule/interfaces.js.map +1 -0
- package/es/data/work-schedule/types.d.ts +25 -0
- package/es/data/work-schedule/types.js +2 -0
- package/es/data/work-schedule/types.js.map +1 -0
- package/es/data/work-schedule/work-schedule-events/index.d.ts +3 -0
- package/es/data/work-schedule/work-schedule-events/index.js +4 -0
- package/es/data/work-schedule/work-schedule-events/index.js.map +1 -0
- package/es/data/work-schedule/work-schedule-events/useAutoUpdateListData.d.ts +4 -0
- package/es/data/work-schedule/work-schedule-events/useAutoUpdateListData.js +15 -0
- package/es/data/work-schedule/work-schedule-events/useAutoUpdateListData.js.map +1 -0
- package/es/data/work-schedule/work-schedule-events/useOnDeleteWorkSchedule.d.ts +4 -0
- package/es/data/work-schedule/work-schedule-events/useOnDeleteWorkSchedule.js +16 -0
- package/es/data/work-schedule/work-schedule-events/useOnDeleteWorkSchedule.js.map +1 -0
- package/es/data/work-schedule/work-schedule-events/useOnNewWorkSchedule.d.ts +4 -0
- package/es/data/work-schedule/work-schedule-events/useOnNewWorkSchedule.js +17 -0
- package/es/data/work-schedule/work-schedule-events/useOnNewWorkSchedule.js.map +1 -0
- package/es/modules/Routes.d.ts +6 -0
- package/es/modules/Routes.js +13 -0
- package/es/modules/Routes.js.map +1 -1
- package/es/modules/work/work-schedule/components/NewWorkScheduleForm/index.d.ts +15 -0
- package/es/modules/work/work-schedule/components/NewWorkScheduleForm/index.js +62 -0
- package/es/modules/work/work-schedule/components/NewWorkScheduleForm/index.js.map +1 -0
- package/es/modules/work/work-schedule/components/NewWorkScheduleForm/index.less +10 -0
- package/es/modules/work/work-schedule/components/NewWorkScheduleForm/state.d.ts +13 -0
- package/es/modules/work/work-schedule/components/NewWorkScheduleForm/state.js +35 -0
- package/es/modules/work/work-schedule/components/NewWorkScheduleForm/state.js.map +1 -0
- package/es/modules/work/work-schedule/components/WorkScheduleHeader/index.d.ts +6 -0
- package/es/modules/work/work-schedule/components/WorkScheduleHeader/index.js +18 -0
- package/es/modules/work/work-schedule/components/WorkScheduleHeader/index.js.map +1 -0
- package/es/modules/work/work-schedule/components/WorkScheduleHeader/index.less +12 -0
- package/es/modules/work/work-schedule/components/WorkScheduleItem/index.d.ts +6 -0
- package/es/modules/work/work-schedule/components/WorkScheduleItem/index.js +80 -0
- package/es/modules/work/work-schedule/components/WorkScheduleItem/index.js.map +1 -0
- package/es/modules/work/work-schedule/components/WorkScheduleItem/index.less +61 -0
- package/es/modules/work/work-schedule/components/WorkScheduleList/index.d.ts +20 -0
- package/es/modules/work/work-schedule/components/WorkScheduleList/index.js +71 -0
- package/es/modules/work/work-schedule/components/WorkScheduleList/index.js.map +1 -0
- package/es/modules/work/work-schedule/components/WorkScheduleList/index.less +12 -0
- package/es/modules/work/work-schedule/components/WorkScheduleProperties/index.d.ts +20 -0
- package/es/modules/work/work-schedule/components/WorkScheduleProperties/index.js +87 -0
- package/es/modules/work/work-schedule/components/WorkScheduleProperties/index.js.map +1 -0
- package/es/modules/work/work-schedule/components/WorkSchedulePropertiesView/index.d.ts +6 -0
- package/es/modules/work/work-schedule/components/WorkSchedulePropertiesView/index.js +15 -0
- package/es/modules/work/work-schedule/components/WorkSchedulePropertiesView/index.js.map +1 -0
- package/es/modules/work/work-schedule/components/WorkScheduleQuickViewDialog/index.d.ts +15 -0
- package/es/modules/work/work-schedule/components/WorkScheduleQuickViewDialog/index.js +30 -0
- package/es/modules/work/work-schedule/components/WorkScheduleQuickViewDialog/index.js.map +1 -0
- package/es/modules/work/work-schedule/components/WorkScheduleQuickViewDialog/index.less +25 -0
- package/es/modules/work/work-schedule/components/WorkScheduleTabs/index.d.ts +6 -0
- package/es/modules/work/work-schedule/components/WorkScheduleTabs/index.js +29 -0
- package/es/modules/work/work-schedule/components/WorkScheduleTabs/index.js.map +1 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleMenu/index.d.ts +13 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleMenu/index.js +44 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleMenu/index.js.map +1 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleMenu/index.less +39 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/index.d.ts +5 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/index.js +29 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/index.js.map +1 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/state.d.ts +19 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/state.js +56 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleStatusFilter/state.js.map +1 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleStatusLabel/index.d.ts +10 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleStatusLabel/index.js +12 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleStatusLabel/index.js.map +1 -0
- package/es/modules/work/work-schedule/controls/WorkScheduleStatusLabel/index.less +21 -0
- package/es/modules/work/work-schedule/pages/WorkScheduleDefaultView/index.d.ts +3 -0
- package/es/modules/work/work-schedule/pages/WorkScheduleDefaultView/index.js +30 -0
- package/es/modules/work/work-schedule/pages/WorkScheduleDefaultView/index.js.map +1 -0
- package/es/modules/work/work-schedule/pages/WorkScheduleDefaultView/index.less +22 -0
- package/package.json +1 -1
@@ -0,0 +1,80 @@
|
|
1
|
+
import React, { useState } from "react";
|
2
|
+
import { observe, useAsideContentContext } from "@voplus/morpho-ui";
|
3
|
+
import { useViewContext } from "@voplus/morpho-document-core/es/data/context/ViewContext";
|
4
|
+
import { useWorkSchedule } from "../../../../../data/work-schedule";
|
5
|
+
import { Skeleton } from "@voplus/antd";
|
6
|
+
import { useLayout } from "@voplus/morpho-data";
|
7
|
+
import { Open } from "@voplus/morpho-document/es/controls/ToolBar/buttons";
|
8
|
+
import ToolBar from "@voplus/morpho-document/es/controls/ToolBar/ToolBar2";
|
9
|
+
import PropertiesView from "../WorkSchedulePropertiesView";
|
10
|
+
import WorkScheduleMenu from "../../controls/WorkScheduleMenu";
|
11
|
+
import WorkScheduleQuickViewDialog from "../WorkScheduleQuickViewDialog";
|
12
|
+
import UnitAvatar from "@voplus/morpho-org/es/components/UnitAvatar";
|
13
|
+
import moment from "moment";
|
14
|
+
import classnames from "classnames";
|
15
|
+
import styles from "./index.less";
|
16
|
+
const WorkScheduleItem = (props) => {
|
17
|
+
const { id, avatar } = props;
|
18
|
+
const workSchedule = useWorkSchedule(id);
|
19
|
+
const asideContext = useAsideContentContext();
|
20
|
+
const layout = useLayout();
|
21
|
+
const view = useViewContext();
|
22
|
+
const [isHover, setIsHover] = useState(false);
|
23
|
+
const [visibleQuickView, setVisibleQuickView] = useState(false);
|
24
|
+
return observe(() => {
|
25
|
+
var _a, _b, _c;
|
26
|
+
return (React.createElement("div", { className: classnames(styles["work-schedule-item"]), onClick: onQuickView, onMouseOver: () => setIsHover(true), onMouseLeave: () => setIsHover(false) },
|
27
|
+
workSchedule.loading ? (React.createElement(Skeleton, { avatar: avatar, paragraph: { rows: 1 } })) : (React.createElement(React.Fragment, null,
|
28
|
+
avatar && (React.createElement("div", { className: "avatar" },
|
29
|
+
React.createElement(UnitAvatar, { id: (_a = workSchedule === null || workSchedule === void 0 ? void 0 : workSchedule.contact) === null || _a === void 0 ? void 0 : _a.id, size: "large" }))),
|
30
|
+
React.createElement("div", { className: "work-schedule-item-content" },
|
31
|
+
React.createElement("div", { className: "work-schedule-item-info" },
|
32
|
+
React.createElement("div", { className: "work-schedule-item-name font-medium truncate" }, (_b = workSchedule.workType) === null || _b === void 0 ? void 0 : _b.name),
|
33
|
+
React.createElement("div", { className: "work-schedule-item-data-bar" },
|
34
|
+
React.createElement("span", { className: "text-sm text-gray-500 margin-right-15" }, `Contact: ${(_c = workSchedule.contact) === null || _c === void 0 ? void 0 : _c.name}`))),
|
35
|
+
React.createElement("div", { className: classnames("work-schedule-item-menus", { hide: isHover }) },
|
36
|
+
React.createElement("div", { className: "work-schedule-item-status" },
|
37
|
+
React.createElement("div", { className: classnames("risk-profile-status-label flex items-baseline text-xl font-semibold commission-amount") }, workSchedule.schedule && (React.createElement("span", null, moment(workSchedule === null || workSchedule === void 0 ? void 0 : workSchedule.schedule).format("YYYY-MM-DD"))))),
|
38
|
+
React.createElement("div", { className: "work-schedule-item-schedule" }, workSchedule.status)),
|
39
|
+
React.createElement("div", { className: classnames("work-schedule-item-tool", { show: isHover }), onClick: (e) => e.stopPropagation() },
|
40
|
+
React.createElement(ToolBar, { id: id, showMenu: false },
|
41
|
+
React.createElement(Open, { url: `/work-schedule/${id}` }),
|
42
|
+
React.createElement(WorkScheduleMenu, { id: id, closeAside: true })))))),
|
43
|
+
visibleQuickView && (React.createElement(WorkScheduleQuickViewDialog, { id: id, visible: true, onCancel: toggleQuickView }))));
|
44
|
+
});
|
45
|
+
/** Quick View */
|
46
|
+
function toggleQuickView() {
|
47
|
+
/* 手机模式 */
|
48
|
+
if (layout.ui.mobile) {
|
49
|
+
const element = asideContext === null || asideContext === void 0 ? void 0 : asideContext.asideContent;
|
50
|
+
asideContext === null || asideContext === void 0 ? void 0 : asideContext.openAside(React.createElement("div", { style: {
|
51
|
+
width: "100%",
|
52
|
+
height: "100%",
|
53
|
+
background: "#fff",
|
54
|
+
position: "absolute",
|
55
|
+
top: "0",
|
56
|
+
} },
|
57
|
+
React.createElement(WorkScheduleQuickViewDialog, { id: id, visible: true, onCancel: () => {
|
58
|
+
if (asideContext === null || asideContext === void 0 ? void 0 : asideContext.asideContent)
|
59
|
+
asideContext.closeAside();
|
60
|
+
asideContext === null || asideContext === void 0 ? void 0 : asideContext.openAside(element, { span: 12 });
|
61
|
+
} })), { span: 12 });
|
62
|
+
}
|
63
|
+
else {
|
64
|
+
setVisibleQuickView(!visibleQuickView);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
/** Quick View */
|
68
|
+
function onQuickView() {
|
69
|
+
if ((view === null || view === void 0 ? void 0 : view.Type) === "PropertiesView" || (view === null || view === void 0 ? void 0 : view.Type) === "QuickView") {
|
70
|
+
toggleQuickView();
|
71
|
+
}
|
72
|
+
else {
|
73
|
+
asideContext === null || asideContext === void 0 ? void 0 : asideContext.openAside(React.createElement(PropertiesView, { id: id }), {
|
74
|
+
span: 12,
|
75
|
+
});
|
76
|
+
}
|
77
|
+
}
|
78
|
+
};
|
79
|
+
export default WorkScheduleItem;
|
80
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/WorkScheduleItem/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
.work-schedule-item {
|
2
|
+
display: flex;
|
3
|
+
min-height: 68px;
|
4
|
+
align-items: center;
|
5
|
+
margin: 0 20px;
|
6
|
+
padding: 10px 0;
|
7
|
+
border-bottom: 1px solid #f2f2f2;
|
8
|
+
|
9
|
+
:global {
|
10
|
+
.avatar {
|
11
|
+
margin-right: 10px;
|
12
|
+
}
|
13
|
+
|
14
|
+
.work-schedule-item-content {
|
15
|
+
display: flex;
|
16
|
+
justify-content: space-between;
|
17
|
+
align-items: center;
|
18
|
+
width: 100%;
|
19
|
+
|
20
|
+
.work-schedule-item-info {
|
21
|
+
display: flex;
|
22
|
+
flex-direction: column;
|
23
|
+
|
24
|
+
.work-schedule-item-data-bar {
|
25
|
+
min-height: 22px;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
.work-schedule-item-menus {
|
30
|
+
display: flex;
|
31
|
+
flex-direction: column;
|
32
|
+
|
33
|
+
&.hide {
|
34
|
+
display: none;
|
35
|
+
}
|
36
|
+
|
37
|
+
.work-schedule-item-status {
|
38
|
+
display: flex;
|
39
|
+
justify-content: end;
|
40
|
+
width: 100%;
|
41
|
+
}
|
42
|
+
|
43
|
+
.work-schedule-item-schedule {
|
44
|
+
display: flex;
|
45
|
+
justify-content: end;
|
46
|
+
width: 100%;
|
47
|
+
color: #00000073;
|
48
|
+
font-size: 12px;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
.work-schedule-item-tool {
|
53
|
+
display: none;
|
54
|
+
|
55
|
+
&.show {
|
56
|
+
display: block;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { IWorkSchedule } from "../../../../../data/work-schedule";
|
3
|
+
declare const WorkScheduleList: {
|
4
|
+
(props: {
|
5
|
+
/** filter by contactId */
|
6
|
+
contactId?: string | undefined;
|
7
|
+
/** title */
|
8
|
+
viewTitle?: React.ReactNode;
|
9
|
+
/** 是否允在 listView 内部打开 aside */
|
10
|
+
asideable?: boolean | undefined;
|
11
|
+
/** Call back when received total number of workSchedule. */
|
12
|
+
onTotal?: ((total: number) => void) | undefined;
|
13
|
+
/** Call back when an item has been clicked on the list. */
|
14
|
+
onClickItem?: ((item: IWorkSchedule) => void) | undefined;
|
15
|
+
}): JSX.Element;
|
16
|
+
defaultProps: {
|
17
|
+
viewTitle: string;
|
18
|
+
};
|
19
|
+
};
|
20
|
+
export default WorkScheduleList;
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import React, { useState } from "react";
|
2
|
+
import { observe } from "@voplus/morpho-ui";
|
3
|
+
import { useRenderOnChange } from "@voplus/morpho-ui";
|
4
|
+
import { useWorkScheduleListEffect } from "../../../../../data/work-schedule";
|
5
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
6
|
+
import { useAutoUpdateListData } from "../../../../../data/work-schedule/work-schedule-events";
|
7
|
+
import NewWorkScheduleForm from "../NewWorkScheduleForm";
|
8
|
+
import DocumentItemFrame from "@voplus/morpho-document/es/controls/DocumentItemFrame";
|
9
|
+
import ListView from "@voplus/morpho-ui/es/components/layout/ListView/ListView2";
|
10
|
+
import WorkScheduleItem from "../WorkScheduleItem";
|
11
|
+
import styles from "./index.less";
|
12
|
+
const WorkScheduleList = (props) => {
|
13
|
+
const { contactId, viewTitle, asideable } = props;
|
14
|
+
const [activeId, setActiveId] = useState("");
|
15
|
+
const list = useCreateListDataState({
|
16
|
+
filterDefaults: {
|
17
|
+
filters: filters(),
|
18
|
+
},
|
19
|
+
}, [contactId]);
|
20
|
+
/** useOnNewDocument, useOnDeleteDocument的sugar syntax 自動更新list. */
|
21
|
+
useAutoUpdateListData(list, (d) => {
|
22
|
+
if (contactId) {
|
23
|
+
return d.contact.id === contactId;
|
24
|
+
}
|
25
|
+
else {
|
26
|
+
return true;
|
27
|
+
}
|
28
|
+
});
|
29
|
+
useRenderOnChange(() => list.filters.options);
|
30
|
+
/** 把ListDataState传给useWorkScheduleListEffect,使之可以自動更新loading, hasmore. */
|
31
|
+
useWorkScheduleListEffect(list, (result, total) => {
|
32
|
+
var _a;
|
33
|
+
list.union(result);
|
34
|
+
(_a = props.onTotal) === null || _a === void 0 ? void 0 : _a.call(props, total);
|
35
|
+
}, {
|
36
|
+
Total: true,
|
37
|
+
...list.filters.options,
|
38
|
+
});
|
39
|
+
return observe(() => (React.createElement(ListDataContext.Provider, { value: list },
|
40
|
+
React.createElement("div", { className: styles["work-schedule-list"] },
|
41
|
+
React.createElement(ListView, { headerProps: {
|
42
|
+
viewTitle: viewTitle,
|
43
|
+
sortable: false,
|
44
|
+
quickSearch: true,
|
45
|
+
// filterViewProps: {
|
46
|
+
// columns: [<WorkScheduleStatusFilter key="WorkScheduleStatusFilter" />],
|
47
|
+
// onFilter,
|
48
|
+
// },
|
49
|
+
}, asideable: asideable, className: "work-schedule-list-content", formView: React.createElement(NewWorkScheduleForm, null), renderItem: ({ item, connectDragSource }) => (React.createElement(DocumentItemFrame, { key: item.id, frameProps: { active: activeId === item.id }, onClick: () => {
|
50
|
+
var _a;
|
51
|
+
setActiveId(item.id);
|
52
|
+
(_a = props.onClickItem) === null || _a === void 0 ? void 0 : _a.call(props, item);
|
53
|
+
} },
|
54
|
+
React.createElement(WorkScheduleItem, { id: item.id }))) })))));
|
55
|
+
function filters() {
|
56
|
+
const filter = [];
|
57
|
+
if (contactId) {
|
58
|
+
filter.push({ c: "Contact", o: "=", l: "And", v1: contactId });
|
59
|
+
}
|
60
|
+
return filter;
|
61
|
+
}
|
62
|
+
function onFilter(context) {
|
63
|
+
context.paging.Page = 1;
|
64
|
+
context.filter();
|
65
|
+
}
|
66
|
+
};
|
67
|
+
WorkScheduleList.defaultProps = {
|
68
|
+
viewTitle: " ",
|
69
|
+
};
|
70
|
+
export default WorkScheduleList;
|
71
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/WorkScheduleList/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
export declare type WorkSchedulePropertiesName = "Schedule" | "WorkType";
|
3
|
+
declare const WorkScheduleProperties: {
|
4
|
+
(props: {
|
5
|
+
id: string;
|
6
|
+
headerVisible?: boolean;
|
7
|
+
workScheduleTitle?: string;
|
8
|
+
workScheduleProperties?: {
|
9
|
+
name: WorkSchedulePropertiesName;
|
10
|
+
visible?: boolean;
|
11
|
+
}[];
|
12
|
+
}): JSX.Element;
|
13
|
+
defaultProps: {
|
14
|
+
workScheduleTitle: string;
|
15
|
+
workScheduleProperties: {
|
16
|
+
name: string;
|
17
|
+
}[];
|
18
|
+
};
|
19
|
+
};
|
20
|
+
export default WorkScheduleProperties;
|
@@ -0,0 +1,87 @@
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
2
|
+
import { Form } from "@voplus/antd";
|
3
|
+
import { observe, InlineEdit } from "@voplus/morpho-ui";
|
4
|
+
import { useWorkSchedule, useWorkScheduleStore } from "../../../../../data/work-schedule";
|
5
|
+
import { Scrollbars } from "react-custom-scrollbars";
|
6
|
+
import { faEllipsisVertical } from "@fortawesome/pro-light-svg-icons";
|
7
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
8
|
+
import FolderEdit from "@voplus/morpho-document/es/controls/FolderEdit";
|
9
|
+
import WorkTypeSelect from "../../../work-type/components/WorkTypeSelect";
|
10
|
+
import PropertiesSection from "@voplus/morpho-ui/es/controls/PropertiesSection";
|
11
|
+
import WorkScheduleMenu from "../../controls/WorkScheduleMenu";
|
12
|
+
import DateInputEditor from "@voplus/morpho-ui/es/controls/InlineEdit/editors/DateInputEditor";
|
13
|
+
import VerificationInformation from "@voplus/morpho-document/es/components/VerificationInformation";
|
14
|
+
import ToolBar from "@voplus/morpho-document/es/controls/ToolBar/ToolBar2";
|
15
|
+
import classnames from "classnames";
|
16
|
+
import moment from "moment";
|
17
|
+
const WorkScheduleProperties = (props) => {
|
18
|
+
const { id, headerVisible, workScheduleTitle, workScheduleProperties } = props;
|
19
|
+
const workSchedule = useWorkSchedule(id);
|
20
|
+
const store = useWorkScheduleStore();
|
21
|
+
const [showWorkTypeEditIcon, setShowWorkTypeEditIcon] = useState(true);
|
22
|
+
const [workTypeEditable, setWorkTypeEditable] = useState(false);
|
23
|
+
const clickEvent = (e) => {
|
24
|
+
if (!e.target.className.toString())
|
25
|
+
return;
|
26
|
+
if (!e.target.className.toString().includes("ant-select-selection-search-input")) {
|
27
|
+
setWorkTypeEditable(false);
|
28
|
+
setShowWorkTypeEditIcon(true);
|
29
|
+
}
|
30
|
+
};
|
31
|
+
useEffect(() => {
|
32
|
+
if (workTypeEditable) {
|
33
|
+
window.addEventListener("click", clickEvent, true);
|
34
|
+
}
|
35
|
+
return () => {
|
36
|
+
window.removeEventListener("click", clickEvent, true);
|
37
|
+
};
|
38
|
+
}, [workTypeEditable]);
|
39
|
+
const filterPro = workScheduleProperties === null || workScheduleProperties === void 0 ? void 0 : workScheduleProperties.filter((i) => (i === null || i === void 0 ? void 0 : i.visible) !== false);
|
40
|
+
return observe(() => {
|
41
|
+
var _a;
|
42
|
+
return (React.createElement("div", { className: "properties-list" },
|
43
|
+
headerVisible && (React.createElement("div", { className: "properties-header" },
|
44
|
+
React.createElement("div", { className: "title" }, (_a = workSchedule === null || workSchedule === void 0 ? void 0 : workSchedule.workType) === null || _a === void 0 ? void 0 : _a.name),
|
45
|
+
React.createElement(ToolBar, { id: id, showMenu: false },
|
46
|
+
React.createElement(WorkScheduleMenu, { id: id, icon: React.createElement(FAIcon, { icon: faEllipsisVertical }) })))),
|
47
|
+
React.createElement(Scrollbars, { autoHide: true },
|
48
|
+
React.createElement(PropertiesSection, { title: "Verification Information", properties: React.createElement(VerificationInformation, { id: id }) }),
|
49
|
+
React.createElement(PropertiesSection, { title: workScheduleTitle, properties: React.createElement(Form, { labelAlign: "left", labelCol: { span: 10 }, scrollToFirstError: true }, filterPro === null || filterPro === void 0 ? void 0 : filterPro.map((i) => (React.createElement(React.Fragment, { key: i.name }, renderProp(i))))) }))));
|
50
|
+
});
|
51
|
+
function renderProp(item) {
|
52
|
+
var _a, _b;
|
53
|
+
switch (item.name) {
|
54
|
+
case "Schedule":
|
55
|
+
return (React.createElement(Form.Item, { label: "Schedule" },
|
56
|
+
React.createElement(InlineEdit, { defaultValue: moment(workSchedule.schedule !== "" ? workSchedule.schedule : undefined), content: (v) => workSchedule.schedule ? (React.createElement("span", null, moment(workSchedule.schedule).format("YYYY-MM-DD"))) : (React.createElement("span", { className: "add-info-style" }, "Add Schedule")), editor: DateInputEditor, onSave: (date) => {
|
57
|
+
if (workSchedule.schedule && moment(date).isSame(workSchedule.schedule, "day"))
|
58
|
+
return;
|
59
|
+
store.edit(props.id, {
|
60
|
+
data: { Schedule: date !== null ? moment(date).format("YYYY-MM-DD") : "" },
|
61
|
+
});
|
62
|
+
} })));
|
63
|
+
case "WorkType":
|
64
|
+
return (React.createElement(Form.Item, { label: "WorkType" },
|
65
|
+
React.createElement(FolderEdit, { showEditIcon: showWorkTypeEditIcon, onEditIconClick: () => {
|
66
|
+
setWorkTypeEditable(true);
|
67
|
+
setShowWorkTypeEditIcon(false);
|
68
|
+
} }, workTypeEditable ? (React.createElement(WorkTypeSelect, { onChange: (_, data) => store
|
69
|
+
.edit(id, {
|
70
|
+
data: { WorkTypeId: data.id },
|
71
|
+
error: "message",
|
72
|
+
})
|
73
|
+
.then(() => {
|
74
|
+
setShowWorkTypeEditIcon(true);
|
75
|
+
setWorkTypeEditable(false);
|
76
|
+
}) })) : (React.createElement("span", { className: classnames({
|
77
|
+
"add-info-style": !((_a = workSchedule.workType) === null || _a === void 0 ? void 0 : _a.name),
|
78
|
+
}) }, ((_b = workSchedule.workType) === null || _b === void 0 ? void 0 : _b.name) || "Select Work Type")))));
|
79
|
+
}
|
80
|
+
}
|
81
|
+
};
|
82
|
+
WorkScheduleProperties.defaultProps = {
|
83
|
+
workScheduleTitle: "WorkSchedule Properties",
|
84
|
+
workScheduleProperties: [{ name: "Schedule" }, { name: "WorkType" }],
|
85
|
+
};
|
86
|
+
export default WorkScheduleProperties;
|
87
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/WorkScheduleProperties/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import React, { useMemo } from "react";
|
2
|
+
import { ViewContext, ViewContextData, } from "@voplus/morpho-document-core/es/data/context/ViewContext";
|
3
|
+
import WorkScheduleHeader from "../WorkScheduleHeader";
|
4
|
+
import WorkScheduleTabs from "../WorkScheduleTabs";
|
5
|
+
import { observe } from "@voplus/morpho-ui";
|
6
|
+
const WorkSchedulePropertiesView = (props) => {
|
7
|
+
const id = props.id;
|
8
|
+
const view = useMemo(() => new ViewContextData("PropertiesView"), []);
|
9
|
+
return observe(() => (React.createElement(ViewContext.Provider, { value: view },
|
10
|
+
React.createElement("div", { className: "module-detail-view work-schedule-properties-view" },
|
11
|
+
React.createElement(WorkScheduleHeader, { id: id }),
|
12
|
+
React.createElement(WorkScheduleTabs, { id: id, properties: true })))));
|
13
|
+
};
|
14
|
+
export default WorkSchedulePropertiesView;
|
15
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/WorkSchedulePropertiesView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EACN,WAAW,EACX,eAAe,GACf,MAAM,0DAA0D,CAAC;AAClE,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,0BAA0B,GAAG,CAAC,KAAwC,EAAE,EAAE;IAC/E,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEtE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI;QAChC,6BAAK,SAAS,EAAC,kDAAkD;YAChE,oBAAC,kBAAkB,IAAC,EAAE,EAAE,EAAE,GAAI;YAC9B,oBAAC,gBAAgB,IAAC,EAAE,EAAE,EAAE,EAAE,UAAU,SAAG,CAClC,CACgB,CACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,0BAA0B,CAAC"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import "./index.less";
|
3
|
+
declare const WorkScheduleQuickViewDialog: {
|
4
|
+
(props: {
|
5
|
+
id: string;
|
6
|
+
visible?: boolean;
|
7
|
+
onCancel?: () => void;
|
8
|
+
/** show close button or not. */
|
9
|
+
closeVisible?: boolean;
|
10
|
+
}): JSX.Element;
|
11
|
+
defaultProps: {
|
12
|
+
closeVisible: boolean;
|
13
|
+
};
|
14
|
+
};
|
15
|
+
export default WorkScheduleQuickViewDialog;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { observe } from "@voplus/morpho-ui";
|
3
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
4
|
+
import { faTimes } from "@fortawesome/pro-light-svg-icons";
|
5
|
+
import WorkScheduleHeader from "../WorkScheduleHeader";
|
6
|
+
import WorkScheduleProperties from "../WorkScheduleProperties";
|
7
|
+
import FlexDialog from "@voplus/morpho-document/es/components/FlexDialog";
|
8
|
+
import "./index.less";
|
9
|
+
const WorkScheduleQuickViewDialog = (props) => {
|
10
|
+
const { id } = props;
|
11
|
+
return observe(() => (React.createElement(FlexDialog, { modalProps: {
|
12
|
+
className: "quickView-modal-style",
|
13
|
+
width: "500px",
|
14
|
+
destroyOnClose: true,
|
15
|
+
closable: false,
|
16
|
+
footer: false,
|
17
|
+
visible: props.visible,
|
18
|
+
onCancel: props.onCancel,
|
19
|
+
}, closeAside: props.onCancel },
|
20
|
+
React.createElement("div", { className: "quickView-content" },
|
21
|
+
props.closeVisible && (React.createElement("div", { className: "work-schedule-close-icon" },
|
22
|
+
React.createElement(FAIcon, { icon: faTimes, onClick: props.onCancel }))),
|
23
|
+
React.createElement(WorkScheduleHeader, { id: id }),
|
24
|
+
React.createElement(WorkScheduleProperties, { id: id })))));
|
25
|
+
};
|
26
|
+
WorkScheduleQuickViewDialog.defaultProps = {
|
27
|
+
closeVisible: true,
|
28
|
+
};
|
29
|
+
export default WorkScheduleQuickViewDialog;
|
30
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/WorkScheduleQuickViewDialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,sBAAsB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAC1E,OAAO,cAAc,CAAC;AAEtB,MAAM,2BAA2B,GAAG,CAAC,KAMpC,EAAE,EAAE;IACJ,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IAErB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,UAAU,IACV,UAAU,EAAE;YACX,SAAS,EAAE,uBAAuB;YAClC,KAAK,EAAE,OAAO;YACd,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACxB,EACD,UAAU,EAAE,KAAK,CAAC,QAAQ;QAE1B,6BAAK,SAAS,EAAC,mBAAmB;YAChC,KAAK,CAAC,YAAY,IAAI,CACtB,6BAAK,SAAS,EAAC,0BAA0B;gBACxC,oBAAC,MAAM,IAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,GAAI,CAC7C,CACN;YACD,oBAAC,kBAAkB,IAAC,EAAE,EAAE,EAAE,GAAI;YAC9B,oBAAC,sBAAsB,IAAC,EAAE,EAAE,EAAE,GAAI,CAC7B,CACM,CACb,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,2BAA2B,CAAC,YAAY,GAAG;IAC1C,YAAY,EAAE,IAAI;CAClB,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
:global {
|
2
|
+
.quickView-modal-style {
|
3
|
+
.ant-modal-close-x {
|
4
|
+
color: #575757;
|
5
|
+
}
|
6
|
+
|
7
|
+
.quickView-content {
|
8
|
+
position: relative;
|
9
|
+
width: 100%;
|
10
|
+
|
11
|
+
.work-schedule-close-icon {
|
12
|
+
position: absolute;
|
13
|
+
right: 20px;
|
14
|
+
top: 14px;
|
15
|
+
font-size: 22px;
|
16
|
+
text-align: right;
|
17
|
+
cursor: pointer;
|
18
|
+
}
|
19
|
+
|
20
|
+
.work-schedule-header {
|
21
|
+
padding: 10px 44px 10px 20px;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import React, { useState } from "react";
|
2
|
+
import { Badge } from "@voplus/antd";
|
3
|
+
import { observe } from "@voplus/morpho-ui";
|
4
|
+
import { useDocumentListEffect } from "@voplus/morpho-document-core";
|
5
|
+
import DocumentTabs from "@voplus/morpho-document/es/components/DocumentTabs";
|
6
|
+
import WorkScheduleProperties from "../WorkScheduleProperties";
|
7
|
+
const WorkScheduleTabs = (props) => {
|
8
|
+
const { id, properties } = props;
|
9
|
+
const [docTotals, setDocTotals] = useState(0);
|
10
|
+
useDocumentListEffect(null, (result, total) => setDocTotals(total || 0), {
|
11
|
+
Total: true,
|
12
|
+
List: false,
|
13
|
+
Filters: [{ c: "ParentNodeId", o: "=", l: "And", v1: id }],
|
14
|
+
});
|
15
|
+
const preData = [];
|
16
|
+
properties &&
|
17
|
+
preData.unshift({
|
18
|
+
key: "Properties",
|
19
|
+
title: "Properties",
|
20
|
+
content: React.createElement(WorkScheduleProperties, { id: id }),
|
21
|
+
});
|
22
|
+
return observe(() => (React.createElement(DocumentTabs, { id: id, active: properties ? "Properties" : "Document", isLinks: false, docTabOptions: {
|
23
|
+
title: (React.createElement(React.Fragment, null,
|
24
|
+
"Document",
|
25
|
+
React.createElement(Badge, { count: docTotals, className: "margin-left-10" }))),
|
26
|
+
}, preData: preData })));
|
27
|
+
};
|
28
|
+
export default WorkScheduleTabs;
|
29
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/WorkScheduleTabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAC9E,OAAO,sBAAsB,MAAM,2BAA2B,CAAC;AAE/D,MAAM,gBAAgB,GAAG,CAAC,KAA2C,EAAE,EAAE;IACxE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9C,qBAAqB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE;QACxE,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;KAC1D,CAAC,CAAC;IAEH,MAAM,OAAO,GAAU,EAAE,CAAC;IAE1B,UAAU;QACT,OAAO,CAAC,OAAO,CAAC;YACf,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,oBAAC,sBAAsB,IAAC,EAAE,EAAE,EAAE,GAAI;SACpC,CAAC,CAAC;IAEX,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,YAAY,IACZ,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAC9C,OAAO,EAAE,KAAK,EACd,aAAa,EAAE;YACd,KAAK,EAAE,CACN;;gBAEC,oBAAC,KAAK,IAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAC,gBAAgB,GAAG,CACpD,CACH;SACD,EACD,OAAO,EAAE,OAAO,GACf,CACF,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import React from "react";
|
2
|
+
declare const WorkScheduleMenu: {
|
3
|
+
(props: {
|
4
|
+
id: string;
|
5
|
+
className?: string;
|
6
|
+
closeAside?: boolean;
|
7
|
+
icon?: React.ReactNode;
|
8
|
+
}): JSX.Element;
|
9
|
+
defaultProps: {
|
10
|
+
icon: JSX.Element;
|
11
|
+
};
|
12
|
+
};
|
13
|
+
export default WorkScheduleMenu;
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import React, { useState } from "react";
|
2
|
+
import { Button, Dropdown, Modal } from "@voplus/antd";
|
3
|
+
import { useWorkScheduleStore } from "../../../../../data/work-schedule";
|
4
|
+
import { observe, useAsideContentContext } from "@voplus/morpho-ui";
|
5
|
+
import { faTrashAlt, faUserEdit, faCircleEllipsis } from "@fortawesome/pro-light-svg-icons";
|
6
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
7
|
+
import PermissionModal from "@voplus/morpho-org/es/controls/PermissionModal";
|
8
|
+
import classnames from "classnames";
|
9
|
+
import styles from "./index.less";
|
10
|
+
const WorkScheduleMenu = (props) => {
|
11
|
+
const [visible, setVisible] = useState(false);
|
12
|
+
const asideContext = useAsideContentContext();
|
13
|
+
const store = useWorkScheduleStore();
|
14
|
+
return observe(() => (React.createElement(Dropdown, { placement: "bottomRight", overlay: React.createElement("div", { className: classnames(styles["work-schedule-menu"], props.className) },
|
15
|
+
React.createElement(Button, { type: "link", onClick: () => setVisible(!visible) },
|
16
|
+
React.createElement(FAIcon, { icon: faUserEdit }),
|
17
|
+
React.createElement("span", null, "Access")),
|
18
|
+
React.createElement(Button, { type: "link", onClick: onClick },
|
19
|
+
React.createElement(FAIcon, { icon: faTrashAlt, color: "#f5222d" }),
|
20
|
+
React.createElement("span", { className: "delete" }, "Delete")),
|
21
|
+
visible && React.createElement(PermissionModal, { id: props.id || "", onChange: () => setVisible(!visible) })) },
|
22
|
+
React.createElement(Button, { size: "small", type: "link" }, props.icon))));
|
23
|
+
function onClick() {
|
24
|
+
/** 如果文件下有子文件, 询问是否删除所有子文件 */
|
25
|
+
Modal.confirm({
|
26
|
+
title: "Do you want to delete this item?",
|
27
|
+
async onOk() {
|
28
|
+
await store.delete([props.id], {
|
29
|
+
data: { DeleteChilds: true },
|
30
|
+
error: "message",
|
31
|
+
});
|
32
|
+
/** 删除后是否关闭Aside */
|
33
|
+
if (!!props.closeAside && (asideContext === null || asideContext === void 0 ? void 0 : asideContext.asideContent))
|
34
|
+
asideContext === null || asideContext === void 0 ? void 0 : asideContext.closeAside();
|
35
|
+
return;
|
36
|
+
},
|
37
|
+
});
|
38
|
+
}
|
39
|
+
};
|
40
|
+
WorkScheduleMenu.defaultProps = {
|
41
|
+
icon: React.createElement(FAIcon, { icon: faCircleEllipsis }),
|
42
|
+
};
|
43
|
+
export default WorkScheduleMenu;
|
44
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/controls/WorkScheduleMenu/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,eAAe,MAAM,gDAAgD,CAAC;AAC7E,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,MAAM,gBAAgB,GAAG,CAAC,KAKzB,EAAE,EAAE;IACJ,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IAErC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,QAAQ,IACR,SAAS,EAAC,aAAa,EACvB,OAAO,EACN,6BAAK,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;YACxE,oBAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;gBACtD,oBAAC,MAAM,IAAC,IAAI,EAAE,UAAU,GAAI;gBAC5B,2CAAmB,CACX;YACT,oBAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,OAAO;gBACnC,oBAAC,MAAM,IAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAC,SAAS,GAAG;gBAC5C,8BAAM,SAAS,EAAC,QAAQ,aAAc,CAC9B;YACR,OAAO,IAAI,oBAAC,eAAe,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAI,CACpF;QAGP,oBAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,IAC9B,KAAK,CAAC,IAAI,CACH,CACC,CACX,CAAC,CAAC;IAEH,SAAS,OAAO;QACf,6BAA6B;QAC7B,KAAK,CAAC,OAAO,CAAC;YACb,KAAK,EAAE,kCAAkC;YACzC,KAAK,CAAC,IAAI;gBACT,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;oBAC9B,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;oBAC5B,KAAK,EAAE,SAAS;iBAChB,CAAC,CAAC;gBACH,mBAAmB;gBACnB,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,KAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,YAAY,CAAA;oBAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,EAAE,CAAC;gBACjF,OAAO;YACR,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC;AAEF,gBAAgB,CAAC,YAAY,GAAG;IAC/B,IAAI,EAAE,oBAAC,MAAM,IAAC,IAAI,EAAE,gBAAgB,GAAI;CACxC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|