@zhubangyun/lowcode-core 5.10.82 → 5.10.91

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.
Files changed (61) hide show
  1. package/es/components/load-materials/index.js +3 -4
  2. package/es/components/log-error-content.d.ts +5 -0
  3. package/es/components/log-error-content.js +32 -0
  4. package/es/components/typing.d.ts +1 -1
  5. package/es/index.js +0 -1
  6. package/es/style.js +1 -1
  7. package/es/utils/api/form-api.js +8 -5
  8. package/es/utils/api/form-api.utils.js +19 -32
  9. package/es/utils/api/rest-api.d.ts +6 -6
  10. package/es/utils/api/rest-api.js +24 -52
  11. package/es/utils/api/schema-api.d.ts +1 -0
  12. package/es/utils/api/schema-api.js +10 -8
  13. package/es/utils/common/LoadPlugins.js +16 -9
  14. package/es/utils/common/SingletonInstanceMap.d.ts +1 -0
  15. package/es/utils/common/SingletonInstanceMap.js +3 -0
  16. package/es/utils/designer/assets/assets.typing.d.ts +3 -3
  17. package/es/utils/designer/assets/index.d.ts +1 -1
  18. package/es/utils/page/page-form-data-manager-group.d.ts +1 -1
  19. package/es/utils/page/page-form-data-manager.d.ts +1 -1
  20. package/es/utils/page/page-form.d.ts +2 -1
  21. package/es/utils/page/page-layout.d.ts +2 -2
  22. package/es/utils/page/page-layout.js +7 -4
  23. package/es/utils/page/page-load-schema.js +8 -0
  24. package/es/utils/page/page-render.js +10 -11
  25. package/es/utils/page/page-show.d.ts +1 -4
  26. package/es/utils/page/page-show.js +3 -3
  27. package/lib/components/load-materials/index.js +3 -4
  28. package/lib/components/log-error-content.d.ts +5 -0
  29. package/lib/components/log-error-content.js +37 -0
  30. package/lib/components/typing.d.ts +1 -1
  31. package/lib/index.js +0 -2
  32. package/lib/style.js +1 -1
  33. package/lib/utils/api/form-api.js +8 -5
  34. package/lib/utils/api/form-api.utils.js +19 -32
  35. package/lib/utils/api/rest-api.d.ts +6 -6
  36. package/lib/utils/api/rest-api.js +24 -52
  37. package/lib/utils/api/schema-api.d.ts +1 -0
  38. package/lib/utils/api/schema-api.js +11 -8
  39. package/lib/utils/common/LoadPlugins.js +16 -9
  40. package/lib/utils/common/SingletonInstanceMap.d.ts +1 -0
  41. package/lib/utils/common/SingletonInstanceMap.js +3 -0
  42. package/lib/utils/designer/assets/assets.typing.d.ts +3 -3
  43. package/lib/utils/designer/assets/index.d.ts +1 -1
  44. package/lib/utils/page/page-form-data-manager-group.d.ts +1 -1
  45. package/lib/utils/page/page-form-data-manager.d.ts +1 -1
  46. package/lib/utils/page/page-form.d.ts +2 -1
  47. package/lib/utils/page/page-layout.d.ts +2 -2
  48. package/lib/utils/page/page-layout.js +7 -4
  49. package/lib/utils/page/page-load-schema.js +8 -0
  50. package/lib/utils/page/page-render.js +10 -11
  51. package/lib/utils/page/page-show.d.ts +1 -4
  52. package/lib/utils/page/page-show.js +3 -3
  53. package/package.json +7 -7
  54. package/es/utils/common/LoadMaterials.d.ts +0 -1
  55. package/es/utils/common/LoadMaterials.js +0 -37
  56. package/es/utils/common/ProcessHandler.d.ts +0 -30
  57. package/es/utils/common/ProcessHandler.js +0 -303
  58. package/lib/utils/common/LoadMaterials.d.ts +0 -1
  59. package/lib/utils/common/LoadMaterials.js +0 -42
  60. package/lib/utils/common/ProcessHandler.d.ts +0 -30
  61. package/lib/utils/common/ProcessHandler.js +0 -308
