@voplus/morpho-document 6.0.45 → 6.0.46
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/PDFViewer/index.js +2 -20
- package/es/controls/PDFViewer/index.js.map +1 -1
- package/es/data/tenant-service/TenantServiceStore.d.ts +23 -0
- package/es/data/tenant-service/TenantServiceStore.js +69 -0
- package/es/data/tenant-service/TenantServiceStore.js.map +1 -0
- package/es/data/tenant-service/hooks.d.ts +10 -0
- package/es/data/tenant-service/hooks.js +19 -0
- package/es/data/tenant-service/hooks.js.map +1 -0
- package/es/data/tenant-service/index.d.ts +4 -0
- package/es/data/tenant-service/index.js +5 -0
- package/es/data/tenant-service/index.js.map +1 -0
- package/es/data/tenant-service/interfaces.d.ts +17 -0
- package/es/data/tenant-service/interfaces.js +2 -0
- package/es/data/tenant-service/interfaces.js.map +1 -0
- package/es/data/tenant-service/types.d.ts +14 -0
- package/es/data/tenant-service/types.js +2 -0
- package/es/data/tenant-service/types.js.map +1 -0
- package/es/data/tenant-service-execution/TenantServiceExecutionStore.d.ts +21 -0
- package/es/data/tenant-service-execution/TenantServiceExecutionStore.js +61 -0
- package/es/data/tenant-service-execution/TenantServiceExecutionStore.js.map +1 -0
- package/es/data/tenant-service-execution/hooks.d.ts +10 -0
- package/es/data/tenant-service-execution/hooks.js +19 -0
- package/es/data/tenant-service-execution/hooks.js.map +1 -0
- package/es/data/tenant-service-execution/index.d.ts +4 -0
- package/es/data/tenant-service-execution/index.js +5 -0
- package/es/data/tenant-service-execution/index.js.map +1 -0
- package/es/data/tenant-service-execution/interfaces.d.ts +13 -0
- package/es/data/tenant-service-execution/interfaces.js +2 -0
- package/es/data/tenant-service-execution/interfaces.js.map +1 -0
- package/es/data/tenant-service-execution/types.d.ts +7 -0
- package/es/data/tenant-service-execution/types.js +2 -0
- package/es/data/tenant-service-execution/types.js.map +1 -0
- package/es/modules/tenant-service/components/TenantServiceHeader/index.d.ts +8 -0
- package/es/modules/tenant-service/components/TenantServiceHeader/index.js +19 -0
- package/es/modules/tenant-service/components/TenantServiceHeader/index.js.map +1 -0
- package/es/modules/tenant-service/components/TenantServiceHeader/index.less +12 -0
- package/es/modules/tenant-service/components/TenantServiceItem/index.d.ts +7 -0
- package/es/modules/tenant-service/components/TenantServiceItem/index.js +36 -0
- package/es/modules/tenant-service/components/TenantServiceItem/index.js.map +1 -0
- package/es/modules/tenant-service/components/TenantServiceItem/index.less +35 -0
- package/es/modules/tenant-service/components/TenantServiceList/index.d.ts +17 -0
- package/es/modules/tenant-service/components/TenantServiceList/index.js +68 -0
- package/es/modules/tenant-service/components/TenantServiceList/index.js.map +1 -0
- package/es/modules/tenant-service/components/TenantServiceList/index.less +12 -0
- package/es/modules/tenant-service/components/TenantServiceProperties/index.d.ts +22 -0
- package/es/modules/tenant-service/components/TenantServiceProperties/index.js +43 -0
- package/es/modules/tenant-service/components/TenantServiceProperties/index.js.map +1 -0
- package/es/modules/tenant-service/components/TenantServicePropertiesView/index.d.ts +9 -0
- package/es/modules/tenant-service/components/TenantServicePropertiesView/index.js +18 -0
- package/es/modules/tenant-service/components/TenantServicePropertiesView/index.js.map +1 -0
- package/es/modules/tenant-service/components/TenantServicePropertiesView/index.less +4 -0
- package/es/modules/tenant-service/components/TenantServiceQuickViewDialog/index.d.ts +8 -0
- package/es/modules/tenant-service/components/TenantServiceQuickViewDialog/index.js +13 -0
- package/es/modules/tenant-service/components/TenantServiceQuickViewDialog/index.js.map +1 -0
- package/es/modules/tenant-service/components/TenantServiceQuickViewDialog/index.less +7 -0
- package/es/modules/tenant-service/components/TenantServiceSelect/index.d.ts +12 -0
- package/es/modules/tenant-service/components/TenantServiceSelect/index.js +44 -0
- package/es/modules/tenant-service/components/TenantServiceSelect/index.js.map +1 -0
- package/es/modules/tenant-service/components/TenantServiceTabs/index.d.ts +8 -0
- package/es/modules/tenant-service/components/TenantServiceTabs/index.js +41 -0
- package/es/modules/tenant-service/components/TenantServiceTabs/index.js.map +1 -0
- package/es/modules/tenant-service/controls/TenantServiceMenu/index.d.ts +6 -0
- package/es/modules/tenant-service/controls/TenantServiceMenu/index.js +9 -0
- package/es/modules/tenant-service/controls/TenantServiceMenu/index.js.map +1 -0
- package/es/modules/tenant-service/pages/TenantServiceDefaultView/index.d.ts +3 -0
- package/es/modules/tenant-service/pages/TenantServiceDefaultView/index.js +36 -0
- package/es/modules/tenant-service/pages/TenantServiceDefaultView/index.js.map +1 -0
- package/es/modules/tenant-service/pages/TenantServiceDefaultView/index.less +17 -0
- package/es/pages/Signature/Envelope/EnvelopeRecipientView/index.js +42 -12
- package/es/pages/Signature/Envelope/EnvelopeRecipientView/index.js.map +1 -1
- package/es/pages/Signature/Envelope/EnvelopeRecipientView/index.less +77 -15
- package/es/pages/Signature/Envelope/EnvelopeRecipientView/state.d.ts +1 -0
- package/es/pages/Signature/Envelope/EnvelopeRecipientView/state.js +9 -0
- package/es/pages/Signature/Envelope/EnvelopeRecipientView/state.js.map +1 -1
- package/es/routes.d.ts +6 -0
- package/es/routes.js +14 -1
- package/es/routes.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { observe, useRenderOnChange } from "@voplus/morpho-ui";
|
|
2
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
|
3
|
+
import React, { useState } from "react";
|
|
4
|
+
import { useTenantServiceListEffect } from "../../../../data/tenant-service";
|
|
5
|
+
import { Badge } from "antd";
|
|
6
|
+
import DocumentItemFrame from "../../../../controls/DocumentItemFrame";
|
|
7
|
+
import ListView from "@voplus/morpho-ui/es/components/layout/ListView/ListView2";
|
|
8
|
+
import TenantServiceItem from "../TenantServiceItem";
|
|
9
|
+
import styles from "./index.less";
|
|
10
|
+
const TenantServiceList = (props) => {
|
|
11
|
+
const { centerId, viewTitle, total, asideable } = props;
|
|
12
|
+
const [activeId, setActiveId] = useState("");
|
|
13
|
+
const [tenantServiceTotal, setTenantServiceTotal] = useState(0);
|
|
14
|
+
const list = useCreateListDataState({
|
|
15
|
+
filterDefaults: {
|
|
16
|
+
filters: [],
|
|
17
|
+
},
|
|
18
|
+
}, [centerId]);
|
|
19
|
+
useRenderOnChange(() => list.filters.options);
|
|
20
|
+
/** 把ListDataState传给useTenantServiceListEffect,使之可以自動更新loading, hasmore. */
|
|
21
|
+
useTenantServiceListEffect(list, (result, total) => {
|
|
22
|
+
var _a;
|
|
23
|
+
list.union(result);
|
|
24
|
+
setTenantServiceTotal(total);
|
|
25
|
+
(_a = props.onTotal) === null || _a === void 0 ? void 0 : _a.call(props, total);
|
|
26
|
+
}, {
|
|
27
|
+
Total: true,
|
|
28
|
+
...list.filters.options,
|
|
29
|
+
});
|
|
30
|
+
list.union([
|
|
31
|
+
{
|
|
32
|
+
id: "1",
|
|
33
|
+
serviceId: "123",
|
|
34
|
+
name: "Linked Sales Center",
|
|
35
|
+
description: "Principal manager endowed with full permissions, including the ability to change settings.Dedicated personnel tasked with the specific responsibility of invoice approval.",
|
|
36
|
+
isRunning: true,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "2",
|
|
40
|
+
serviceId: "234",
|
|
41
|
+
name: "Tenant Service 02",
|
|
42
|
+
description: "Personnel authorized to approve both invoices and bills.",
|
|
43
|
+
isRunning: false,
|
|
44
|
+
},
|
|
45
|
+
]);
|
|
46
|
+
return observe(() => (React.createElement(ListDataContext.Provider, { value: list },
|
|
47
|
+
React.createElement("div", { className: styles["tenant-service-list"] },
|
|
48
|
+
React.createElement(ListView, { headerProps: {
|
|
49
|
+
viewTitle: (React.createElement(React.Fragment, null,
|
|
50
|
+
React.createElement("span", { className: "margin-right-10" }, viewTitle || "Tenant Service"),
|
|
51
|
+
total && tenantServiceTotal ? (React.createElement(Badge, { count: tenantServiceTotal, overflowCount: 99 })) : null)),
|
|
52
|
+
addAble: false,
|
|
53
|
+
sortable: false,
|
|
54
|
+
quickSearch: true,
|
|
55
|
+
}, asideable: asideable, className: "tenant-service-list-content", renderItem: ({ item }) => (React.createElement(DocumentItemFrame, { key: item.id, frameProps: {
|
|
56
|
+
active: activeId === item.id,
|
|
57
|
+
hoverEffect: "none",
|
|
58
|
+
activeEffect: "border",
|
|
59
|
+
borderProps: { location: "right", color: "#1890ff ", size: "2px" },
|
|
60
|
+
}, onClick: () => {
|
|
61
|
+
var _a;
|
|
62
|
+
setActiveId(item.id);
|
|
63
|
+
(_a = props.onClickItem) === null || _a === void 0 ? void 0 : _a.call(props, item);
|
|
64
|
+
} },
|
|
65
|
+
React.createElement(TenantServiceItem, { id: item.id, data: item }))) })))));
|
|
66
|
+
};
|
|
67
|
+
export default TenantServiceList;
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tenant-service/components/TenantServiceList/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ITenantService } from "../../../../data/tenant-service";
|
|
3
|
+
export type TenantServicePropertiesName = "Enable" | "IsRunning";
|
|
4
|
+
declare const TenantServiceProperties: {
|
|
5
|
+
(props: {
|
|
6
|
+
id: string;
|
|
7
|
+
headerVisible?: boolean;
|
|
8
|
+
tenantServiceTitle?: string;
|
|
9
|
+
tenantServiceProperties?: {
|
|
10
|
+
name: TenantServicePropertiesName;
|
|
11
|
+
visible?: boolean;
|
|
12
|
+
}[];
|
|
13
|
+
data?: ITenantService;
|
|
14
|
+
}): React.JSX.Element;
|
|
15
|
+
defaultProps: {
|
|
16
|
+
tenantServiceTitle: string;
|
|
17
|
+
tenantServiceProperties: {
|
|
18
|
+
name: string;
|
|
19
|
+
}[];
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export default TenantServiceProperties;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import DescriptionEditor from "../../../../controls/DescriptionEditor";
|
|
2
|
+
import ToolBar from "../../../../controls/ToolBar/ToolBar2";
|
|
3
|
+
import { observe } from "@voplus/morpho-ui";
|
|
4
|
+
import Prop from "@voplus/morpho-ui/es/controls/Prop";
|
|
5
|
+
import PropertiesSection from "@voplus/morpho-ui/es/controls/PropertiesSection";
|
|
6
|
+
import React from "react";
|
|
7
|
+
import { Switch } from "antd";
|
|
8
|
+
import Scrollbars from "react-custom-scrollbars-2";
|
|
9
|
+
import { useTenantServiceStore, } from "../../../../data/tenant-service";
|
|
10
|
+
import TenantServiceMenu from "../../controls/TenantServiceMenu";
|
|
11
|
+
const TenantServiceProperties = (props) => {
|
|
12
|
+
/** 加class name 为了方便做integration tests */
|
|
13
|
+
const classId = "tenantService-properties";
|
|
14
|
+
const { id, headerVisible, tenantServiceTitle, tenantServiceProperties } = props;
|
|
15
|
+
// const tenantService = useTenantService(id);
|
|
16
|
+
const tenantService = props.data;
|
|
17
|
+
const store = useTenantServiceStore();
|
|
18
|
+
const filterPro = tenantServiceProperties === null || tenantServiceProperties === void 0 ? void 0 : tenantServiceProperties.filter((i) => (i === null || i === void 0 ? void 0 : i.visible) !== false);
|
|
19
|
+
return observe(() => (React.createElement("div", { className: "properties-list" },
|
|
20
|
+
headerVisible && (React.createElement("div", { className: "properties-header" },
|
|
21
|
+
React.createElement("div", { className: "title" }, tenantService.name),
|
|
22
|
+
React.createElement(ToolBar, { id: id, showMenu: false },
|
|
23
|
+
React.createElement(TenantServiceMenu, { id: id })))),
|
|
24
|
+
React.createElement(Scrollbars, { autoHide: true },
|
|
25
|
+
React.createElement(DescriptionEditor, { id: id, description: tenantService.description, readonly: true }),
|
|
26
|
+
React.createElement(PropertiesSection, { title: tenantServiceTitle, properties: () => filterPro === null || filterPro === void 0 ? void 0 : filterPro.map((i) => (React.createElement(Prop, { key: i.name, label: i.name, className: `${classId}-${i.name}` }, renderProp(i)))) })))));
|
|
27
|
+
function renderProp(item) {
|
|
28
|
+
switch (item.name) {
|
|
29
|
+
case "Enable":
|
|
30
|
+
return (React.createElement(Switch, { checked: tenantService.enable, onChange: (checked) => {
|
|
31
|
+
store.edit(id, { data: { Enable: checked }, error: "message" });
|
|
32
|
+
} }));
|
|
33
|
+
case "IsRunning":
|
|
34
|
+
return React.createElement(Switch, { checked: tenantService.isRunning, disabled: true });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
TenantServiceProperties.defaultProps = {
|
|
39
|
+
tenantServiceTitle: "TenantService Properties",
|
|
40
|
+
tenantServiceProperties: [{ name: "Enable" }, { name: "IsRunning" }],
|
|
41
|
+
};
|
|
42
|
+
export default TenantServiceProperties;
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tenant-service/components/TenantServiceProperties/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import "./index.less";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ITenantService } from "../../../../data/tenant-service";
|
|
4
|
+
declare const TenantServicePropertiesView: (props: {
|
|
5
|
+
id: string;
|
|
6
|
+
default?: boolean;
|
|
7
|
+
data?: ITenantService;
|
|
8
|
+
}) => React.JSX.Element;
|
|
9
|
+
export default TenantServicePropertiesView;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import "./index.less";
|
|
2
|
+
import { ViewContext, ViewContextData, } from "@voplus/morpho-document-core/es/data/context/ViewContext";
|
|
3
|
+
import React, { useMemo } from "react";
|
|
4
|
+
import { observe } from "@voplus/morpho-ui";
|
|
5
|
+
import TenantServiceHeader from "../TenantServiceHeader";
|
|
6
|
+
import TenantServiceTabs from "../TenantServiceTabs";
|
|
7
|
+
const TenantServicePropertiesView = (props) => {
|
|
8
|
+
const id = props.id;
|
|
9
|
+
const view = useMemo(() => new ViewContextData("PropertiesView"), []);
|
|
10
|
+
// const tenantService = useTenantService(id);
|
|
11
|
+
const tenantService = props.data;
|
|
12
|
+
return observe(() => (React.createElement(ViewContext.Provider, { value: view },
|
|
13
|
+
React.createElement("div", { className: "module-detail-view tenant-service-properties-view" },
|
|
14
|
+
React.createElement(TenantServiceHeader, { id: id, data: tenantService }),
|
|
15
|
+
React.createElement(TenantServiceTabs, { id: id, properties: true, data: tenantService })))));
|
|
16
|
+
};
|
|
17
|
+
export default TenantServicePropertiesView;
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tenant-service/components/TenantServicePropertiesView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EACN,WAAW,EACX,eAAe,GACf,MAAM,0DAA0D,CAAC;AAClE,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AACzD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AAErD,MAAM,2BAA2B,GAAG,CAAC,KAIpC,EAAE,EAAE;IACJ,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,8CAA8C;IAC9C,MAAM,aAAa,GAAG,KAAK,CAAC,IAAK,CAAC;IAElC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI;QAChC,6BAAK,SAAS,EAAC,mDAAmD;YACjE,oBAAC,mBAAmB,IAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,GAAI;YACpD,oBAAC,iBAAiB,IAAC,EAAE,EAAE,EAAE,EAAE,UAAU,QAAC,IAAI,EAAE,aAAa,GAAI,CACxD,CACgB,CACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "./index.less";
|
|
2
|
+
import QuickViewDialog from "../../../../controls/QuickViewDialog";
|
|
3
|
+
import { observe } from "@voplus/morpho-ui";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import TenantServiceHeader from "../TenantServiceHeader";
|
|
6
|
+
import TenantServiceProperties from "../TenantServiceProperties";
|
|
7
|
+
const TenantServiceQuickViewDialog = (props) => {
|
|
8
|
+
const { id } = props;
|
|
9
|
+
return observe(() => (React.createElement(QuickViewDialog, { ...props, className: "tenant-service-quick-view", header: React.createElement(TenantServiceHeader, { id: id }) },
|
|
10
|
+
React.createElement(TenantServiceProperties, { id: id }))));
|
|
11
|
+
};
|
|
12
|
+
export default TenantServiceQuickViewDialog;
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tenant-service/components/TenantServiceQuickViewDialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AACzD,OAAO,uBAAuB,MAAM,4BAA4B,CAAC;AAEjE,MAAM,4BAA4B,GAAG,CAAC,KAIrC,EAAE,EAAE;IACJ,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IAErB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,eAAe,OACX,KAAK,EACT,SAAS,EAAC,2BAA2B,EACrC,MAAM,EAAE,oBAAC,mBAAmB,IAAC,EAAE,EAAE,EAAE,GAAI;QAEvC,oBAAC,uBAAuB,IAAC,EAAE,EAAE,EAAE,GAAI,CAClB,CAClB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { CSSProperties } from "react";
|
|
2
|
+
import { ITenantService } from "../../../../data/tenant-service";
|
|
3
|
+
declare const TenantServiceSelect: (props: {
|
|
4
|
+
/** filter by tenantService centerId(financial center id) */
|
|
5
|
+
centerId?: string | undefined;
|
|
6
|
+
rate?: number | undefined;
|
|
7
|
+
style?: React.CSSProperties | undefined;
|
|
8
|
+
autoFocus?: boolean | undefined;
|
|
9
|
+
onBlur?: (() => void) | undefined;
|
|
10
|
+
onChange?: ((tenantService: ITenantService) => void) | undefined;
|
|
11
|
+
}) => React.JSX.Element;
|
|
12
|
+
export default TenantServiceSelect;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { useTenantServiceListEffect } from "../../../../data/tenant-service";
|
|
3
|
+
import { observe } from "@voplus/morpho-ui";
|
|
4
|
+
import { useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
|
5
|
+
import { Select } from "antd";
|
|
6
|
+
const TenantServiceSelect = (props) => {
|
|
7
|
+
const { rate, style, autoFocus } = props;
|
|
8
|
+
const centerId = props.centerId;
|
|
9
|
+
const [timer, setTimer] = useState();
|
|
10
|
+
const [value, setValue] = useState(rate);
|
|
11
|
+
const list = useCreateListDataState({
|
|
12
|
+
filterDefaults: {
|
|
13
|
+
filters: filters(),
|
|
14
|
+
},
|
|
15
|
+
}, [centerId]);
|
|
16
|
+
useTenantServiceListEffect(null, (result) => {
|
|
17
|
+
list.union(result);
|
|
18
|
+
}, list.filters.options);
|
|
19
|
+
return observe(() => (React.createElement(Select, { value: value, showSearch: true, allowClear: true, autoFocus: autoFocus, style: { width: "100%", ...style }, loading: list.loading, filterOption: false, placeholder: "Select TenantService", popupClassName: "tenant-service-select-popup", onBlur: () => props.onBlur && props.onBlur(), onSearch: onSearch, onChange: handleChange }, list.data.map((item) => (React.createElement(Select.Option, { key: item.id, value: item.name }, item.name))))));
|
|
20
|
+
function filters() {
|
|
21
|
+
const filter = [];
|
|
22
|
+
if (centerId) {
|
|
23
|
+
filter.push({ c: "ParentNodeId", o: "=", l: "And", v1: centerId });
|
|
24
|
+
}
|
|
25
|
+
return filter;
|
|
26
|
+
}
|
|
27
|
+
function onSearch(val) {
|
|
28
|
+
if (timer)
|
|
29
|
+
clearTimeout(timer);
|
|
30
|
+
setTimer(setTimeout(() => {
|
|
31
|
+
list.triggerSearch(val);
|
|
32
|
+
setTimer(undefined);
|
|
33
|
+
}, 1000));
|
|
34
|
+
}
|
|
35
|
+
function handleChange(rate, option) {
|
|
36
|
+
var _a;
|
|
37
|
+
setValue(rate);
|
|
38
|
+
const tenantService = list.data.find((d) => d.id === option.key);
|
|
39
|
+
if (tenantService)
|
|
40
|
+
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, tenantService);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
export default TenantServiceSelect;
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tenant-service/components/TenantServiceSelect/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { useDocumentListEffect } from "@voplus/morpho-document-core";
|
|
3
|
+
import DocumentList from "../../../../components/DocumentList";
|
|
4
|
+
import DocumentTabs from "../../../../components/DocumentTabs";
|
|
5
|
+
import ActivityLog from "@voplus/morpho-org/es/components/ActivityLog/ActivityLog2";
|
|
6
|
+
import { observe } from "@voplus/morpho-ui";
|
|
7
|
+
import { Badge } from "antd";
|
|
8
|
+
import TenantServiceProperties from "../TenantServiceProperties";
|
|
9
|
+
const TenantServiceTabs = (props) => {
|
|
10
|
+
const { id, properties } = props;
|
|
11
|
+
const [docTotals, setDocTotals] = useState(0);
|
|
12
|
+
const [activeKey, setActiveKey] = useState();
|
|
13
|
+
useDocumentListEffect(null, (result, total) => setDocTotals(total || 0), {
|
|
14
|
+
Total: true,
|
|
15
|
+
List: false,
|
|
16
|
+
Filters: [{ c: "ParentNodeId", o: "=", l: "And", v1: id }],
|
|
17
|
+
});
|
|
18
|
+
const items = [
|
|
19
|
+
{
|
|
20
|
+
key: "Document",
|
|
21
|
+
label: (React.createElement(React.Fragment, null,
|
|
22
|
+
"Document",
|
|
23
|
+
React.createElement(Badge, { count: docTotals, className: "margin-left-10" }))),
|
|
24
|
+
children: React.createElement(DocumentList, { id: id, multiple: true, viewTitle: " ", total: false }),
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
key: "Activities",
|
|
28
|
+
label: "Activities",
|
|
29
|
+
children: React.createElement(React.Fragment, null, activeKey === "Activities" ? React.createElement(ActivityLog, { id: id, title: " " }) : null),
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
properties &&
|
|
33
|
+
items.unshift({
|
|
34
|
+
key: "Properties",
|
|
35
|
+
label: "Properties",
|
|
36
|
+
children: React.createElement(TenantServiceProperties, { id: id, data: props.data }),
|
|
37
|
+
});
|
|
38
|
+
return observe(() => (React.createElement(DocumentTabs, { id: id, active: properties ? "Properties" : "Document", tabItems: items, onChange: (key) => setActiveKey(key) })));
|
|
39
|
+
};
|
|
40
|
+
export default TenantServiceTabs;
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tenant-service/components/TenantServiceTabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAC/D,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAC/D,OAAO,WAAW,MAAM,2DAA2D,CAAC;AAEpF,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,uBAAuB,MAAM,4BAA4B,CAAC;AAEjE,MAAM,iBAAiB,GAAG,CAAC,KAAkE,EAAE,EAAE;IAChG,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAU,CAAC;IAErD,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,KAAK,GAAuB;QACjC;YACC,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,CACN;;gBAEC,oBAAC,KAAK,IAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAC,gBAAgB,GAAG,CACpD,CACH;YACD,QAAQ,EAAE,oBAAC,YAAY,IAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,QAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAI;SACzE;QACD;YACC,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,0CAAG,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,oBAAC,WAAW,IAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAI;SACtF;KACD,CAAC;IAEF,UAAU;QACT,KAAK,CAAC,OAAO,CAAC;YACb,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,oBAAC,uBAAuB,IAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAK,GAAI;SAChE,CAAC,CAAC;IAEJ,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,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GACnC,CACF,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import NodeMenu from "@voplus/morpho-org/es/controls/NodeMenu";
|
|
2
|
+
import { observe } from "@voplus/morpho-ui";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Access } from "@voplus/morpho-org/es/controls/NodeMenu/items";
|
|
5
|
+
const TenantServiceMenu = (props) => {
|
|
6
|
+
return observe(() => React.createElement(NodeMenu, { ...props, menus: React.createElement(Access, null) }));
|
|
7
|
+
};
|
|
8
|
+
export default TenantServiceMenu;
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tenant-service/controls/TenantServiceMenu/index.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAEvE,MAAM,iBAAiB,GAAG,CAAC,KAA2C,EAAE,EAAE;IACzE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAC,QAAQ,OAAK,KAAK,EAAE,KAAK,EAAE,oBAAC,MAAM,OAAG,GAAI,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { TabItemContext, TabItemStore, useTabItem } from "@voplus/morpho-data";
|
|
2
|
+
import React, { useEffect, useState } from "react";
|
|
3
|
+
import { observe } from "@voplus/morpho-ui";
|
|
4
|
+
import AsideContent from "@voplus/morpho-ui/es/components/layout/AsideContent";
|
|
5
|
+
import MainContent from "@voplus/morpho-ui/es/components/layout/MainContent";
|
|
6
|
+
import { runInAction } from "mobx";
|
|
7
|
+
import { useParams } from "react-router-dom";
|
|
8
|
+
import TenantServiceProperties from "../../components/TenantServiceProperties";
|
|
9
|
+
import TenantServiceTabs from "../../components/TenantServiceTabs";
|
|
10
|
+
import styles from "./index.less";
|
|
11
|
+
const TenantServiceDefaultView = () => {
|
|
12
|
+
const { id } = useParams();
|
|
13
|
+
const store = new TabItemStore({ url: "" });
|
|
14
|
+
// const tenantService = useTenantService(id!);
|
|
15
|
+
const tenantService = {
|
|
16
|
+
id: "1",
|
|
17
|
+
serviceId: "123",
|
|
18
|
+
name: "Linked Sales Center",
|
|
19
|
+
description: "Principal manager endowed with full permissions, including the ability to change settings.Dedicated personnel tasked with the specific responsibility of invoice approval.",
|
|
20
|
+
isRunning: true,
|
|
21
|
+
};
|
|
22
|
+
const [asideContext] = useState(AsideContent.createContext());
|
|
23
|
+
const tab = useTabItem();
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
runInAction(() => (tab.title = tenantService.name));
|
|
26
|
+
});
|
|
27
|
+
return observe(() => (React.createElement(TabItemContext.Provider, { value: store },
|
|
28
|
+
React.createElement(MainContent, { className: styles["tenant-service-default-view"] },
|
|
29
|
+
React.createElement(MainContent.Nav, { collapsible: true },
|
|
30
|
+
React.createElement(TenantServiceProperties, { id: id, headerVisible: true, data: tenantService })),
|
|
31
|
+
React.createElement("div", { className: "tenant-service-context" },
|
|
32
|
+
React.createElement(AsideContent, { context: asideContext },
|
|
33
|
+
React.createElement(TenantServiceTabs, { id: id, data: tenantService })))))));
|
|
34
|
+
};
|
|
35
|
+
export default TenantServiceDefaultView;
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tenant-service/pages/TenantServiceDefaultView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,qDAAqD,CAAC;AAC/E,OAAO,WAAW,MAAM,oDAAoD,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,uBAAuB,MAAM,0CAA0C,CAAC;AAC/E,OAAO,iBAAiB,MAAM,oCAAoC,CAAC;AACnE,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAE,EAAE,EAAE,GAAG,SAAS,EAAkB,CAAC;IAE3C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,+CAA+C;IAC/C,MAAM,aAAa,GAAG;QACrB,EAAE,EAAE,GAAG;QACP,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACV,4KAA4K;QAC7K,SAAS,EAAE,IAAI;KACf,CAAC;IACF,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACd,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK;QACpC,oBAAC,WAAW,IAAC,SAAS,EAAE,MAAM,CAAC,6BAA6B,CAAC;YAC5D,oBAAC,WAAW,CAAC,GAAG,IAAC,WAAW;gBAC3B,oBAAC,uBAAuB,IAAC,EAAE,EAAE,EAAG,EAAE,aAAa,QAAC,IAAI,EAAE,aAAa,GAAI,CACtD;YAClB,6BAAK,SAAS,EAAC,wBAAwB;gBACtC,oBAAC,YAAY,IAAC,OAAO,EAAE,YAAY;oBAClC,oBAAC,iBAAiB,IAAC,EAAE,EAAE,EAAG,EAAE,IAAI,EAAE,aAAa,GAAI,CACrC,CACV,CACO,CACW,CAC1B,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
2
|
-
import { Button, Card, Checkbox, Spin } from "antd";
|
|
1
|
+
import React, { useEffect, useRef, useState } from "react";
|
|
2
|
+
import { Button, Card, Checkbox, Spin, Row } from "antd";
|
|
3
3
|
import { EnvelopeContext, EnvelopeContextState } from "../../data/EnvelopeContext";
|
|
4
4
|
import { useApplicationContext, useLayout } from "@voplus/morpho-data";
|
|
5
5
|
import { useEnvelope, useEnvelopeStore } from "../../data/envelope";
|
|
6
6
|
import { LoadingOutlined } from "@ant-design/icons";
|
|
7
|
+
import { Scrollbars } from "react-custom-scrollbars-2";
|
|
7
8
|
import { observe } from "@voplus/morpho-ui";
|
|
8
|
-
import { runInAction } from "mobx";
|
|
9
|
+
import { runInAction, autorun } from "mobx";
|
|
9
10
|
import { useParams } from "react-router-dom";
|
|
10
11
|
import { State } from "./state";
|
|
11
12
|
import DescriptionEditor from "../../../../controls/DescriptionEditor";
|
|
@@ -16,24 +17,53 @@ const EnvelopeRecipientView = () => {
|
|
|
16
17
|
const sUserAgent = navigator.userAgent.toLowerCase();
|
|
17
18
|
const layout = useLayout();
|
|
18
19
|
const params = useParams();
|
|
20
|
+
const scrollRef = useRef();
|
|
19
21
|
const id = params.id;
|
|
20
22
|
const { user } = useApplicationContext();
|
|
21
23
|
const envelope = useEnvelope(id, { reload: true, includes: "tags,versions" });
|
|
22
24
|
const envelopStore = useEnvelopeStore();
|
|
23
25
|
const [state] = useState(new State(id));
|
|
24
26
|
const [context] = useState(new EnvelopeContextState(id, envelopStore, user.info.unit.id, true));
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
const handleScroll = () => {
|
|
28
|
+
var _a, _b, _c;
|
|
29
|
+
const scrollHeight = (_a = scrollRef.current) === null || _a === void 0 ? void 0 : _a.getScrollHeight();
|
|
30
|
+
const clientHeight = (_b = scrollRef.current) === null || _b === void 0 ? void 0 : _b.getClientHeight();
|
|
31
|
+
const scrollTop = (_c = scrollRef.current) === null || _c === void 0 ? void 0 : _c.getScrollTop();
|
|
32
|
+
const isAtBottom = scrollHeight - clientHeight - scrollTop < 10;
|
|
33
|
+
state.buttonDisabled = !isAtBottom;
|
|
34
|
+
};
|
|
35
|
+
useEffect(() => autorun(() => envelope.loaded &&
|
|
36
|
+
setTimeout(() => {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
const scrollHeight = (_a = scrollRef.current) === null || _a === void 0 ? void 0 : _a.getScrollHeight();
|
|
39
|
+
const clientHeight = (_b = scrollRef.current) === null || _b === void 0 ? void 0 : _b.getClientHeight();
|
|
40
|
+
if (scrollHeight === clientHeight)
|
|
41
|
+
state.buttonDisabled = false;
|
|
42
|
+
})));
|
|
43
|
+
return observe(() => (React.createElement("div", { className: "envelope-client-view" }, !envelope.loaded ? (React.createElement("div", { style: { textAlign: "center" } },
|
|
44
|
+
React.createElement(Spin, { indicator: React.createElement(LoadingOutlined, { style: { fontSize: 30 }, spin: true }) }))) : envelope.description && !state.doNotShow && !state.continue ? (layout.ui.mobile ? (React.createElement("div", { className: "envelope-recipient-description-mobile" },
|
|
45
|
+
React.createElement("div", { className: "header" }, `Digital Signature Envelope - ${envelope.name || "***"}`),
|
|
46
|
+
React.createElement("div", { className: "content" },
|
|
47
|
+
React.createElement(Scrollbars, { autoHide: true, ref: scrollRef, onScrollFrame: handleScroll },
|
|
48
|
+
React.createElement(DescriptionEditor, { id: id, collapsible: false, description: envelope.description, readonly: true, padding: "0" }))),
|
|
49
|
+
React.createElement("div", { className: "footer" },
|
|
50
|
+
React.createElement(Row, { justify: "space-between", align: "middle" },
|
|
29
51
|
React.createElement(Checkbox, { checked: state.show, onChange: (e) => runInAction(() => {
|
|
30
52
|
state.show = e.target.checked;
|
|
31
53
|
state.setDoNotShow();
|
|
32
|
-
}) }, "Do not show this page any more")
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
54
|
+
}) }, "Do not show this page any more"),
|
|
55
|
+
React.createElement(Button, { type: "primary", disabled: state.buttonDisabled, onClick: () => runInAction(() => (state.continue = true)) }, "Continue"))))) : (React.createElement("div", { className: "envelope-recipient-description-pc" },
|
|
56
|
+
React.createElement("div", { className: "content" },
|
|
57
|
+
React.createElement(Card, { title: `Digital Signature Envelope - ${envelope.name || "***"}`, className: "steps-content" },
|
|
58
|
+
React.createElement(Scrollbars, { autoHide: true, ref: scrollRef, onScrollFrame: handleScroll },
|
|
59
|
+
React.createElement(DescriptionEditor, { id: id, collapsible: false, description: envelope.description, readonly: true, padding: "0" })))),
|
|
60
|
+
React.createElement("div", { className: "footer" },
|
|
61
|
+
React.createElement(Row, { justify: "space-between", align: "middle" },
|
|
62
|
+
React.createElement(Checkbox, { checked: state.show, onChange: (e) => runInAction(() => {
|
|
63
|
+
state.show = e.target.checked;
|
|
64
|
+
state.setDoNotShow();
|
|
65
|
+
}) }, "Do not show this page any more"),
|
|
66
|
+
React.createElement(Button, { type: "primary", disabled: state.buttonDisabled, onClick: () => runInAction(() => (state.continue = true)) }, "Continue")))))) : (React.createElement(EnvelopeContext.Provider, { value: context }, /ipad|iphone|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/.test(sUserAgent) ? (React.createElement(MobileView, { id: id })) : (React.createElement(PcView, { id: id })))))));
|
|
37
67
|
};
|
|
38
68
|
export default EnvelopeRecipientView;
|
|
39
69
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Signature/Envelope/EnvelopeRecipientView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Signature/Envelope/EnvelopeRecipientView/index.tsx"],"names":[],"mappings":"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"}
|