openxiangda 2.0.0-alpha.54 → 2.0.0-alpha.58
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/dist/browser/application.d.ts +2 -2
- package/dist/browser/application.d.ts.map +1 -1
- package/dist/browser/application.js +36 -40
- package/dist/browser/application.js.map +1 -1
- package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +38 -7
- package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
- package/dist/browser/components/workflow/StandardWorkflowPages.js +131 -26
- package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
- package/dist/browser/platform-client.d.ts +3 -3
- package/dist/browser/platform-client.d.ts.map +1 -1
- package/dist/browser/platform-client.js +5 -3
- package/dist/browser/platform-client.js.map +1 -1
- package/dist/browser/route-manifest.d.ts +6 -12
- package/dist/browser/route-manifest.d.ts.map +1 -1
- package/dist/browser/route-manifest.js +117 -13
- package/dist/browser/route-manifest.js.map +1 -1
- package/dist/browser/runtime.d.ts +14 -2
- package/dist/browser/runtime.d.ts.map +1 -1
- package/dist/browser/runtime.js +53 -6
- package/dist/browser/runtime.js.map +1 -1
- package/dist/browser/workflow-definitions.d.ts +9 -0
- package/dist/browser/workflow-definitions.d.ts.map +1 -1
- package/dist/browser/workflow-definitions.js +19 -1
- package/dist/browser/workflow-definitions.js.map +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js.map +1 -1
- package/dist/react.d.ts +1 -0
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js.map +1 -1
- package/package.json +7 -7
- package/skills/openxiangda-v2/SKILL.md +3 -3
|
@@ -2,7 +2,7 @@ import { type OpenXiangdaApplicationContributions } from './admin-contributions'
|
|
|
2
2
|
import { type AdminNavigationInput, type AdminPagesInput } from './admin-information-architecture';
|
|
3
3
|
import type { GeneratedResourceDefinitionsInput } from './components/resource/generated-resource-definition';
|
|
4
4
|
import type { RuntimePerspective } from './runtime';
|
|
5
|
-
import type { AnonymousPublicAccessContractV2,
|
|
5
|
+
import type { AnonymousPublicAccessContractV2, AppRouteManifestV3 } from 'openxiangda-contracts/browser';
|
|
6
6
|
import { type StandardWorkflowDefinitionsInput } from './workflow-definitions';
|
|
7
7
|
export interface OpenXiangdaApplicationProps {
|
|
8
8
|
appCode: string;
|
|
@@ -10,7 +10,7 @@ export interface OpenXiangdaApplicationProps {
|
|
|
10
10
|
resourceDefinitions: GeneratedResourceDefinitionsInput;
|
|
11
11
|
adminPages: AdminPagesInput;
|
|
12
12
|
adminNavigation: AdminNavigationInput;
|
|
13
|
-
routeManifest:
|
|
13
|
+
routeManifest: AppRouteManifestV3;
|
|
14
14
|
perspectives?: readonly RuntimePerspective[];
|
|
15
15
|
workflows?: StandardWorkflowDefinitionsInput;
|
|
16
16
|
contributions?: OpenXiangdaApplicationContributions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/browser/application.tsx"],"names":[],"mappings":"AA2BA,OAAO,EAKL,KAAK,mCAAmC,EACzC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAEV,iCAAiC,EAClC,MAAM,qDAAqD,CAAC;AAE7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/browser/application.tsx"],"names":[],"mappings":"AA2BA,OAAO,EAKL,KAAK,mCAAmC,EACzC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAEV,iCAAiC,EAClC,MAAM,qDAAqD,CAAC;AAE7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AASpD,OAAO,KAAK,EACV,+BAA+B,EAC/B,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,wBAAwB,CAAC;AAqGhC,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,iCAAiC,CAAC;IACvD,UAAU,EAAE,eAAe,CAAC;IAC5B,eAAe,EAAE,oBAAoB,CAAC;IACtC,aAAa,EAAE,kBAAkB,CAAC;IAClC,YAAY,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC7C,SAAS,CAAC,EAAE,gCAAgC,CAAC;IAC7C,aAAa,CAAC,EAAE,mCAAmC,CAAC;IACpD,YAAY,CAAC,EAAE,+BAA+B,GAAG,IAAI,CAAC;CACvD;AAgMD,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,OAAO,EACP,mBAAmB,EAAE,2BAA2B,EAChD,UAAU,EACV,eAAe,EACf,aAAa,EACb,YAAiB,EACjB,SAAc,EACd,aAAa,EACb,YAAY,GACb,EAAE,2BAA2B,2CAsP7B"}
|
|
@@ -10,7 +10,7 @@ import { applicationBasename, configureApplicationIdentity, } from './runtime-me
|
|
|
10
10
|
import { EmptyApplicationPage, Shell } from './Shell';
|
|
11
11
|
import { AdminContributionsProvider, isApplicationRouteAllowed, useAdminContributions, } from './admin-contributions';
|
|
12
12
|
import { AdminInformationArchitectureProvider, firstAllowedAdminPath, useAdminInformationArchitecture, } from './admin-information-architecture';
|
|
13
|
-
import { createStandardRouteManifestIndex, negotiateStandardRoute, projectStandardAdminPages, standardRouteManifestDeviceForViewport,
|
|
13
|
+
import { createStandardRouteManifestIndex, negotiateStandardRoute, projectStandardAdminPages, standardRouteManifestDeviceForViewport, } from './route-manifest';
|
|
14
14
|
import { OpenXiangdaResourceDefinitionsProvider } from './resource-definitions';
|
|
15
15
|
import { useGlobalRequestLoading } from './platform-client';
|
|
16
16
|
import { OpenXiangdaWorkflowDefinitionsProvider, } from './workflow-definitions';
|
|
@@ -76,6 +76,19 @@ function ApplicationAdminEntry({}) {
|
|
|
76
76
|
});
|
|
77
77
|
return target ? _jsx(Navigate, { replace: true, to: target }) : _jsx(EmptyApplicationPage, {});
|
|
78
78
|
}
|
|
79
|
+
function ApplicationRootEntry({ index, }) {
|
|
80
|
+
const location = useLocation();
|
|
81
|
+
const device = useViewportDevice(index.manifest.devicePolicy);
|
|
82
|
+
const target = device ? index.manifest.rootEntry[device] : undefined;
|
|
83
|
+
if (target && target !== location.pathname) {
|
|
84
|
+
return (_jsx(Navigate, { replace: true, to: {
|
|
85
|
+
pathname: target,
|
|
86
|
+
search: location.search,
|
|
87
|
+
hash: location.hash,
|
|
88
|
+
}, state: location.state }));
|
|
89
|
+
}
|
|
90
|
+
return _jsx(ApplicationAdminEntry, {});
|
|
91
|
+
}
|
|
79
92
|
function ApplicationContributionRoute({ contribution, allRoutes, }) {
|
|
80
93
|
const { hasCapability } = useRuntime();
|
|
81
94
|
const Component = contribution.component;
|
|
@@ -86,52 +99,22 @@ function GlobalRequestLoading() {
|
|
|
86
99
|
const loading = useGlobalRequestLoading();
|
|
87
100
|
return loading ? (_jsx("div", { "aria-label": "\u9875\u9762\u8BF7\u6C42\u8FDB\u884C\u4E2D", "aria-valuetext": "\u6B63\u5728\u52A0\u8F7D", className: "oxa-global-request-loading", role: "progressbar", children: _jsx("span", {}) })) : null;
|
|
88
101
|
}
|
|
89
|
-
function readViewportDevice() {
|
|
102
|
+
function readViewportDevice(policy) {
|
|
90
103
|
if (typeof window === 'undefined')
|
|
91
104
|
return null;
|
|
92
|
-
|
|
93
|
-
return window.matchMedia(`(max-width: ${STANDARD_ROUTE_MOBILE_MAX_WIDTH}px)`).matches
|
|
94
|
-
? 'mobile'
|
|
95
|
-
: 'desktop';
|
|
96
|
-
}
|
|
97
|
-
return standardRouteManifestDeviceForViewport(window.innerWidth);
|
|
105
|
+
return standardRouteManifestDeviceForViewport(policy, window.innerWidth);
|
|
98
106
|
}
|
|
99
|
-
function useViewportDevice() {
|
|
100
|
-
const [device, setDevice] = useState(readViewportDevice);
|
|
107
|
+
function useViewportDevice(policy) {
|
|
108
|
+
const [device, setDevice] = useState(() => readViewportDevice(policy));
|
|
101
109
|
useEffect(() => {
|
|
102
110
|
if (typeof window === 'undefined')
|
|
103
111
|
return;
|
|
104
112
|
const update = (next) => setDevice(current => (current === next ? current : next));
|
|
105
|
-
|
|
106
|
-
const query = window.matchMedia(`(max-width: ${STANDARD_ROUTE_MOBILE_MAX_WIDTH}px)`);
|
|
107
|
-
const onChange = (event) => {
|
|
108
|
-
update(event?.matches === undefined
|
|
109
|
-
? standardRouteManifestDeviceForViewport(window.innerWidth)
|
|
110
|
-
: event.matches
|
|
111
|
-
? 'mobile'
|
|
112
|
-
: 'desktop');
|
|
113
|
-
};
|
|
114
|
-
onChange({ matches: query.matches });
|
|
115
|
-
if (typeof query.addEventListener === 'function') {
|
|
116
|
-
query.addEventListener('change', onChange);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
query.addListener?.(onChange);
|
|
120
|
-
}
|
|
121
|
-
return () => {
|
|
122
|
-
if (typeof query.removeEventListener === 'function') {
|
|
123
|
-
query.removeEventListener('change', onChange);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
query.removeListener?.(onChange);
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
const onResize = () => update(standardRouteManifestDeviceForViewport(window.innerWidth));
|
|
113
|
+
const onResize = () => update(standardRouteManifestDeviceForViewport(policy, window.innerWidth));
|
|
131
114
|
onResize();
|
|
132
115
|
window.addEventListener('resize', onResize);
|
|
133
116
|
return () => window.removeEventListener('resize', onResize);
|
|
134
|
-
}, []);
|
|
117
|
+
}, [policy]);
|
|
135
118
|
return device;
|
|
136
119
|
}
|
|
137
120
|
/**
|
|
@@ -144,11 +127,24 @@ function useViewportDevice() {
|
|
|
144
127
|
function StandardRouteDeviceNegotiator({ index, }) {
|
|
145
128
|
const location = useLocation();
|
|
146
129
|
const navigate = useNavigate();
|
|
147
|
-
const device = useViewportDevice();
|
|
130
|
+
const device = useViewportDevice(index.manifest.devicePolicy);
|
|
148
131
|
const redirectKey = useRef(undefined);
|
|
132
|
+
const initialPath = useRef(location.pathname);
|
|
133
|
+
const initialized = useRef(false);
|
|
149
134
|
useEffect(() => {
|
|
150
135
|
if (!device)
|
|
151
136
|
return;
|
|
137
|
+
if (!initialized.current) {
|
|
138
|
+
initialized.current = true;
|
|
139
|
+
const explicitPaths = [
|
|
140
|
+
index.manifest.authentication.desktop.path,
|
|
141
|
+
index.manifest.authentication.mobile.path,
|
|
142
|
+
];
|
|
143
|
+
const normalizePath = (path) => path.length > 1 ? path.replace(/\/$/, '') : path;
|
|
144
|
+
if (explicitPaths.some(path => normalizePath(path) === normalizePath(initialPath.current))) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
152
148
|
const currentUrl = `${location.pathname}${location.search}${location.hash}`;
|
|
153
149
|
const target = negotiateStandardRoute(index, {
|
|
154
150
|
pathname: location.pathname,
|
|
@@ -242,7 +238,7 @@ export function OpenXiangdaApplication({ appCode, appName, resourceDefinitions:
|
|
|
242
238
|
return [];
|
|
243
239
|
});
|
|
244
240
|
const provider = createApplicationProvider(resourceDefinitions);
|
|
245
|
-
return (_jsx(AdminInformationArchitectureProvider, { navigation: adminNavigation, pages: effectiveAdminPages, children: _jsx(AdminContributionsProvider, { contributions: contributions, children: _jsx(OpenXiangdaResourceDefinitionsProvider, { definitions: resourceDefinitions, children: _jsx(OpenXiangdaWorkflowDefinitionsProvider, { definitions: workflows, children: _jsx(AppearanceProvider, { children: _jsxs(BrowserRouter, { basename: applicationBasename(), children: [_jsx(GlobalRequestLoading, {}), _jsx(StandardRouteDeviceNegotiator, { index: routeManifestIndex }), _jsx(RuntimeBoundary, { authentication: contributions?.authentication, perspectives: perspectives, publicAccess: publicAccess, routes: contributionRoutes, children: _jsx(Refine, { dataProvider: provider, options: REFINE_OPTIONS, resources: codes.map((code) => {
|
|
241
|
+
return (_jsx(AdminInformationArchitectureProvider, { navigation: adminNavigation, pages: effectiveAdminPages, children: _jsx(AdminContributionsProvider, { contributions: contributions, children: _jsx(OpenXiangdaResourceDefinitionsProvider, { definitions: resourceDefinitions, children: _jsx(OpenXiangdaWorkflowDefinitionsProvider, { definitions: workflows, children: _jsx(AppearanceProvider, { children: _jsxs(BrowserRouter, { basename: applicationBasename(), children: [_jsx(GlobalRequestLoading, {}), _jsx(StandardRouteDeviceNegotiator, { index: routeManifestIndex }), _jsx(RuntimeBoundary, { authentication: contributions?.authentication, perspectives: perspectives, publicAccess: publicAccess, routeManifest: routeManifest, routes: contributionRoutes, children: _jsx(Refine, { dataProvider: provider, options: REFINE_OPTIONS, resources: codes.map((code) => {
|
|
246
242
|
const byKind = new Map(resourcePages
|
|
247
243
|
.filter(page => page.resourceCode === code)
|
|
248
244
|
.map(page => [page.kind, page.path]));
|
|
@@ -261,6 +257,6 @@ export function OpenXiangdaApplication({ appCode, appName, resourceDefinitions:
|
|
|
261
257
|
? { show: byKind.get('resource-detail') }
|
|
262
258
|
: {}),
|
|
263
259
|
};
|
|
264
|
-
}), children: _jsxs(Routes, { children: [_jsx(Route, { path: "/", element:
|
|
260
|
+
}), children: _jsxs(Routes, { children: [_jsx(Route, { path: "/", element: _jsx(ApplicationRootEntry, { index: routeManifestIndex }) }), _jsx(Route, { path: "/m/", element: _jsx(ApplicationRootEntry, { index: routeManifestIndex }) }), _jsx(Route, { path: "/m", element: _jsx(ApplicationRootEntry, { index: routeManifestIndex }) }), _jsx(Route, { path: "/admin", element: adminEntry }), _jsx(Route, { path: "/files/:resourceCode/:fileId/preview", element: _jsx(ApplicationRoute, { children: _jsx(FilePreviewPage, {}) }) }), resourceRoutes, workflowRoutes, applicationRoutes] }) }) })] }) }) }) }) }) }));
|
|
265
261
|
}
|
|
266
262
|
//# sourceMappingURL=application.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/browser/application.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/browser/application.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GAET,MAAM,OAAO,CAAC;AACf,OAAO,EACL,aAAa,EACb,QAAQ,EACR,KAAK,EACL,MAAM,EACN,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oCAAoC,EACpC,qBAAqB,EACrB,+BAA+B,GAGhC,MAAM,kCAAkC,CAAC;AAO1C,OAAO,EACL,gCAAgC,EAChC,sBAAsB,EACtB,yBAAyB,EACzB,sCAAsC,GAGvC,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,sCAAsC,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACL,sCAAsC,GAEvC,MAAM,wBAAwB,CAAC;AAEhC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,gBAAgB,EAAE,IAAI;CACvB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,GAAG,EAAE,CACzB,MAAM,CAAC,6CAA6C,CAAC,CAAC;AACxD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAChC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAClF,CAAC;AACF,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CACtC,MAAM,CAAC,6CAA6C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpE,OAAO,EAAE,MAAM,CAAC,qBAAqB;CACtC,CAAC,CAAC,CACJ,CAAC;AACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,CACrC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAC7E,CAAC;AACF,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CACvC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,sBAAsB;CACvC,CAAC,CAAC,CACJ,CAAC;AACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CACjC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CACzE,CAAC;AACF,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CACvC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,sBAAsB;CACvC,CAAC,CAAC,CACJ,CAAC;AACF,MAAM,yBAAyB,GAAG,IAAI,CAAC,GAAG,EAAE,CAC1C,MAAM,CAAC,6CAA6C,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtE,OAAO,EAAE,MAAM,CAAC,yBAAyB;CAC1C,CAAC,CAAC,CACJ,CAAC;AAEF,SAAS,aAAa,CAAC,EAAE,QAAQ,EAA2B;IAC1D,OAAO,CACL,KAAC,QAAQ,IACP,QAAQ,EAAE,cAAK,SAAS,EAAC,kBAAkB,uEAAgB,YAE1D,QAAQ,GACA,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAE,QAAQ,EAA2B;IAC7D,OAAO,CACL,KAAC,QAAQ,IACP,QAAQ,EAAE,cAAK,SAAS,EAAC,kBAAkB,uEAAgB,YAE1D,QAAQ,GACA,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAK/B;IACC,MAAM,OAAO,GAAG,CACd,KAAC,gBAAgB,cACf,KAAC,qBAAqB,OAAK,KAAK,GAAI,GACnB,CACpB,CAAC;IACF,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,KAAK,cAAE,OAAO,GAAS,CAAC;AACzE,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAsB,EACtB,YAAoB,EACpB,OAA6B;IAE7B,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAC/B,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,KAAK;SACF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC;SAClD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAU,CAAC,CACzD,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ;QAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;YAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YACvC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAC/B,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAC/B,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;AACL,CAAC;AAeD,SAAS,qBAAqB,CAAC,EAC1B;IACH,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,UAAU,EAAE,CAAC;IAC1D,MAAM,YAAY,GAAG,+BAA+B,EAAE,CAAC;IACvD,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,qBAAqB,CAClC,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,SAAS,CAAC,EAAE;QACV,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CACrC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CACtD,CAAC;QACF,OAAO,OAAO,CACZ,KAAK;YACH,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO;YAC/B,yBAAyB,CACvB,KAAK,EACL,aAAa,CAAC,MAAM,EACpB,aAAa,CACd,CACJ,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,MAAM,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,OAAO,QAAC,EAAE,EAAE,MAAM,GAAI,CAAC,CAAC,CAAC,KAAC,oBAAoB,KAAG,CAAC;AAC9E,CAAC;AAED,SAAS,oBAAoB,CAAC,EAC5B,KAAK,GAGN;IACC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,IAAI,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,CACL,KAAC,QAAQ,IACP,OAAO,QACP,EAAE,EAAE;gBACF,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,EACD,KAAK,EAAE,QAAQ,CAAC,KAAK,GACrB,CACH,CAAC;IACJ,CAAC;IACD,OAAO,KAAC,qBAAqB,KAAG,CAAC;AACnC,CAAC;AAED,SAAS,4BAA4B,CAAC,EACpC,YAAY,EACZ,SAAS,GAIV;IACC,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,yBAAyB,CACxC,YAAY,EACZ,SAAS,EACT,aAAa,CACd,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IAAC,MAAM,EAAC,KAAK,EAAC,KAAK,EAAC,0EAAc,GAAG,CAC7C,CAAC,CAAC,CAAC,CACF,KAAC,gBAAgB,cACf,KAAC,SAAS,IAAC,KAAK,EAAE,YAAY,CAAC,KAAK,GAAI,GACvB,CACpB,CAAC;IACF,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAC9C,KAAC,KAAK,cAAE,OAAO,GAAS,CACzB,CAAC,CAAC,CAAC,CACF,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,4BACa,4CAAS,oBACL,0BAAM,EACrB,SAAS,EAAC,4BAA4B,EACtC,IAAI,EAAC,aAAa,YAElB,gBAAQ,GACJ,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,kBAAkB,CACzB,MAA0C;IAE1C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,sCAAsC,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA0C;IACnE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAClC,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CACjC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,MAAM,MAAM,GAAG,CAAC,IAAiC,EAAE,EAAE,CACnD,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,MAAM,CAAC,sCAAsC,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5E,QAAQ,EAAE,CAAC;QACX,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,6BAA6B,CAAC,EACrC,KAAK,GAGN;IACC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAElC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3B,MAAM,aAAa,GAAG;gBACpB,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI;gBAC1C,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI;aAC1C,CAAC;YACF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CACrC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,IACE,aAAa,CAAC,IAAI,CAChB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CACnE,EACD,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5E,MAAM,MAAM,GAAG,sBAAsB,CACnC,KAAK,EACL;YACE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,EACD,MAAM,CACP,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACrE,IAAI,SAAS,KAAK,UAAU;YAAE,OAAO;QACrC,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC;QACtC,wEAAwE;QACxE,yEAAyE;QACzE,0DAA0D;QAC1D,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACvD,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC;QAClC,CAAC;QACD,IAAI,WAAW,CAAC,OAAO,KAAK,GAAG;YAAE,OAAO;QACxC,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;QAC1B,QAAQ,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC,EAAE;QACD,MAAM;QACN,KAAK;QACL,QAAQ,CAAC,IAAI;QACb,QAAQ,CAAC,QAAQ;QACjB,QAAQ,CAAC,MAAM;QACf,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EACrC,OAAO,EACP,OAAO,EACP,mBAAmB,EAAE,2BAA2B,EAChD,UAAU,EACV,eAAe,EACf,aAAa,EACb,YAAY,GAAG,EAAE,EACjB,SAAS,GAAG,EAAE,EACd,aAAa,EACb,YAAY,GACgB;IAC5B,4BAA4B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,gCAAgC,CAAC,aAAa,EAAE,OAAO,CAAC,EAC9D,CAAC,OAAO,EAAE,aAAa,CAAC,CACzB,CAAC;IACF,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CAAC,yBAAyB,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAC/D,CAAC,UAAU,EAAE,kBAAkB,CAAC,CACjC,CAAC;IACF,MAAM,mBAAmB,GACvB,2BAAsE,CAAC;IACzE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC;IACvD,MAAM,UAAU,GAAG,KAAC,qBAAqB,KAAG,CAAC;IAC7C,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAa,CAAC;QACxC,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,KAAK,iBAAiB;YAC7B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB;gBAC/B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB;oBAC/B,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,MAAM,CAAC;QACjB,MAAM,YAAY,GAAG,kBAAkB,CACrC,aAAa,EACb,YAAY,EACZ,SAAS,CACV,CAAC;QACF,MAAM,WAAW,GAAG,kBAAkB,CACpC,aAAa,EACb,YAAY,EACZ,QAAQ,CACT,CAAC;QACF,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO;YACL,KAAC,KAAK,IAEJ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EACL,KAAC,sBAAsB,IACrB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,YAAY,GAC1B,IAPC,IAAI,CAAC,IAAI,CASd;YACF,KAAC,KAAK,IAEJ,IAAI,EAAE,UAAU,EAChB,OAAO,EACL,KAAC,sBAAsB,IACrB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAC,QAAQ,GAChB,IARC,GAAG,IAAI,CAAC,IAAI,SAAS,CAU1B;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CACjE,KAAC,KAAK,IACJ,OAAO,EACL,KAAC,4BAA4B,IAC3B,SAAS,EAAE,kBAAkB,EAC7B,YAAY,EAAE,YAAY,GAC1B,EAGJ,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,IADxB,YAAY,CAAC,KAAK,CAAC,IAAI,CAE5B,CACH,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxE,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;YAC7C,OAAO;gBACL,KAAC,KAAK,IAEJ,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EACxB,OAAO,EACL,KAAC,gBAAgB,cACf,KAAC,KAAK,cAAC,KAAC,yBAAyB,KAAG,GAAQ,GAC3B,IALhB,KAAK,CAAC,IAAI,CAOf;gBACF,KAAC,KAAK,IAEJ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EACvB,OAAO,EACL,KAAC,gBAAgB,cACf,KAAC,yBAAyB,IAAC,OAAO,EAAC,QAAQ,GAAG,GAC7B,IALhB,GAAG,KAAK,CAAC,IAAI,SAAS,CAO3B;aACH,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC1C,OAAO;gBACL,KAAC,KAAK,IAEJ,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EACxB,OAAO,EAAE,KAAC,aAAa,cAAC,KAAC,sBAAsB,KAAG,GAAgB,IAF7D,KAAK,CAAC,IAAI,CAGf;gBACF,KAAC,KAAK,IAEJ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EACvB,OAAO,EAAE,KAAC,aAAa,cAAC,KAAC,sBAAsB,IAAC,OAAO,EAAC,QAAQ,GAAG,GAAgB,IAF9E,GAAG,KAAK,CAAC,IAAI,SAAS,CAG3B;aACH,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,OAAO;gBACL,KAAC,KAAK,IAEJ,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EACxB,OAAO,EAAE,KAAC,aAAa,cAAC,KAAC,gBAAgB,KAAG,GAAgB,IAFvD,KAAK,CAAC,IAAI,CAGf;gBACF,KAAC,KAAK,IAEJ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EACvB,OAAO,EAAE,KAAC,aAAa,cAAC,KAAC,gBAAgB,IAAC,OAAO,EAAC,QAAQ,GAAG,GAAgB,IAFxE,GAAG,KAAK,CAAC,IAAI,SAAS,CAG3B;aACH,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACvC,OAAO;gBACL,KAAC,KAAK,IAEJ,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EACxB,OAAO,EAAE,KAAC,aAAa,cAAC,KAAC,oBAAoB,KAAG,GAAgB,IAF3D,KAAK,CAAC,IAAI,CAGf;gBACF,KAAC,KAAK,IAEJ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EACvB,OAAO,EAAE,KAAC,aAAa,cAAC,KAAC,oBAAoB,IAAC,OAAO,EAAC,QAAQ,GAAG,GAAgB,IAF5E,GAAG,KAAK,CAAC,IAAI,SAAS,CAG3B;aACH,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,OAAO;gBACL,KAAC,KAAK,IAEJ,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EACxB,OAAO,EACL,KAAC,aAAa,cACZ,KAAC,sBAAsB,IAAC,YAAY,EAAE,KAAK,CAAC,YAAY,GAAI,GAC9C,IALb,KAAK,CAAC,IAAI,CAOf;gBACF,KAAC,KAAK,IAEJ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EACvB,OAAO,EACL,KAAC,aAAa,cACZ,KAAC,sBAAsB,IAAC,OAAO,EAAC,QAAQ,GAAG,GAC7B,IALb,GAAG,KAAK,CAAC,IAAI,SAAS,CAO3B;aACH,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;IAEhE,OAAO,CACL,KAAC,oCAAoC,IACnC,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,mBAAmB,YAE1B,KAAC,0BAA0B,IAAC,aAAa,EAAE,aAAa,YACxD,KAAC,sCAAsC,IAAC,WAAW,EAAE,mBAAmB,YACtE,KAAC,sCAAsC,IAAC,WAAW,EAAE,SAAS,YAC5D,KAAC,kBAAkB,cACjB,MAAC,aAAa,IAAC,QAAQ,EAAE,mBAAmB,EAAE,aAC5C,KAAC,oBAAoB,KAAG,EACxB,KAAC,6BAA6B,IAAC,KAAK,EAAE,kBAAkB,GAAI,EAC5D,KAAC,eAAe,IACd,cAAc,EAAE,aAAa,EAAE,cAAc,EAC7C,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,kBAAkB,YAE1B,KAAC,MAAM,IACL,YAAY,EAAE,QAAQ,EACtB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;4CAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,aAAa;iDACV,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;iDAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CACvC,CAAC;4CACF,OAAO;gDACL,IAAI,EAAE,IAAI;gDACV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;oDAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;oDACvC,CAAC,CAAC,EAAE,CAAC;gDACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;oDAC/B,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;oDAC3C,CAAC,CAAC,EAAE,CAAC;gDACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;oDAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;oDACzC,CAAC,CAAC,EAAE,CAAC;gDACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;oDAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;oDACzC,CAAC,CAAC,EAAE,CAAC;6CACR,CAAC;wCACJ,CAAC,CAAC,YAEF,MAAC,MAAM,eACL,KAAC,KAAK,IACJ,IAAI,EAAC,GAAG,EACR,OAAO,EAAE,KAAC,oBAAoB,IAAC,KAAK,EAAE,kBAAkB,GAAI,GAC5D,EACF,KAAC,KAAK,IACJ,IAAI,EAAC,KAAK,EACV,OAAO,EAAE,KAAC,oBAAoB,IAAC,KAAK,EAAE,kBAAkB,GAAI,GAC5D,EACF,KAAC,KAAK,IACJ,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,KAAC,oBAAoB,IAAC,KAAK,EAAE,kBAAkB,GAAI,GAC5D,EACF,KAAC,KAAK,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,UAAU,GAAI,EAC5C,KAAC,KAAK,IACJ,IAAI,EAAC,sCAAsC,EAC3C,OAAO,EACL,KAAC,gBAAgB,cACf,KAAC,eAAe,KAAG,GACF,GAErB,EACD,cAAc,EACd,cAAc,EACd,iBAAiB,IACX,GACF,GACO,IACJ,GACG,GACkB,GACF,GACZ,GACQ,CACxC,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,26 @@
|
|
|
1
|
-
import type { WorkflowSurface } from 'openxiangda-contracts/browser';
|
|
1
|
+
import type { WorkflowCommandResult, WorkflowSurface } from 'openxiangda-contracts/browser';
|
|
2
2
|
import { type ReactNode } from 'react';
|
|
3
3
|
type PageVariant = 'desktop' | 'mobile';
|
|
4
4
|
export type WorkflowPageVariant = PageVariant;
|
|
5
|
+
export type WorkflowSurfaceKind = 'task' | 'instance';
|
|
6
|
+
/**
|
|
7
|
+
* An advanced task command has completed the current task and may have
|
|
8
|
+
* created a new task. Reading the old task Surface in that case is expected
|
|
9
|
+
* to fail, so only instance commands and non-advanced task commands refresh a
|
|
10
|
+
* Surface through the current identifier.
|
|
11
|
+
*/
|
|
12
|
+
export declare function shouldRefreshWorkflowSurface(kind: WorkflowSurfaceKind, result: WorkflowCommandResult): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Apply the command-completion lifecycle shared by the standard and
|
|
15
|
+
* embeddable Workflow panels. The explicit command callback always receives
|
|
16
|
+
* the platform result; the legacy Surface callback only runs when a valid
|
|
17
|
+
* current Surface was refreshed.
|
|
18
|
+
*/
|
|
19
|
+
export declare function completeWorkflowCommand(kind: WorkflowSurfaceKind, result: WorkflowCommandResult, options: {
|
|
20
|
+
refresh: () => Promise<WorkflowSurface | null>;
|
|
21
|
+
onCommandCompleted?: (result: WorkflowCommandResult) => void | Promise<void>;
|
|
22
|
+
onCompleted?: (surface: WorkflowSurface, result?: WorkflowCommandResult) => void | Promise<void>;
|
|
23
|
+
}): Promise<WorkflowSurface | null>;
|
|
5
24
|
export interface WorkflowTaskOperationsPanelProps {
|
|
6
25
|
/** The platform task identifier. It is never inferred from application data. */
|
|
7
26
|
taskId: string;
|
|
@@ -11,11 +30,17 @@ export interface WorkflowTaskOperationsPanelProps {
|
|
|
11
30
|
surface?: WorkflowSurface | null;
|
|
12
31
|
/** Called whenever the panel obtains a fresh task Surface. */
|
|
13
32
|
onSurfaceChange?: (surface: WorkflowSurface) => void;
|
|
14
|
-
/**
|
|
15
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Called after a command succeeds and the task Surface has been refreshed.
|
|
35
|
+
* The optional second argument carries the unchanged platform command
|
|
36
|
+
* result for existing consumers that still use this callback.
|
|
37
|
+
*/
|
|
38
|
+
onCompleted?: (surface: WorkflowSurface, result?: WorkflowCommandResult) => void | Promise<void>;
|
|
39
|
+
/** Called with the platform command result after successful completion. */
|
|
40
|
+
onCommandCompleted?: (result: WorkflowCommandResult) => void | Promise<void>;
|
|
16
41
|
}
|
|
17
42
|
/** Public, embeddable Workflow task operation surface. */
|
|
18
|
-
export declare function WorkflowTaskOperationsPanel({ taskId, variant, surface, onSurfaceChange, onCompleted, }: WorkflowTaskOperationsPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export declare function WorkflowTaskOperationsPanel({ taskId, variant, surface, onSurfaceChange, onCompleted, onCommandCompleted, }: WorkflowTaskOperationsPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
19
44
|
export interface WorkflowInstanceOperationsPanelProps {
|
|
20
45
|
/** The platform workflow instance identifier. It is never inferred from business data. */
|
|
21
46
|
instanceId: string;
|
|
@@ -25,11 +50,17 @@ export interface WorkflowInstanceOperationsPanelProps {
|
|
|
25
50
|
surface?: WorkflowSurface | null;
|
|
26
51
|
/** Called whenever the panel obtains a fresh instance Surface. */
|
|
27
52
|
onSurfaceChange?: (surface: WorkflowSurface) => void;
|
|
28
|
-
/**
|
|
29
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Called after a command succeeds and the instance Surface has been
|
|
55
|
+
* refreshed. The optional second argument carries the platform command
|
|
56
|
+
* result for existing consumers that still use this callback.
|
|
57
|
+
*/
|
|
58
|
+
onCompleted?: (surface: WorkflowSurface, result?: WorkflowCommandResult) => void | Promise<void>;
|
|
59
|
+
/** Called with the platform command result after successful completion. */
|
|
60
|
+
onCommandCompleted?: (result: WorkflowCommandResult) => void | Promise<void>;
|
|
30
61
|
}
|
|
31
62
|
/** Public, embeddable Workflow instance operation surface. */
|
|
32
|
-
export declare function WorkflowInstanceOperationsPanel({ instanceId, variant, surface, onSurfaceChange, onCompleted, }: WorkflowInstanceOperationsPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
export declare function WorkflowInstanceOperationsPanel({ instanceId, variant, surface, onSurfaceChange, onCompleted, onCommandCompleted, }: WorkflowInstanceOperationsPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
33
64
|
export declare function WorkflowTaskPage({ variant, }: {
|
|
34
65
|
variant?: PageVariant;
|
|
35
66
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardWorkflowPages.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/workflow/StandardWorkflowPages.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"StandardWorkflowPages.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/workflow/StandardWorkflowPages.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { ArrowLeftOutlined, CheckCircleFilled, EllipsisOutlined, FileSearchOutlined, ReloadOutlined, } from '@ant-design/icons';
|
|
3
3
|
import { Alert, App, Button, Card, Drawer, Empty, Form, Input, List, Modal, Result, Segmented, Select, Space, Spin, Table, Tag, Typography, } from 'antd';
|
|
4
|
+
import { normalizeWorkflowBusinessData } from 'openxiangda-contracts/browser';
|
|
4
5
|
import { useCallback, useEffect, useMemo, useRef, useState, } from 'react';
|
|
5
6
|
import { Link, Navigate, useNavigate, useParams, useSearchParams, } from 'react-router-dom';
|
|
6
7
|
import { Shell } from '../../Shell';
|
|
@@ -10,6 +11,29 @@ import { useResourceDefinitions } from '../../resource-definitions';
|
|
|
10
11
|
import { useRuntime } from '../../runtime';
|
|
11
12
|
import { MobileSurfaceFieldControl, SurfaceFieldControl, } from '../resource/SurfaceFields';
|
|
12
13
|
import { normalizeFormValues, normalizeRecordForForm, } from '../platform-fields/field-form-codec';
|
|
14
|
+
/**
|
|
15
|
+
* An advanced task command has completed the current task and may have
|
|
16
|
+
* created a new task. Reading the old task Surface in that case is expected
|
|
17
|
+
* to fail, so only instance commands and non-advanced task commands refresh a
|
|
18
|
+
* Surface through the current identifier.
|
|
19
|
+
*/
|
|
20
|
+
export function shouldRefreshWorkflowSurface(kind, result) {
|
|
21
|
+
return kind === 'instance' || result.advanced !== true;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Apply the command-completion lifecycle shared by the standard and
|
|
25
|
+
* embeddable Workflow panels. The explicit command callback always receives
|
|
26
|
+
* the platform result; the legacy Surface callback only runs when a valid
|
|
27
|
+
* current Surface was refreshed.
|
|
28
|
+
*/
|
|
29
|
+
export async function completeWorkflowCommand(kind, result, options) {
|
|
30
|
+
const refreshSurface = shouldRefreshWorkflowSurface(kind, result);
|
|
31
|
+
const nextSurface = refreshSurface ? await options.refresh() : null;
|
|
32
|
+
await options.onCommandCompleted?.(result);
|
|
33
|
+
if (nextSurface)
|
|
34
|
+
await options.onCompleted?.(nextSurface, result);
|
|
35
|
+
return nextSurface;
|
|
36
|
+
}
|
|
13
37
|
function errorMessage(error, fallback) {
|
|
14
38
|
return error instanceof Error ? error.message : fallback;
|
|
15
39
|
}
|
|
@@ -74,8 +98,7 @@ function workflowSurfaceMatchesInstance(surface, instanceId) {
|
|
|
74
98
|
workflowSurfaceInstanceId(surface) === normalizedInstanceId);
|
|
75
99
|
}
|
|
76
100
|
function surfaceBusinessData(surface) {
|
|
77
|
-
|
|
78
|
-
return presentation.businessData || {};
|
|
101
|
+
return normalizeWorkflowBusinessData(surface.presentation.businessData);
|
|
79
102
|
}
|
|
80
103
|
function displayValue(value) {
|
|
81
104
|
if (value === null || value === undefined || value === '')
|
|
@@ -120,9 +143,15 @@ function standardWorkflowOperations(surface) {
|
|
|
120
143
|
}
|
|
121
144
|
function WorkflowBusinessCard({ surface, variant, }) {
|
|
122
145
|
const navigate = useNavigate();
|
|
123
|
-
const
|
|
146
|
+
const businessData = surfaceBusinessData(surface);
|
|
147
|
+
const entries = Object.entries(businessData.fields);
|
|
148
|
+
const emptyDescription = businessData.status === 'unavailable'
|
|
149
|
+
? '业务摘要暂不可用'
|
|
150
|
+
: businessData.status === 'missing'
|
|
151
|
+
? '业务记录不存在'
|
|
152
|
+
: '没有可展示的业务字段';
|
|
124
153
|
const target = surface.navigationTarget;
|
|
125
|
-
return (_jsxs(Card, { className: "oxa-workflow-business", title: "\u7533\u8BF7\u4FE1\u606F", children: [entries.length ? (_jsx("div", { className: "oxa-workflow-business-grid", children: entries.map(([key, value]) => (_jsxs("div", { children: [_jsx(Typography.Text, { type: "secondary", children: key }), _jsx("strong", { children: displayValue(value) })] }, key))) })) : (_jsx(Empty, { description:
|
|
154
|
+
return (_jsxs(Card, { className: "oxa-workflow-business", title: "\u7533\u8BF7\u4FE1\u606F", children: [businessData.status === 'stale' && (_jsx(Alert, { className: "oxa-workflow-business-stale", message: "\u4E1A\u52A1\u6570\u636E\u5DF2\u53D8\u5316", showIcon: true, type: "warning" })), entries.length ? (_jsx("div", { className: "oxa-workflow-business-grid", children: entries.map(([key, value]) => (_jsxs("div", { children: [_jsx(Typography.Text, { type: "secondary", children: key }), _jsx("strong", { children: displayValue(value) })] }, key))) })) : (_jsx(Empty, { description: emptyDescription, image: Empty.PRESENTED_IMAGE_SIMPLE })), target && (_jsx(Button, { block: true, className: "oxa-workflow-business-link", icon: _jsx(FileSearchOutlined, {}), onClick: () => navigate(variant === 'mobile' ? target.mobilePath : target.desktopPath), children: "\u67E5\u770B\u4E1A\u52A1\u8BE6\u60C5" }))] }));
|
|
126
155
|
}
|
|
127
156
|
function timelineTone(status) {
|
|
128
157
|
if (status === 'completed')
|
|
@@ -246,15 +275,16 @@ function WorkflowOperations({ surface, variant, onRefresh, onCommandSuccess, })
|
|
|
246
275
|
await onRefresh();
|
|
247
276
|
throw new Error('WORKFLOW_COMMAND_SURFACE_EXPIRED');
|
|
248
277
|
}
|
|
278
|
+
let result;
|
|
249
279
|
if (task && !['withdraw', 'terminate'].includes(selected.key)) {
|
|
250
|
-
await executeWorkflowTaskCommand(task.id, selected.key, {
|
|
280
|
+
result = await executeWorkflowTaskCommand(task.id, selected.key, {
|
|
251
281
|
commandToken,
|
|
252
282
|
idempotencyKey: randomId(`workflow:${task.id}:${selected.key}`),
|
|
253
283
|
input: values,
|
|
254
284
|
});
|
|
255
285
|
}
|
|
256
286
|
else if (selected.key === 'withdraw' || selected.key === 'terminate') {
|
|
257
|
-
await executeWorkflowInstanceCommand(instance.id, selected.key, {
|
|
287
|
+
result = await executeWorkflowInstanceCommand(instance.id, selected.key, {
|
|
258
288
|
commandToken,
|
|
259
289
|
idempotencyKey: randomId(`workflow:${instance.id}:${selected.key}`),
|
|
260
290
|
input: { reason: String(values.reason || '') },
|
|
@@ -265,7 +295,7 @@ function WorkflowOperations({ surface, variant, onRefresh, onCommandSuccess, })
|
|
|
265
295
|
}
|
|
266
296
|
message.success(`${selected.label}已提交`);
|
|
267
297
|
setSelectedState(null);
|
|
268
|
-
await onCommandSuccess();
|
|
298
|
+
await onCommandSuccess(result);
|
|
269
299
|
}
|
|
270
300
|
catch (error) {
|
|
271
301
|
if (error?.data?.freshSurface) {
|
|
@@ -297,7 +327,7 @@ function WorkflowOperations({ surface, variant, onRefresh, onCommandSuccess, })
|
|
|
297
327
|
* idempotency, and state transitions; all operation controls continue to be
|
|
298
328
|
* rendered by WorkflowOperations above.
|
|
299
329
|
*/
|
|
300
|
-
function WorkflowOperationsPanel({ identifier, variant, surface: suppliedSurface, onSurfaceChange, onCompleted, loadSurface, matchesSurface, missingIdentifierMessage, surfaceMismatchMessage, loadingLabel, loadErrorFallback, }) {
|
|
330
|
+
function WorkflowOperationsPanel({ identifier, surfaceKind, variant, surface: suppliedSurface, onSurfaceChange, onCompleted, onCommandCompleted, loadSurface, matchesSurface, missingIdentifierMessage, surfaceMismatchMessage, loadingLabel, loadErrorFallback, }) {
|
|
301
331
|
const normalizedIdentifier = identifier.trim();
|
|
302
332
|
const inputSurface = suppliedSurface || null;
|
|
303
333
|
const suppliedSurfaceMatches = matchesSurface(inputSurface, normalizedIdentifier);
|
|
@@ -315,6 +345,7 @@ function WorkflowOperationsPanel({ identifier, variant, surface: suppliedSurface
|
|
|
315
345
|
const activeRef = useRef(false);
|
|
316
346
|
const onSurfaceChangeRef = useRef(onSurfaceChange);
|
|
317
347
|
const onCompletedRef = useRef(onCompleted);
|
|
348
|
+
const onCommandCompletedRef = useRef(onCommandCompleted);
|
|
318
349
|
if (currentIdentifierRef.current !== normalizedIdentifier) {
|
|
319
350
|
currentIdentifierRef.current = normalizedIdentifier;
|
|
320
351
|
generationRef.current += 1;
|
|
@@ -330,6 +361,7 @@ function WorkflowOperationsPanel({ identifier, variant, surface: suppliedSurface
|
|
|
330
361
|
const panelGeneration = generationRef.current;
|
|
331
362
|
onSurfaceChangeRef.current = onSurfaceChange;
|
|
332
363
|
onCompletedRef.current = onCompleted;
|
|
364
|
+
onCommandCompletedRef.current = onCommandCompleted;
|
|
333
365
|
const refresh = useCallback(async () => {
|
|
334
366
|
const requestIdentifier = normalizedIdentifier;
|
|
335
367
|
const requestGeneration = generationRef.current;
|
|
@@ -455,23 +487,56 @@ function WorkflowOperationsPanel({ identifier, variant, surface: suppliedSurface
|
|
|
455
487
|
return;
|
|
456
488
|
await refresh();
|
|
457
489
|
}, [isCurrentGeneration, normalizedIdentifier, panelGeneration, refresh]);
|
|
458
|
-
const completed = useCallback(async () => {
|
|
490
|
+
const completed = useCallback(async (result) => {
|
|
459
491
|
const identifierAtStart = normalizedIdentifier;
|
|
460
492
|
const generationAtStart = panelGeneration;
|
|
461
493
|
if (!isCurrentGeneration(identifierAtStart, generationAtStart))
|
|
462
494
|
return;
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
495
|
+
if (!shouldRefreshWorkflowSurface(surfaceKind, result)) {
|
|
496
|
+
// The old task has become terminal. Remove its controls immediately so
|
|
497
|
+
// a consumer without the explicit callback cannot submit the stale
|
|
498
|
+
// command token a second time.
|
|
499
|
+
setSurface(null);
|
|
500
|
+
// Keep the identifier marked as current. Clearing it would make the
|
|
501
|
+
// generic loading predicate spin forever because no refresh is expected
|
|
502
|
+
// for a terminal task; the explicit callback is responsible for loading
|
|
503
|
+
// the resulting instance or navigating away.
|
|
504
|
+
setLoading(false);
|
|
505
|
+
setLoadingIdentifier(null);
|
|
472
506
|
}
|
|
473
|
-
await
|
|
474
|
-
|
|
507
|
+
await completeWorkflowCommand(surfaceKind, result, {
|
|
508
|
+
refresh: async () => {
|
|
509
|
+
if (!isCurrentGeneration(identifierAtStart, generationAtStart)) {
|
|
510
|
+
return null;
|
|
511
|
+
}
|
|
512
|
+
const nextSurface = await refresh();
|
|
513
|
+
return isCurrentGeneration(identifierAtStart, generationAtStart)
|
|
514
|
+
? nextSurface
|
|
515
|
+
: null;
|
|
516
|
+
},
|
|
517
|
+
onCommandCompleted: async (commandResult) => {
|
|
518
|
+
if (!isCurrentGeneration(identifierAtStart, generationAtStart)) {
|
|
519
|
+
return;
|
|
520
|
+
}
|
|
521
|
+
await onCommandCompletedRef.current?.(commandResult);
|
|
522
|
+
},
|
|
523
|
+
onCompleted: async (nextSurface, commandResult) => {
|
|
524
|
+
if (!isCurrentGeneration(identifierAtStart, generationAtStart)) {
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
527
|
+
const callback = onCompletedRef.current;
|
|
528
|
+
if (!callback)
|
|
529
|
+
return;
|
|
530
|
+
await callback(nextSurface, commandResult);
|
|
531
|
+
},
|
|
532
|
+
});
|
|
533
|
+
}, [
|
|
534
|
+
isCurrentGeneration,
|
|
535
|
+
normalizedIdentifier,
|
|
536
|
+
panelGeneration,
|
|
537
|
+
refresh,
|
|
538
|
+
surfaceKind,
|
|
539
|
+
]);
|
|
475
540
|
const stateSurfaceMatches = surfaceIdentifier === normalizedIdentifier &&
|
|
476
541
|
matchesSurface(surface, normalizedIdentifier);
|
|
477
542
|
const acceptedInput = acceptedInputSurface === inputSurface;
|
|
@@ -506,12 +571,12 @@ function WorkflowOperationsPanel({ identifier, variant, surface: suppliedSurface
|
|
|
506
571
|
return (_jsxs(_Fragment, { children: [renderError && (_jsx(Alert, { description: renderError, showIcon: true, type: "warning" })), _jsx(WorkflowOperations, { onCommandSuccess: completed, onRefresh: refreshCurrent, surface: renderSurface, variant: variant })] }));
|
|
507
572
|
}
|
|
508
573
|
/** Public, embeddable Workflow task operation surface. */
|
|
509
|
-
export function WorkflowTaskOperationsPanel({ taskId, variant = 'desktop', surface, onSurfaceChange, onCompleted, }) {
|
|
510
|
-
return (_jsx(WorkflowOperationsPanel, { identifier: taskId, loadErrorFallback: "\u5BA1\u6279\u4EFB\u52A1\u52A0\u8F7D\u5931\u8D25", loadSurface: loadWorkflowTaskSurface, matchesSurface: workflowSurfaceMatchesTask, missingIdentifierMessage: "WORKFLOW_TASK_ID_REQUIRED", onCompleted: onCompleted, onSurfaceChange: onSurfaceChange, surface: surface, surfaceMismatchMessage: "WORKFLOW_TASK_SURFACE_TASK_MISMATCH", variant: variant, loadingLabel: "\u6B63\u5728\u52A0\u8F7D\u5BA1\u6279\u64CD\u4F5C" }));
|
|
574
|
+
export function WorkflowTaskOperationsPanel({ taskId, variant = 'desktop', surface, onSurfaceChange, onCompleted, onCommandCompleted, }) {
|
|
575
|
+
return (_jsx(WorkflowOperationsPanel, { identifier: taskId, onCommandCompleted: onCommandCompleted, loadErrorFallback: "\u5BA1\u6279\u4EFB\u52A1\u52A0\u8F7D\u5931\u8D25", loadSurface: loadWorkflowTaskSurface, matchesSurface: workflowSurfaceMatchesTask, missingIdentifierMessage: "WORKFLOW_TASK_ID_REQUIRED", onCompleted: onCompleted, onSurfaceChange: onSurfaceChange, surface: surface, surfaceMismatchMessage: "WORKFLOW_TASK_SURFACE_TASK_MISMATCH", surfaceKind: "task", variant: variant, loadingLabel: "\u6B63\u5728\u52A0\u8F7D\u5BA1\u6279\u64CD\u4F5C" }));
|
|
511
576
|
}
|
|
512
577
|
/** Public, embeddable Workflow instance operation surface. */
|
|
513
|
-
export function WorkflowInstanceOperationsPanel({ instanceId, variant = 'desktop', surface, onSurfaceChange, onCompleted, }) {
|
|
514
|
-
return (_jsx(WorkflowOperationsPanel, { identifier: instanceId, loadErrorFallback: "\u6D41\u7A0B\u5B9E\u4F8B\u52A0\u8F7D\u5931\u8D25", loadSurface: loadWorkflowInstanceSurface, matchesSurface: workflowSurfaceMatchesInstance, missingIdentifierMessage: "WORKFLOW_INSTANCE_ID_REQUIRED", onCompleted: onCompleted, onSurfaceChange: onSurfaceChange, surface: surface, surfaceMismatchMessage: "WORKFLOW_INSTANCE_SURFACE_INSTANCE_MISMATCH", variant: variant, loadingLabel: "\u6B63\u5728\u52A0\u8F7D\u6D41\u7A0B\u64CD\u4F5C" }));
|
|
578
|
+
export function WorkflowInstanceOperationsPanel({ instanceId, variant = 'desktop', surface, onSurfaceChange, onCompleted, onCommandCompleted, }) {
|
|
579
|
+
return (_jsx(WorkflowOperationsPanel, { identifier: instanceId, onCommandCompleted: onCommandCompleted, loadErrorFallback: "\u6D41\u7A0B\u5B9E\u4F8B\u52A0\u8F7D\u5931\u8D25", loadSurface: loadWorkflowInstanceSurface, matchesSurface: workflowSurfaceMatchesInstance, missingIdentifierMessage: "WORKFLOW_INSTANCE_ID_REQUIRED", onCompleted: onCompleted, onSurfaceChange: onSurfaceChange, surface: surface, surfaceMismatchMessage: "WORKFLOW_INSTANCE_SURFACE_INSTANCE_MISMATCH", surfaceKind: "instance", variant: variant, loadingLabel: "\u6B63\u5728\u52A0\u8F7D\u6D41\u7A0B\u64CD\u4F5C" }));
|
|
515
580
|
}
|
|
516
581
|
function WorkflowDetailPage({ kind, variant, }) {
|
|
517
582
|
const params = useParams();
|
|
@@ -625,6 +690,38 @@ function WorkflowDetailPage({ kind, variant, }) {
|
|
|
625
690
|
setTimeline(nextTimeline);
|
|
626
691
|
setTimelineDetailKey(detailKey);
|
|
627
692
|
}, [detailGeneration, detailKey, detailSequenceAtRender, id]);
|
|
693
|
+
const onTaskCommandCompleted = useCallback(async (result) => {
|
|
694
|
+
if (result.advanced !== true)
|
|
695
|
+
return;
|
|
696
|
+
const instanceId = typeof result.instanceId === 'string' ? result.instanceId.trim() : '';
|
|
697
|
+
if (!instanceId)
|
|
698
|
+
return;
|
|
699
|
+
if (!detailActiveRef.current ||
|
|
700
|
+
detailSequenceAtRender !== requestSequence.current ||
|
|
701
|
+
currentDetailKeyRef.current !== detailKey ||
|
|
702
|
+
detailGenerationRef.current !== detailGeneration) {
|
|
703
|
+
return;
|
|
704
|
+
}
|
|
705
|
+
const nextSurface = await loadWorkflowInstanceSurface(instanceId);
|
|
706
|
+
if (!workflowSurfaceMatchesInstance(nextSurface, instanceId)) {
|
|
707
|
+
throw new Error('WORKFLOW_INSTANCE_SURFACE_INSTANCE_MISMATCH');
|
|
708
|
+
}
|
|
709
|
+
if (!detailActiveRef.current ||
|
|
710
|
+
detailSequenceAtRender !== requestSequence.current ||
|
|
711
|
+
currentDetailKeyRef.current !== detailKey ||
|
|
712
|
+
detailGenerationRef.current !== detailGeneration) {
|
|
713
|
+
return;
|
|
714
|
+
}
|
|
715
|
+
navigate(variant === 'mobile'
|
|
716
|
+
? nextSurface.detailNavigation.mobilePath
|
|
717
|
+
: nextSurface.detailNavigation.desktopPath, { replace: true });
|
|
718
|
+
}, [
|
|
719
|
+
detailGeneration,
|
|
720
|
+
detailKey,
|
|
721
|
+
detailSequenceAtRender,
|
|
722
|
+
navigate,
|
|
723
|
+
variant,
|
|
724
|
+
]);
|
|
628
725
|
const onInstanceSurfaceChange = useCallback((nextSurface) => {
|
|
629
726
|
if (!detailActiveRef.current ||
|
|
630
727
|
detailSequenceAtRender !== requestSequence.current ||
|
|
@@ -677,7 +774,7 @@ function WorkflowDetailPage({ kind, variant, }) {
|
|
|
677
774
|
const title = task?.title || instance.workflowCode;
|
|
678
775
|
content = (_jsxs("div", { className: `oxa-workflow-detail oxa-workflow-detail-${variant}`, children: [_jsxs("header", { className: "oxa-workflow-detail-header", children: [variant === 'mobile' && (_jsx(Button, { "aria-label": "\u8FD4\u56DE", icon: _jsx(ArrowLeftOutlined, {}), onClick: () => navigate(-1), type: "text" })), _jsxs("div", { children: [_jsx(Typography.Title, { level: variant === 'mobile' ? 3 : 2, children: title }), _jsxs(Space, { wrap: true, children: [_jsx(StatusTag, { status: task?.status || instance.status }), _jsx(Typography.Text, { type: "secondary", children: instance.businessKey }), _jsxs(Typography.Text, { type: "secondary", children: ["\u5E8F\u5217 ", renderSurface.instanceSequence] })] })] }), _jsx(Button, { icon: _jsx(ReloadOutlined, {}), loading: loading, onClick: () => void load(), children: "\u5237\u65B0" })] }), renderError && (_jsx(Alert, { description: renderError, showIcon: true, type: "warning" })), _jsxs("div", { className: "oxa-workflow-detail-grid", children: [_jsx(WorkflowBusinessCard, { surface: renderSurface, variant: variant }), _jsx(WorkflowTimelineCard, { timeline: renderTimeline })] }), task?.participants?.length ? (_jsx(Card, { className: "oxa-workflow-participants", title: "\u5F53\u524D\u5BA1\u6279\u53C2\u4E0E\u4EBA", children: _jsx(List, { dataSource: task.participants, renderItem: (participant) => (_jsx(List.Item, { extra: _jsx(StatusTag, { status: participant.status }), children: _jsx(List.Item.Meta, { description: participant.role?.name ||
|
|
679
776
|
participant.roleSubjectKey ||
|
|
680
|
-
'直接指派', title: participant.userId }) })) }) })) : null, kind === 'task' ? (task ? (_jsx(WorkflowTaskOperationsPanel, { onCompleted: onTaskCompleted, onSurfaceChange: onTaskSurfaceChange, surface: renderSurface, taskId: task.id, variant: variant })) : null) : (_jsx(WorkflowInstanceOperationsPanel, { instanceId: instance.id, onCompleted: onInstanceCompleted, onSurfaceChange: onInstanceSurfaceChange, surface: renderSurface, variant: variant }))] }));
|
|
777
|
+
'直接指派', title: participant.userId }) })) }) })) : null, kind === 'task' ? (task ? (_jsx(WorkflowTaskOperationsPanel, { onCommandCompleted: onTaskCommandCompleted, onCompleted: onTaskCompleted, onSurfaceChange: onTaskSurfaceChange, surface: renderSurface, taskId: task.id, variant: variant })) : null) : (_jsx(WorkflowInstanceOperationsPanel, { instanceId: instance.id, onCompleted: onInstanceCompleted, onSurfaceChange: onInstanceSurfaceChange, surface: renderSurface, variant: variant }))] }));
|
|
681
778
|
}
|
|
682
779
|
return variant === 'desktop' ? (_jsx(Shell, { children: content })) : (_jsx("div", { className: "oxa-workflow-mobile-page", children: content }));
|
|
683
780
|
}
|
|
@@ -833,12 +930,20 @@ export function WorkflowSubmissionPage({ workflowCode: declaredWorkflowCode, var
|
|
|
833
930
|
? Object.entries(definition.subject.factProjection).sort()
|
|
834
931
|
: [];
|
|
835
932
|
const actualProjection = Object.entries(surface.subject.factProjection).sort();
|
|
933
|
+
const expectedSummaryFields = definition
|
|
934
|
+
? [...(definition.subject.summaryFields || [])].sort()
|
|
935
|
+
: [];
|
|
936
|
+
const actualSummaryFields = [
|
|
937
|
+
...(surface.subject.summaryFields || []),
|
|
938
|
+
].sort();
|
|
836
939
|
if (!definition ||
|
|
837
940
|
surface.environmentKey !== identity.environment.key ||
|
|
838
941
|
surface.environmentId !== identity.environment.id ||
|
|
839
942
|
surface.processOperationCode !== definition.processOperationCode ||
|
|
840
943
|
surface.subject.resourceCode !== definition.subject.resourceCode ||
|
|
841
|
-
JSON.stringify(actualProjection) !== JSON.stringify(expectedProjection)
|
|
944
|
+
JSON.stringify(actualProjection) !== JSON.stringify(expectedProjection) ||
|
|
945
|
+
JSON.stringify(actualSummaryFields) !==
|
|
946
|
+
JSON.stringify(expectedSummaryFields)) {
|
|
842
947
|
throw new Error('OPENXIANGDA_WORKFLOW_LAUNCH_CONTRACT_MISMATCH');
|
|
843
948
|
}
|
|
844
949
|
if (active)
|