@@ -2,6 +2,7 @@ export declare abstract class SingletonInstanceMap<Value, Options> {
2
2
  private readonly valueMap;
3
3
  private readonly lockMap;
4
4
  getInstance(key: string, options: Options): Promise<Value>;
5
+ get(key: string): Value;
5
6
  clear(): void;
6
7
  abstract createInstance(key: string, options: Options): Promise<Value>;
7
8
  }
@@ -70,6 +70,9 @@ var SingletonInstanceMap = exports.SingletonInstanceMap = /*#__PURE__*/function
70
70
  }
71
71
  return getInstance;
72
72
  }();
73
+ _proto.get = function get(key) {
74
+ return this.valueMap.get(key);
75
+ };
73
76
  _proto.clear = function clear() {
74
77
  this.lockMap.clear();
75
78
  this.valueMap.clear();
@@ -133,7 +133,7 @@ export interface Package {
133
133
  /**
134
134
  * 复杂 urls 结构,同时兼容简单结构和多模态结构
135
135
  */
136
- export declare type ComplexUrls = string[] | MultiModeUrls;
136
+ export type ComplexUrls = string[] | MultiModeUrls;
137
137
  /**
138
138
  * 多模态资源
139
139
  */
@@ -163,7 +163,7 @@ export declare enum LoadEnv {
163
163
  /**
164
164
  * 低代码设置器描述
165
165
  */
166
- export declare type SetterDescription = PluginDescription;
166
+ export type SetterDescription = PluginDescription;
167
167
  /**
168
168
  * 低代码插件器描述
169
169
  */
@@ -296,7 +296,7 @@ export interface RemoteComponentDescription {
296
296
  npm?: string;
297
297
  };
298
298
  }
299
- export declare type ComplexUrl = string | MultiModeUrl;
299
+ export type ComplexUrl = string | MultiModeUrl;
300
300
  export interface MultiModeUrl {
301
301
  default: string;
302
302
  [index: string]: string;
@@ -1,5 +1,5 @@
1
1
  import { Assets } from "./assets.typing";
2
- export declare type DefaultAssertsType = "page" | "antd" | "chart";
2
+ export type DefaultAssertsType = "page" | "antd" | "chart";
3
3
  export declare class DesignerAssets {
4
4
  data: Assets;
5
5
  constructor();
@@ -1,5 +1,5 @@
1
1
  import { PageLayoutType } from "./page-layout";
2
- export declare type PageFormDataManagerModeType = "page" | "selectOne" | "selectMore";
2
+ export type PageFormDataManagerModeType = "page" | "selectOne" | "selectMore";
3
3
  export interface ShowFormDataManagerGroupProps {
4
4
  container?: HTMLDivElement;
5
5
  layout?: PageLayoutType;
@@ -1,6 +1,6 @@
1
1
  import { PageLayoutType } from "./page-layout";
2
2
  import { FilterRule } from "../api/rest-api";
3
- export declare type PageFormDataManagerModeType = "associationField" | "dataManager" | "selectOne" | "selectMore";
3
+ export type PageFormDataManagerModeType = "associationField" | "dataManager" | "selectOne" | "selectMore";
4
4
  export interface ShowPageFormDataManagerProps {
5
5
  container?: HTMLDivElement;
6
6
  layout?: PageLayoutType;
@@ -1,5 +1,5 @@
1
1
  import { PageLayoutType } from "./page-layout";
2
- export declare type PageFormModeType = "add" | "edit" | "detail";
2
+ export type PageFormModeType = "add" | "edit" | "detail";
3
3
  export interface ShowFormProps {
4
4
  container?: HTMLDivElement;
5
5
  layout?: PageLayoutType;
@@ -8,6 +8,7 @@ export interface ShowFormProps {
8
8
  fieldId?: string;
9
9
  };
10
10
  mode?: PageFormModeType;
11
+ lockMode?: boolean;
11
12
  dataId?: string;
12
13
  onSubmitOk?: () => void;
13
14
  onRemoveOk?: () => void;
@@ -1,5 +1,5 @@
1
1
  import { Component } from "react";
2
- export declare type PageLayoutType = "page" | "modal" | "drawer";
2
+ export type PageLayoutType = "page" | "modal" | "drawer";
3
3
  interface PageLayoutProps {
4
4
  layout?: PageLayoutType;
5
5
  children: any;
@@ -16,6 +16,6 @@ export declare class PageLayout extends Component<PageLayoutProps, PageLayoutSta
16
16
  componentWillUnmount(): void;
17
17
  getWith: () => number;
18
18
  handleResize: () => void;
19
- render(): any;
19
+ render(): JSX.Element;
20
20
  }
21
21
  export {};
@@ -7,6 +7,7 @@ var _drawer = _interopRequireDefault(require("antd/lib/drawer"));
7
7
  var _modal = _interopRequireDefault(require("antd/lib/modal"));
8
8
  var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
9
9
  var _react = _interopRequireWildcard(require("react"));
10
+ var _loadMaterials = require("../../components/load-materials");
10
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
12
13
  var PageLayout = exports.PageLayout = /*#__PURE__*/function (_Component) {
@@ -43,10 +44,9 @@ var PageLayout = exports.PageLayout = /*#__PURE__*/function (_Component) {
43
44
  window.removeEventListener("resize", this.handleResize);
44
45
  };
45
46
  _proto.render = function render() {
46
- var _this$props = this.props,
47
- layout = _this$props.layout,
48
- children = _this$props.children;
47
+ var layout = this.props.layout;
49
48
  var state = this.state;
49
+ var children = /*#__PURE__*/_react["default"].createElement(LoadMaterialChildren, null, this.props.children);
50
50
  var restProps = {
51
51
  open: state.open,
52
52
  width: state.width,
@@ -77,4 +77,7 @@ var PageLayout = exports.PageLayout = /*#__PURE__*/function (_Component) {
77
77
  return children;
78
78
  };
79
79
  return PageLayout;
80
- }(_react.Component);
80
+ }(_react.Component);
81
+ function LoadMaterialChildren(props) {
82
+ return /*#__PURE__*/_react["default"].createElement(_loadMaterials.LoadMaterials, null, props.children);
83
+ }
@@ -8,9 +8,11 @@ var _message2 = _interopRequireDefault(require("antd/lib/message"));
8
8
  var _react = require("react");
9
9
  var _api = require("../api");
10
10
  var _pageLoading = require("../../components/page-loading");
11
+ var _schemaApi = require("../api/schema-api");
11
12
  function PageLoadSchema(props) {
12
13
  var pageId = props.pageId,
13
14
  children = props.children;
15
+ var cache = (0, _schemaApi.getSchemaFromCache)(pageId);
14
16
  var _useState = (0, _react.useState)(true),
15
17
  loading = _useState[0],
16
18
  setLoading = _useState[1];
@@ -21,6 +23,9 @@ function PageLoadSchema(props) {
21
23
  errorMsg = _useState3[0],
22
24
  setErrorMsg = _useState3[1];
23
25
  (0, _react.useEffect)(function () {
26
+ if (cache) {
27
+ return;
28
+ }
24
29
  if (pageId) {
25
30
  (0, _api.getSchema)(pageId).then(function (res) {
26
31
  if (res.success) {
@@ -37,6 +42,9 @@ function PageLoadSchema(props) {
37
42
  _message2["default"].error("页面id不可为空!").then();
38
43
  }
39
44
  }, []);
45
+ if (cache) {
46
+ return children(schema);
47
+ }
40
48
  if (loading) {
41
49
  return /*#__PURE__*/React.createElement(_pageLoading.PageLoading, {
42
50
  loading: true,
@@ -6,12 +6,12 @@ exports.renderElement = renderElement;
6
6
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
7
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
8
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
- var _reactDom = _interopRequireDefault(require("react-dom"));
10
9
  var _react = require("react");
10
+ var _client = require("react-dom/client");
11
11
  function renderElement(options) {
12
12
  return new Promise( /*#__PURE__*/function () {
13
13
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(resolve, reject) {
14
- var container, _onClose, _options$element, component, props, unmount, element;
14
+ var container, _onClose, _options$element, component, props, unmount, root, element;
15
15
  return _regenerator["default"].wrap(function _callee$(_context) {
16
16
  while (1) switch (_context.prev = _context.next) {
17
17
  case 0:
@@ -22,28 +22,27 @@ function renderElement(options) {
22
22
  container = document.createElement("div");
23
23
  document.body.append(container);
24
24
  }
25
+ root = (0, _client.createRoot)(container);
25
26
  element = /*#__PURE__*/(0, _react.createElement)(component, (0, _extends2["default"])({}, props, {
26
27
  onSelectOk: function onSelectOk(data) {
27
28
  resolve(data || null);
28
29
  },
29
30
  onClose: function onClose() {
30
31
  resolve(false);
32
+ //等待动画结束
31
33
  setTimeout(function () {
32
- _reactDom["default"].unmountComponentAtNode(container);
33
- }, 100);
34
- if (unmount) {
35
- //等待动画结束
36
- setTimeout(function () {
34
+ root.unmount();
35
+ if (unmount) {
37
36
  var _container;
38
37
  //移除
39
38
  (_container = container) === null || _container === void 0 ? void 0 : _container.remove();
40
- }, 1000);
41
- }
39
+ }
40
+ }, 200);
42
41
  _onClose === null || _onClose === void 0 ? void 0 : _onClose();
43
42
  }
44
43
  }));
45
- _reactDom["default"].render(element, container);
46
- case 6:
44
+ root.render(element);
45
+ case 7:
47
46
  case "end":
48
47
  return _context.stop();
49
48
  }
@@ -1,11 +1,8 @@
1
1
  import { PageLayoutType } from "./page-layout";
2
2
  export interface ShowPageProps {
3
3
  container?: HTMLDivElement;
4
+ pageId: string;
4
5
  layout?: PageLayoutType;
5
- form?: {
6
- id: string;
7
- fieldId?: string;
8
- };
9
6
  onClose?: () => void | Promise<void>;
10
7
  }
11
8
  export declare function show(options: ShowPageProps): Promise<any | any[]>;
@@ -13,7 +13,7 @@ var _react = _interopRequireWildcard(require("react"));
13
13
  var _pageLayout = require("./page-layout");
14
14
  var _pageLoadSchema = require("./page-load-schema");
15
15
  var _reactRender = require("../../components/react-render");
16
- var _excluded = ["layout", "form", "onClose"],
16
+ var _excluded = ["layout", "pageId", "onClose"],
17
17
  _excluded2 = ["container", "onClose"];
18
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -60,7 +60,7 @@ var PageRender = /*#__PURE__*/function (_Component) {
60
60
  var self = this;
61
61
  var _this$props = this.props,
62
62
  layout = _this$props.layout,
63
- form = _this$props.form,
63
+ pageId = _this$props.pageId,
64
64
  onClose = _this$props.onClose,
65
65
  restProps = (0, _objectWithoutPropertiesLoose2["default"])(_this$props, _excluded);
66
66
  // @ts-ignore
@@ -77,7 +77,7 @@ var PageRender = /*#__PURE__*/function (_Component) {
77
77
  return _this2.layoutRef = layout;
78
78
  }
79
79
  }, /*#__PURE__*/_react["default"].createElement(_pageLoadSchema.PageLoadSchema, {
80
- pageId: form === null || form === void 0 ? void 0 : form.id
80
+ pageId: pageId
81
81
  }, function (schema) {
82
82
  return /*#__PURE__*/_react["default"].createElement(_reactRender.ReactRender, (0, _extends2["default"])({
83
83
  schema: schema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhubangyun/lowcode-core",
3
- "version": "5.10.082",
3
+ "version": "5.10.091",
4
4
  "description": "低代码核心",
5
5
  "files": [
6
6
  "lib",
@@ -12,8 +12,8 @@
12
12
  "bundle:types": "node bundle-dts.js",
13
13
  "dev": "build-scripts start --config build.dev.json",
14
14
  "build:npm": "build-scripts build",
15
+ "publish:npm": "build-scripts build && npm publish",
15
16
  "build:umd": "build-scripts build --config build.umd.json",
16
- "publish:npm": "npm run build:npm && npm publish",
17
17
  "publish:oss": "npm run build:umd && node scripts/publishToCdn.ts"
18
18
  },
19
19
  "dependencies": {
@@ -36,8 +36,8 @@
36
36
  "@testing-library/react": "^11.2.7",
37
37
  "@types/lodash": "^4.17.13",
38
38
  "@types/node": "^13.7.1",
39
- "@types/react": "^16",
40
- "@types/react-dom": "^16",
39
+ "@types/react": "^18",
40
+ "@types/react-dom": "^18",
41
41
  "@types/react-router": "5.1.18",
42
42
  "@types/uuid": "^10.0.0",
43
43
  "ali-oss": "^6.20.0",
@@ -52,10 +52,10 @@
52
52
  "husky": "^7.0.4",
53
53
  "lerna": "^4.0.0",
54
54
  "prop-types": "^15.8.1",
55
- "react": "^16",
56
- "react-dom": "^16.14.0",
55
+ "react": "^18",
56
+ "react-dom": "^18",
57
57
  "rimraf": "^3.0.2",
58
- "typescript": "4.6.2",
58
+ "typescript": "5.9",
59
59
  "yarn": "^1.22.17"
60
60
  },
61
61
  "publishConfig": {
@@ -1 +0,0 @@
1
- export declare function loadMaterials(): Promise<Record<string, React.FC>>;
@@ -1,37 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import { loadPlugins } from "./LoadPlugins";
4
- export function loadMaterials() {
5
- return _loadMaterials.apply(this, arguments);
6
- }
7
- function _loadMaterials() {
8
- _loadMaterials = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
9
- var urls, components;
10
- return _regeneratorRuntime.wrap(function _callee$(_context) {
11
- while (1) switch (_context.prev = _context.next) {
12
- case 0:
13
- urls = ["https://cdn.zhiyunhe.com/plugin/lowcode/materials/root/view.js", "https://cdn.zhiyunhe.com/plugin/lowcode/materials/root/view.css", "https://cdn.zhiyunhe.com/plugin/lowcode/materials/antd/view.js", "https://cdn.zhiyunhe.com/plugin/lowcode/materials/antd/view.css", "https://cdn.zhiyunhe.com/plugin/lowcode/materials/antd-pro/view.js", "https://cdn.zhiyunhe.com/plugin/lowcode/materials/antd-pro/view.css"];
14
- _context.next = 3;
15
- return loadPlugins(urls);
16
- case 3:
17
- components = {};
18
- ["RootMaterial", "AntdMaterial", "AntdProMaterial"].forEach(function (lib) {
19
- var data = window[lib];
20
- if (data) {
21
- Object.entries(data).forEach(function (_ref) {
22
- var key = _ref[0],
23
- value = _ref[1];
24
- // @ts-ignore
25
- components[key] = value;
26
- });
27
- }
28
- });
29
- return _context.abrupt("return", components);
30
- case 6:
31
- case "end":
32
- return _context.stop();
33
- }
34
- }, _callee);
35
- }));
36
- return _loadMaterials.apply(this, arguments);
37
- }
@@ -1,30 +0,0 @@
1
- import { FormInstance } from "antd/lib";
2
- export declare type ProcessScriptOptions = {
3
- depth: number;
4
- form: FormInstance;
5
- changeValues: any;
6
- };
7
- export declare type ProcessScriptType = {
8
- timing: "change" | "submit";
9
- script: string;
10
- nodeTitle: string;
11
- };
12
- export declare function exeProcessScript(options: ProcessScriptOptions, scriptType: ProcessScriptType): Promise<void>;
13
- export declare type ProcessNodeProps = {
14
- type: any;
15
- branchType: "condition" | "parallel";
16
- nodeTitle: string;
17
- message: string;
18
- notFoundDataAction: "ctn" | "ins";
19
- actionType?: "direct" | "business";
20
- breakType: "continue" | "break" | "return" | "exception";
21
- nodeId?: string;
22
- formId: string;
23
- events?: ("ins" | "upd" | "del")[];
24
- timing?: "bef" | "aft";
25
- conditions: any[];
26
- assignments: any[];
27
- filters: any[];
28
- sorts: any[];
29
- pageSize: number;
30
- };