@voplus/morpho-workspace 6.0.163 → 6.0.165
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/notification/interfaces.d.ts +5 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js +5 -1
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.d.ts +1 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.js +10 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.js.map +1 -1
- package/es/modules/notification/components/DocumentNotificationCard/index.js +28 -7
- package/es/modules/notification/components/DocumentNotificationCard/index.js.map +1 -1
- package/es/modules/notification/components/DocumentNotificationCard/index.less +67 -5
- package/es/modules/notification/components/NotificationList/index.less +1 -1
- package/es/modules/tasks/components/NewTaskForm/NewTaskFormDialog.d.ts +5 -0
- package/es/modules/tasks/components/NewTaskForm/NewTaskFormDialog.js +11 -0
- package/es/modules/tasks/components/NewTaskForm/NewTaskFormDialog.js.map +1 -0
- package/es/modules/tasks/components/NewTaskForm/index.d.ts +10 -2
- package/es/modules/tasks/components/NewTaskForm/index.js +36 -27
- package/es/modules/tasks/components/NewTaskForm/index.js.map +1 -1
- package/es/modules/work/components/NewWorkForm/index.d.ts +2 -0
- package/es/modules/work/components/NewWorkForm/index.js +1 -1
- package/es/modules/work/components/NewWorkForm/index.js.map +1 -1
- package/es/modules/work/components/WorkTableListCard/TableCell.d.ts +13 -1
- package/es/modules/work/components/WorkTableListCard/TableCell.js +28 -1
- package/es/modules/work/components/WorkTableListCard/TableCell.js.map +1 -1
- package/es/modules/work/components/WorkTableListCard/TableCellDetails.d.ts +43 -0
- package/es/modules/work/components/WorkTableListCard/TableCellDetails.js +130 -0
- package/es/modules/work/components/WorkTableListCard/TableCellDetails.js.map +1 -0
- package/es/modules/work/components/WorkTableListCard/index.d.ts +9 -0
- package/es/modules/work/components/WorkTableListCard/index.js +57 -42
- package/es/modules/work/components/WorkTableListCard/index.js.map +1 -1
- package/es/modules/work/components/WorkTableListCard/index.less +99 -9
- package/es/modules/work/components/WorkTableListCardPage/index.d.ts +17 -0
- package/es/modules/work/components/WorkTableListCardPage/index.js +85 -0
- package/es/modules/work/components/WorkTableListCardPage/index.js.map +1 -0
- package/es/modules/work/components/WorkTableListCardPage/index.less +48 -0
- package/es/modules/work/components/WorkTableListCardPage/state.d.ts +8 -0
- package/es/modules/work/components/WorkTableListCardPage/state.js +54 -0
- package/es/modules/work/components/WorkTableListCardPage/state.js.map +1 -0
- package/es/modules/work/work-type/components/ReportsCompletedWorks/index.d.ts +6 -0
- package/es/modules/work/work-type/components/ReportsCompletedWorks/index.js +24 -0
- package/es/modules/work/work-type/components/ReportsCompletedWorks/index.js.map +1 -0
- package/es/modules/work/work-type/components/ReportsCompletedWorks/index.less +60 -0
- package/es/modules/work/work-type/components/ReportsCompletedWorks/state.d.ts +6 -0
- package/es/modules/work/work-type/components/ReportsCompletedWorks/state.js +27 -0
- package/es/modules/work/work-type/components/ReportsCompletedWorks/state.js.map +1 -0
- package/es/modules/work/work-type/components/WorkTypeSelect/index.d.ts +1 -0
- package/es/modules/work/work-type/components/WorkTypeSelect/index.js +16 -2
- package/es/modules/work/work-type/components/WorkTypeSelect/index.js.map +1 -1
- package/es/modules/work/work-type/components/WorkTypeSelect/state.d.ts +5 -0
- package/es/modules/work/work-type/components/WorkTypeSelect/state.js +24 -0
- package/es/modules/work/work-type/components/WorkTypeSelect/state.js.map +1 -0
- package/es/modules/work/work-type/components/WorkTypeStatsLabel/StatsItem.d.ts +11 -0
- package/es/modules/work/work-type/components/WorkTypeStatsLabel/StatsItem.js +21 -0
- package/es/modules/work/work-type/components/WorkTypeStatsLabel/StatsItem.js.map +1 -0
- package/es/modules/work/work-type/components/WorkTypeStatsLabel/index.d.ts +7 -0
- package/es/modules/work/work-type/components/WorkTypeStatsLabel/index.js +33 -0
- package/es/modules/work/work-type/components/WorkTypeStatsLabel/index.js.map +1 -0
- package/es/modules/work/work-type/components/WorkTypeStatsLabel/index.less +74 -0
- package/es/modules/work/work-type/controls/WorktypeCompleteWorksChart/WorkTypeCompletedWorksChart.d.ts +6 -0
- package/es/modules/work/work-type/controls/WorktypeCompleteWorksChart/WorkTypeCompletedWorksChart.js +85 -0
- package/es/modules/work/work-type/controls/WorktypeCompleteWorksChart/WorkTypeCompletedWorksChart.js.map +1 -0
- package/es/modules/work/work-type/pages/WorkTypePage/Dashboard.js +32 -9
- package/es/modules/work/work-type/pages/WorkTypePage/Dashboard.js.map +1 -1
- package/es/modules/work/work-type/pages/WorkTypePage/Works.d.ts +7 -0
- package/es/modules/work/work-type/pages/WorkTypePage/Works.js +16 -0
- package/es/modules/work/work-type/pages/WorkTypePage/Works.js.map +1 -0
- package/es/modules/work/work-type/pages/WorkTypePage/index.js +8 -57
- package/es/modules/work/work-type/pages/WorkTypePage/index.js.map +1 -1
- package/es/modules/work/work-type/pages/WorkTypePage/index.less +17 -0
- package/es/modules/work/work-type/pages/WorkTypePage/state.d.ts +2 -0
- package/es/modules/work/work-type/pages/WorkTypePage/state.js +37 -0
- package/es/modules/work/work-type/pages/WorkTypePage/state.js.map +1 -1
- package/es/obsolete/WorkTypePage/Dashboard.d.ts +5 -0
- package/es/obsolete/WorkTypePage/Dashboard.js +18 -0
- package/es/obsolete/WorkTypePage/Dashboard.js.map +1 -0
- package/es/obsolete/WorkTypePage/Summary.d.ts +5 -0
- package/es/obsolete/WorkTypePage/Summary.js +21 -0
- package/es/obsolete/WorkTypePage/Summary.js.map +1 -0
- package/es/obsolete/WorkTypePage/WorkListPage.d.ts +7 -0
- package/es/obsolete/WorkTypePage/WorkListPage.js +25 -0
- package/es/obsolete/WorkTypePage/WorkListPage.js.map +1 -0
- package/es/obsolete/WorkTypePage/WorkTypeDescriptionCard.d.ts +5 -0
- package/es/obsolete/WorkTypePage/WorkTypeDescriptionCard.js +14 -0
- package/es/obsolete/WorkTypePage/WorkTypeDescriptionCard.js.map +1 -0
- package/es/obsolete/WorkTypePage/index.d.ts +3 -0
- package/es/obsolete/WorkTypePage/index.js +181 -0
- package/es/obsolete/WorkTypePage/index.js.map +1 -0
- package/es/obsolete/WorkTypePage/index.less +57 -0
- package/es/obsolete/WorkTypePage/state.d.ts +16 -0
- package/es/obsolete/WorkTypePage/state.js +161 -0
- package/es/obsolete/WorkTypePage/state.js.map +1 -0
- package/package.json +1 -1
@@ -0,0 +1,48 @@
|
|
1
|
+
@import "~@voplus/morpho-theme/styles/index.less";
|
2
|
+
|
3
|
+
:global {
|
4
|
+
.work-table-list-card-page {
|
5
|
+
height: 100%;
|
6
|
+
display: flex;
|
7
|
+
flex-direction: column;
|
8
|
+
background-color: #fff;
|
9
|
+
|
10
|
+
.content {
|
11
|
+
padding: 5px 20px 0 20px;
|
12
|
+
&.item-card {
|
13
|
+
.document-table-list-card {
|
14
|
+
height: 550px;
|
15
|
+
.work-table-list-card {
|
16
|
+
height: 480px;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}
|
20
|
+
.document-table-list-card {
|
21
|
+
margin-bottom: 15px;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
.list-view-header-tool {
|
25
|
+
padding: 17px 20px 5px;
|
26
|
+
.search-header-tool {
|
27
|
+
min-width: 160px;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
.work-status-btn {
|
31
|
+
// flex: 2.5;
|
32
|
+
.ant-btn {
|
33
|
+
height: 30px;
|
34
|
+
line-height: 20px;
|
35
|
+
color: @default-border-color;
|
36
|
+
border-radius: @border-radius;
|
37
|
+
border: 1px solid @default-border-color;
|
38
|
+
margin: 0 15px 10px 0;
|
39
|
+
|
40
|
+
&.active {
|
41
|
+
color: @btn-active-color;
|
42
|
+
background: #f4f9ff;
|
43
|
+
border-color: @btn-active-color;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { computed, makeObservable, observable } from "mobx";
|
3
|
+
export class State {
|
4
|
+
constructor(typesId, status) {
|
5
|
+
Object.defineProperty(this, "typesId", {
|
6
|
+
enumerable: true,
|
7
|
+
configurable: true,
|
8
|
+
writable: true,
|
9
|
+
value: typesId
|
10
|
+
});
|
11
|
+
Object.defineProperty(this, "active", {
|
12
|
+
enumerable: true,
|
13
|
+
configurable: true,
|
14
|
+
writable: true,
|
15
|
+
value: "All"
|
16
|
+
});
|
17
|
+
Object.defineProperty(this, "searchVal", {
|
18
|
+
enumerable: true,
|
19
|
+
configurable: true,
|
20
|
+
writable: true,
|
21
|
+
value: void 0
|
22
|
+
});
|
23
|
+
Object.defineProperty(this, "addAble", {
|
24
|
+
enumerable: true,
|
25
|
+
configurable: true,
|
26
|
+
writable: true,
|
27
|
+
value: false
|
28
|
+
});
|
29
|
+
makeObservable(this);
|
30
|
+
this.active = status ? status.charAt(0).toUpperCase() + status.slice(1) : "All";
|
31
|
+
}
|
32
|
+
get cardProps() {
|
33
|
+
return {
|
34
|
+
addAble: false,
|
35
|
+
details: true,
|
36
|
+
typesId: this.typesId,
|
37
|
+
scrollH: this.active !== "All" ? 400 : undefined,
|
38
|
+
searchVal: this.searchVal,
|
39
|
+
};
|
40
|
+
}
|
41
|
+
}
|
42
|
+
__decorate([
|
43
|
+
observable
|
44
|
+
], State.prototype, "active", void 0);
|
45
|
+
__decorate([
|
46
|
+
observable
|
47
|
+
], State.prototype, "searchVal", void 0);
|
48
|
+
__decorate([
|
49
|
+
observable
|
50
|
+
], State.prototype, "addAble", void 0);
|
51
|
+
__decorate([
|
52
|
+
computed
|
53
|
+
], State.prototype, "cardProps", null);
|
54
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/work/components/WorkTableListCardPage/state.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAU,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEpE,MAAM,OAAO,KAAK;IAKjB,YAAoB,OAAgB,EAAE,MAAe;QAAzC;;;;mBAAQ,OAAO;WAAS;QAJjB;;;;mBAAiB,KAAK;WAAC;QACvB;;;;;WAAmB;QACnB;;;;mBAAoB,KAAK;WAAC;QAG5C,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACjF,CAAC;IAES,IAAW,SAAS;QAC7B,OAAO;YACN,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YAChD,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC;IACH,CAAC;CACD;AAlBmB;IAAlB,UAAU;qCAA+B;AACvB;IAAlB,UAAU;wCAA2B;AACnB;IAAlB,UAAU;sCAAkC;AAOnC;IAAT,QAAQ;sCAQR"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { Skeleton } from "antd";
|
2
|
+
import React, { useState } from "react";
|
3
|
+
import Card from "@voplus/morpho-ui/es/controls/Card";
|
4
|
+
import { State } from "./state";
|
5
|
+
import { Select } from "antd";
|
6
|
+
import { faCalendarDays } from "@fortawesome/free-solid-svg-icons";
|
7
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
8
|
+
import WorktypeCompleteWorksChart from "../../controls/WorktypeCompleteWorksChart/WorkTypeCompletedWorksChart";
|
9
|
+
import { observe } from "@voplus/morpho-ui";
|
10
|
+
import "./index.less";
|
11
|
+
const ReportsCompletedWorks = (props) => {
|
12
|
+
const [state] = useState(new State());
|
13
|
+
return observe(() => (React.createElement(Card, { className: "reports-completed-works shadow ring-1 ring-black ring-opacity-5" },
|
14
|
+
React.createElement("div", { className: "workstats-head" },
|
15
|
+
React.createElement("div", null, "Completed Works"),
|
16
|
+
React.createElement(Select, { defaultValue: "monthly", onChange: () => { }, prefix: React.createElement(FAIcon, { icon: faCalendarDays }), options: [
|
17
|
+
{ value: "monthly", label: "Monthly" },
|
18
|
+
{ value: "yearly", label: "Yearly" },
|
19
|
+
] })),
|
20
|
+
React.createElement("div", { className: "workstats-content" }, props.id && (React.createElement(Skeleton, { active: true, loading: !state.estimatedLoaded },
|
21
|
+
React.createElement(WorktypeCompleteWorksChart, { id: props.id })))))));
|
22
|
+
};
|
23
|
+
export default ReportsCompletedWorks;
|
24
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/ReportsCompletedWorks/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,IAAI,MAAM,oCAAoC,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,0BAA0B,MAAM,uEAAuE,CAAC;AAC/G,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,cAAc,CAAC;AAEtB,MAAM,qBAAqB,GAAG,CAAC,KAAqB,EAAE,EAAE;IACvD,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAEtC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,IAAI,IAAC,SAAS,EAAC,iEAAiE;QAChF,6BAAK,SAAS,EAAC,gBAAgB;YAC9B,mDAA0B;YAC1B,oBAAC,MAAM,IACN,YAAY,EAAC,SAAS,EACtB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAClB,MAAM,EAAE,oBAAC,MAAM,IAAC,IAAI,EAAE,cAAc,GAAI,EACxC,OAAO,EAAE;oBACR,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;oBACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;iBACpC,GACA,CACG;QACN,6BAAK,SAAS,EAAC,mBAAmB,IAChC,KAAK,CAAC,EAAE,IAAI,CACZ,oBAAC,QAAQ,IAAC,MAAM,QAAC,OAAO,EAAE,CAAC,KAAK,CAAC,eAAe;YAC/C,oBAAC,0BAA0B,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,GAAI,CAClC,CACX,CACI,CACA,CACP,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
@import "~@voplus/morpho-theme/styles/index.less";
|
2
|
+
|
3
|
+
:global {
|
4
|
+
.reports-completed-works {
|
5
|
+
width: 100%;
|
6
|
+
height: 100%;
|
7
|
+
display: flex;
|
8
|
+
flex-direction: column;
|
9
|
+
background: #fff;
|
10
|
+
border-radius: @border-radius;
|
11
|
+
padding: 12px 10px 10px;
|
12
|
+
|
13
|
+
.workstats-head {
|
14
|
+
padding: 0 8px;
|
15
|
+
color: #217eb2;
|
16
|
+
background: #fff;
|
17
|
+
font-size: 16px;
|
18
|
+
line-height: 32px;
|
19
|
+
font-weight: 600;
|
20
|
+
display: flex;
|
21
|
+
justify-content: space-between;
|
22
|
+
.ant-select {
|
23
|
+
width: 135px;
|
24
|
+
.ant-select-selector {
|
25
|
+
border: 1px solid #217eb2;
|
26
|
+
color: #217eb2;
|
27
|
+
background: #f4f9ff;
|
28
|
+
border-radius: 5px;
|
29
|
+
}
|
30
|
+
.ant-select-prefix {
|
31
|
+
color: #217eb2 !important;
|
32
|
+
margin-inline-end: 6px;
|
33
|
+
}
|
34
|
+
.ant-select-arrow {
|
35
|
+
color: #217eb2;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
39
|
+
.workstats-content {
|
40
|
+
flex: 1;
|
41
|
+
display: flex;
|
42
|
+
align-items: end;
|
43
|
+
margin-top: 12px;
|
44
|
+
border: 1px solid #e6e6e6;
|
45
|
+
border-radius: 5px;
|
46
|
+
.ant-col > div {
|
47
|
+
// height: 340px;
|
48
|
+
// min-width: 250px;
|
49
|
+
background-color: #ffffff;
|
50
|
+
}
|
51
|
+
.skelecton-card {
|
52
|
+
padding: 15px;
|
53
|
+
box-shadow: 2px 2px 5px #e8e8e8;
|
54
|
+
}
|
55
|
+
.completed-works-chart {
|
56
|
+
flex: 1;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { action, makeObservable, observable, runInAction } from "mobx";
|
3
|
+
export class State {
|
4
|
+
constructor() {
|
5
|
+
Object.defineProperty(this, "estimatedLoaded", {
|
6
|
+
enumerable: true,
|
7
|
+
configurable: true,
|
8
|
+
writable: true,
|
9
|
+
value: true
|
10
|
+
});
|
11
|
+
makeObservable(this);
|
12
|
+
}
|
13
|
+
/** reload Estimated data */
|
14
|
+
onEstimatedReload() {
|
15
|
+
this.estimatedLoaded = false;
|
16
|
+
setTimeout(() => {
|
17
|
+
runInAction(() => (this.estimatedLoaded = true));
|
18
|
+
}, 100);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
__decorate([
|
22
|
+
observable
|
23
|
+
], State.prototype, "estimatedLoaded", void 0);
|
24
|
+
__decorate([
|
25
|
+
action
|
26
|
+
], State.prototype, "onEstimatedReload", null);
|
27
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/ReportsCompletedWorks/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEvE,MAAM,OAAO,KAAK;IAGjB;QAFmB;;;;mBAAkB,IAAI;WAAC;QAGzC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,4BAA4B;IAErB,iBAAiB;QACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,UAAU,CAAC,GAAG,EAAE;YACf,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;CACD;AAdmB;IAAlB,UAAU;8CAA+B;AAQnC;IADN,MAAM;8CAMN"}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
import { useWorkTypeListEffect } from "../../../../../data/worktype";
|
2
2
|
import React, { useState } from "react";
|
3
|
+
import { State } from "./state";
|
3
4
|
import { Select } from "antd";
|
4
5
|
import { observe } from "@voplus/morpho-ui";
|
5
6
|
import { useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
6
7
|
const WorkTypeSelect = (props) => {
|
7
8
|
const { onChange, style, open } = props;
|
9
|
+
const [state] = useState(new State(props.defaultValue));
|
8
10
|
const [workTypeData, setWorkTypeData] = useState([]);
|
9
11
|
const [timer, setTimer] = useState();
|
10
12
|
const list = useCreateListDataState({
|
@@ -17,8 +19,18 @@ const WorkTypeSelect = (props) => {
|
|
17
19
|
useWorkTypeListEffect(null, (result) => {
|
18
20
|
list.union(result);
|
19
21
|
setWorkTypeData(result);
|
22
|
+
if (props.defaultValue) {
|
23
|
+
const workType = result.find((d) => d.id === props.defaultValue);
|
24
|
+
if (workType) {
|
25
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(props.defaultValue, workType);
|
26
|
+
state.value = props.defaultValue;
|
27
|
+
}
|
28
|
+
else {
|
29
|
+
state.value = undefined;
|
30
|
+
}
|
31
|
+
}
|
20
32
|
}, list.filters.options);
|
21
|
-
return observe(() => (React.createElement(Select, { showSearch: true, style: { width: "100%", ...style }, loading: list.loading, filterOption: false, open: open, autoFocus: props.autoFocus, placeholder: "Select Work Type", onSearch: onSearch, onChange: handleChange, onBlur: props.onBlur, optionLabelProp: "label", options: workTypeData.map((item) => {
|
33
|
+
return observe(() => (React.createElement(Select, { showSearch: true, style: { width: "100%", ...style }, loading: list.loading, filterOption: false, open: open, autoFocus: props.autoFocus, placeholder: "Select Work Type", onSearch: onSearch, onChange: handleChange, onBlur: props.onBlur, optionLabelProp: "label", value: state.value, options: workTypeData.map((item) => {
|
22
34
|
var _a;
|
23
35
|
return {
|
24
36
|
value: item.id,
|
@@ -38,8 +50,10 @@ const WorkTypeSelect = (props) => {
|
|
38
50
|
}
|
39
51
|
function handleChange(id) {
|
40
52
|
const workType = list.data.find((d) => d.id === id);
|
41
|
-
if (workType)
|
53
|
+
if (workType) {
|
54
|
+
state.value = id;
|
42
55
|
onChange === null || onChange === void 0 ? void 0 : onChange(id, workType);
|
56
|
+
}
|
43
57
|
}
|
44
58
|
};
|
45
59
|
export default WorkTypeSelect;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeSelect/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,KAAK,EAAE,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeSelect/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { makeObservable, observable } from "mobx";
|
3
|
+
export class State {
|
4
|
+
constructor(_defaultValue) {
|
5
|
+
Object.defineProperty(this, "_defaultValue", {
|
6
|
+
enumerable: true,
|
7
|
+
configurable: true,
|
8
|
+
writable: true,
|
9
|
+
value: _defaultValue
|
10
|
+
});
|
11
|
+
Object.defineProperty(this, "value", {
|
12
|
+
enumerable: true,
|
13
|
+
configurable: true,
|
14
|
+
writable: true,
|
15
|
+
value: void 0
|
16
|
+
});
|
17
|
+
makeObservable(this);
|
18
|
+
this.value = this._defaultValue;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
__decorate([
|
22
|
+
observable
|
23
|
+
], State.prototype, "value", void 0);
|
24
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeSelect/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElD,MAAM,OAAO,KAAK;IAGjB,YAAoB,aAAsB;QAA9B;;;;mBAAQ,aAAa;WAAS;QAFvB;;;;;WAAe;QAGjC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;IACjC,CAAC;CACD;AANmB;IAAlB,UAAU;oCAAuB"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { IconProp } from "@fortawesome/fontawesome-svg-core";
|
3
|
+
import "./index.less";
|
4
|
+
declare const StatsItem: (props: {
|
5
|
+
className?: string;
|
6
|
+
icon: IconProp;
|
7
|
+
total: number;
|
8
|
+
status: string;
|
9
|
+
typesId: string;
|
10
|
+
}) => React.JSX.Element;
|
11
|
+
export default StatsItem;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { observe } from "@voplus/morpho-ui";
|
3
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
4
|
+
import { Open } from "@voplus/morpho-org/es/controls/ToolBar/items";
|
5
|
+
import classnames from "classnames";
|
6
|
+
import "./index.less";
|
7
|
+
const StatsItem = (props) => {
|
8
|
+
const { className, icon, total, status, typesId } = props;
|
9
|
+
return observe(() => (React.createElement("div", { className: classnames("stats-item", className, status.charAt(0).toLowerCase() + status.slice(1)) },
|
10
|
+
React.createElement("div", { className: "stats-icon" },
|
11
|
+
React.createElement(FAIcon, { icon: icon })),
|
12
|
+
React.createElement("div", { className: "stats-content" },
|
13
|
+
React.createElement("div", { className: "stats-info" },
|
14
|
+
React.createElement("span", { className: "total" }, total),
|
15
|
+
status === "all" ? "Works" : status,
|
16
|
+
React.createElement("div", null, status === "all" ? "In Total" : "Total Works"))),
|
17
|
+
React.createElement("div", { className: "stats-open" },
|
18
|
+
React.createElement(Open, { url: `/work-types-page/${typesId}/works/${status.charAt(0).toLowerCase() + status.slice(1)}` })))));
|
19
|
+
};
|
20
|
+
export default StatsItem;
|
21
|
+
//# sourceMappingURL=StatsItem.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"StatsItem.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeStatsLabel/StatsItem.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;AAE3E,OAAO,EAAE,IAAI,EAAE,MAAM,8CAA8C,CAAC;AACpE,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,cAAc,CAAC;AAEtB,MAAM,SAAS,GAAG,CAAC,KAMlB,EAAE,EAAE;IACJ,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1D,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BACC,SAAS,EAAE,UAAU,CACpB,YAAY,EACZ,SAAS,EACT,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAChD;QAED,6BAAK,SAAS,EAAC,YAAY;YAC1B,oBAAC,MAAM,IAAC,IAAI,EAAE,IAAI,GAAI,CACjB;QACN,6BAAK,SAAS,EAAC,eAAe;YAC7B,6BAAK,SAAS,EAAC,YAAY;gBAC1B,8BAAM,SAAS,EAAC,OAAO,IAAE,KAAK,CAAQ;gBACrC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACpC,iCAAM,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAO,CACrD,CACD;QACN,6BAAK,SAAS,EAAC,YAAY;YAC1B,oBAAC,IAAI,IACJ,GAAG,EAAE,oBAAoB,OAAO,UAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAChD,EAAE,GACD,CACG,CACD,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import React, { useMemo } from "react";
|
2
|
+
import Card from "@voplus/morpho-ui/es/controls/Card";
|
3
|
+
import { faPlus, faPen, faCheck, faBarsProgress } from "@fortawesome/pro-solid-svg-icons";
|
4
|
+
import { observe } from "@voplus/morpho-ui";
|
5
|
+
import { useWorkListEffect } from "../../../../../data/work";
|
6
|
+
import { State } from "../../pages/WorkTypePage/state";
|
7
|
+
import StatsItem from "./StatsItem";
|
8
|
+
import { runInAction } from "mobx";
|
9
|
+
import "./index.less";
|
10
|
+
const WorkTypeStatsLabel = (props) => {
|
11
|
+
const { typesId } = props;
|
12
|
+
const state = useMemo(() => new State(props.id), []);
|
13
|
+
useWorkListEffect(null, (result, total) => {
|
14
|
+
runInAction(() => (state.workStatusTotals.new = total || 0));
|
15
|
+
}, state.nNewOptions);
|
16
|
+
useWorkListEffect(null, (result, total) => {
|
17
|
+
runInAction(() => (state.workStatusTotals.active = total || 0));
|
18
|
+
}, state.nActiveOptions);
|
19
|
+
useWorkListEffect(null, (result, total) => {
|
20
|
+
runInAction(() => (state.workStatusTotals.draft = total || 0));
|
21
|
+
}, state.nDraftOptions);
|
22
|
+
useWorkListEffect(null, (result, total) => {
|
23
|
+
runInAction(() => (state.workStatusTotals.works = total || 0));
|
24
|
+
}, state.nWorksOptions);
|
25
|
+
return observe(() => (React.createElement(Card, { className: "work-type-stats-label shadow ring-1 ring-black ring-opacity-5" },
|
26
|
+
React.createElement(StatsItem, { icon: faPen, total: state.workStatusTotals.draft, status: "Draft", typesId: typesId }),
|
27
|
+
React.createElement(StatsItem, { icon: faPlus, total: state.workStatusTotals.new, status: "New", typesId: typesId }),
|
28
|
+
React.createElement(StatsItem, { icon: faCheck, total: state.workStatusTotals.active, status: "Active", typesId: typesId }),
|
29
|
+
React.createElement(StatsItem, { icon: faBarsProgress, total: state.workStatusTotals.works, status: "All", typesId: typesId }),
|
30
|
+
React.createElement("div", { className: "description" }, "Lates Update on 13 August 2024"))));
|
31
|
+
};
|
32
|
+
export default WorkTypeStatsLabel;
|
33
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeStatsLabel/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,74 @@
|
|
1
|
+
@import "~@voplus/morpho-theme/styles/index.less";
|
2
|
+
|
3
|
+
:global {
|
4
|
+
.work-type-stats-label {
|
5
|
+
background: #fff;
|
6
|
+
border-radius: @border-radius;
|
7
|
+
padding: 10px;
|
8
|
+
|
9
|
+
.stats-item {
|
10
|
+
height: 60px;
|
11
|
+
background: #fff4f4;
|
12
|
+
border-radius: 5px;
|
13
|
+
padding: 10px;
|
14
|
+
display: flex;
|
15
|
+
margin-bottom: 15px;
|
16
|
+
&.new {
|
17
|
+
background: #f4f9ff;
|
18
|
+
.stats-icon {
|
19
|
+
color: #217eb4;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
&.active {
|
23
|
+
background: #eaffee;
|
24
|
+
.stats-icon {
|
25
|
+
color: #217eb4;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
&.all {
|
29
|
+
background: #fffdea;
|
30
|
+
margin-bottom: 8px;
|
31
|
+
.stats-icon {
|
32
|
+
color: #b2a722;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
.stats-icon {
|
36
|
+
width: 37px;
|
37
|
+
height: 37px;
|
38
|
+
color: #b22121;
|
39
|
+
font-size: 15px;
|
40
|
+
background: #ffffff;
|
41
|
+
border-radius: 50%;
|
42
|
+
display: flex;
|
43
|
+
justify-content: center;
|
44
|
+
align-items: center;
|
45
|
+
margin-right: 15px;
|
46
|
+
}
|
47
|
+
.stats-content {
|
48
|
+
flex: 1;
|
49
|
+
font-size: 10px;
|
50
|
+
color: #5d5d5d;
|
51
|
+
line-height: 14px;
|
52
|
+
.total {
|
53
|
+
font-size: 20px;
|
54
|
+
line-height: 25px;
|
55
|
+
font-weight: bold;
|
56
|
+
margin-right: 6px;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
.stats-open {
|
60
|
+
.ant-btn {
|
61
|
+
font-size: 12px;
|
62
|
+
color: #dedede;
|
63
|
+
padding: 0;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
.description {
|
69
|
+
color: #868686;
|
70
|
+
font-weight: 500;
|
71
|
+
line-height: 19px;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
package/es/modules/work/work-type/controls/WorktypeCompleteWorksChart/WorkTypeCompletedWorksChart.js
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
import "./index.less";
|
2
|
+
import { Empty, Spin } from "antd";
|
3
|
+
import { useWorkTypeCompletedWork, } from "../../../../../data/worktype/useWorkTypeCompletedWorkEffect";
|
4
|
+
import React, { useEffect, useRef, useState } from "react";
|
5
|
+
import { Column } from "@antv/g2plot";
|
6
|
+
import { LoadingOutlined } from "@ant-design/icons";
|
7
|
+
import { State } from "./state";
|
8
|
+
import dayjs from "dayjs";
|
9
|
+
import { observe } from "@voplus/morpho-ui";
|
10
|
+
const WorkTypeCompletedWorksChart = (props) => {
|
11
|
+
const { id } = props;
|
12
|
+
const divEl = useRef(null);
|
13
|
+
const [state] = useState(new State());
|
14
|
+
const [columnData, setColumnData] = useState([]);
|
15
|
+
const data1 = [
|
16
|
+
{ date: "Jan", total: 20 },
|
17
|
+
{ date: "Feb", total: 18 },
|
18
|
+
{ date: "Mar", total: 30 },
|
19
|
+
{ date: "Apr", total: 20 },
|
20
|
+
{ date: "May", total: 80 },
|
21
|
+
{ date: "Jun", total: 62 },
|
22
|
+
{ date: "Jul", total: 32 },
|
23
|
+
{ date: "Aug", total: 30 },
|
24
|
+
{ date: "Sept", total: 20 },
|
25
|
+
{ date: "Oct", total: 50 },
|
26
|
+
{ date: "Nov", total: 0 },
|
27
|
+
{ date: "Dec", total: 18 },
|
28
|
+
];
|
29
|
+
useWorkTypeCompletedWork(id, (list) => {
|
30
|
+
const data = [];
|
31
|
+
list.map((i) => {
|
32
|
+
data.push({ date: dayjs(i.date).format("DD MMM"), total: i.total });
|
33
|
+
});
|
34
|
+
// setColumnData(data);
|
35
|
+
setColumnData(data1);
|
36
|
+
state.loading = false;
|
37
|
+
});
|
38
|
+
useEffect(() => {
|
39
|
+
if (state.columnPlot) {
|
40
|
+
state.columnPlot.update({
|
41
|
+
data: columnData,
|
42
|
+
});
|
43
|
+
}
|
44
|
+
else if (divEl.current && columnData.length) {
|
45
|
+
state.columnPlot = new Column(divEl.current, {
|
46
|
+
data: columnData,
|
47
|
+
xField: "date",
|
48
|
+
// 图形在 x 方向对应的数据字段名
|
49
|
+
yField: "total",
|
50
|
+
label: {
|
51
|
+
// 可手动配置 label 数据标签位置
|
52
|
+
position: "middle", // 'top', 'bottom', 'middle',
|
53
|
+
// 配置样式
|
54
|
+
style: {
|
55
|
+
fill: "#FFFFFF",
|
56
|
+
opacity: 0.6,
|
57
|
+
},
|
58
|
+
},
|
59
|
+
xAxis: {
|
60
|
+
label: {
|
61
|
+
autoHide: true,
|
62
|
+
autoRotate: false,
|
63
|
+
},
|
64
|
+
},
|
65
|
+
// 数据的类型和展示方式
|
66
|
+
meta: {
|
67
|
+
date: {
|
68
|
+
alias: "日期",
|
69
|
+
},
|
70
|
+
total: {
|
71
|
+
alias: "Done Works",
|
72
|
+
},
|
73
|
+
},
|
74
|
+
height: 200,
|
75
|
+
});
|
76
|
+
state.columnPlot.render();
|
77
|
+
}
|
78
|
+
}, [columnData]);
|
79
|
+
return observe(() => (React.createElement("div", { className: "completed-works-chart" },
|
80
|
+
React.createElement("div", { ref: divEl }),
|
81
|
+
state.loading ? (React.createElement("div", { className: "card-loading" },
|
82
|
+
React.createElement(Spin, { indicator: React.createElement(LoadingOutlined, null) }))) : !columnData.length ? (React.createElement(Empty, { image: Empty.PRESENTED_IMAGE_SIMPLE })) : null)));
|
83
|
+
};
|
84
|
+
export default WorkTypeCompletedWorksChart;
|
85
|
+
//# sourceMappingURL=WorkTypeCompletedWorksChart.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"WorkTypeCompletedWorksChart.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/controls/WorktypeCompleteWorksChart/WorkTypeCompletedWorksChart.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAEN,wBAAwB,GACxB,MAAM,6DAA6D,CAAC;AACrE,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,2BAA2B,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC7D,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IACrB,MAAM,KAAK,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA2B,EAAE,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAG;QACb,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;QACzB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;KAC1B,CAAC;IAEF,wBAAwB,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,EAA8B,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,uBAAuB;QACvB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,UAAU;aAChB,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/C,KAAK,CAAC,UAAU,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC5C,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,MAAM;gBACd,mBAAmB;gBACnB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE;oBACN,qBAAqB;oBACrB,QAAQ,EAAE,QAAQ,EAAE,6BAA6B;oBACjD,OAAO;oBACP,KAAK,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,GAAG;qBACZ;iBACD;gBACD,KAAK,EAAE;oBACN,KAAK,EAAE;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,KAAK;qBACjB;iBACD;gBACD,aAAa;gBACb,IAAI,EAAE;oBACL,IAAI,EAAE;wBACL,KAAK,EAAE,IAAI;qBACX;oBACD,KAAK,EAAE;wBACN,KAAK,EAAE,YAAY;qBACnB;iBACD;gBACD,MAAM,EAAE,GAAG;aACX,CAAC,CAAC;YACH,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC;IACF,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BAAK,SAAS,EAAC,uBAAuB;QACrC,6BAAK,GAAG,EAAE,KAAK,GAAI;QAClB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAChB,6BAAK,SAAS,EAAC,cAAc;YAC5B,oBAAC,IAAI,IAAC,SAAS,EAAE,oBAAC,eAAe,OAAG,GAAI,CACnC,CACN,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CACxB,oBAAC,KAAK,IAAC,KAAK,EAAE,KAAK,CAAC,sBAAsB,GAAI,CAC9C,CAAC,CAAC,CAAC,IAAI,CACH,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
|