@zzdadelu/schema-builder 1.0.0-alpha.99 → 1.0.1-alpha.2

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 (64) hide show
  1. package/es/createIframe.d.ts +2 -0
  2. package/es/createIframe.js +1 -1
  3. package/es/index.d.ts +2 -0
  4. package/es/main.d.ts +4 -0
  5. package/es/main.js +90 -26
  6. package/es/settings/index.d.ts +21 -0
  7. package/es/settings/index.js +0 -2
  8. package/es/settings/meta/card.d.ts +2 -0
  9. package/es/settings/meta/cardList.d.ts +2 -0
  10. package/es/settings/meta/checkbox.d.ts +2 -0
  11. package/es/settings/meta/checkboxes.d.ts +2 -0
  12. package/es/settings/meta/color.d.ts +2 -0
  13. package/es/settings/meta/date.d.ts +2 -0
  14. package/es/settings/meta/dateRange.d.ts +2 -0
  15. package/es/settings/meta/form.d.ts +2 -0
  16. package/es/settings/meta/imageInput.d.ts +2 -0
  17. package/es/settings/meta/input.d.ts +2 -0
  18. package/es/settings/meta/number.d.ts +2 -0
  19. package/es/settings/meta/radio.d.ts +2 -0
  20. package/es/settings/meta/rate.d.ts +2 -0
  21. package/es/settings/meta/select.d.ts +2 -0
  22. package/es/settings/meta/slider.d.ts +2 -0
  23. package/es/settings/meta/switch.d.ts +2 -0
  24. package/es/settings/meta/textarea.d.ts +2 -0
  25. package/es/settings/meta/time.d.ts +2 -0
  26. package/es/settings/meta/timeRange.d.ts +2 -0
  27. package/es/settings/meta/treeSelect.d.ts +2 -0
  28. package/es/settings/meta/urlInput.d.ts +2 -0
  29. package/es/settings/utils.d.ts +110 -0
  30. package/es/type.d.ts +33 -0
  31. package/es/types.d.ts +1 -0
  32. package/lib/createIframe.d.ts +2 -0
  33. package/lib/createIframe.js +1 -1
  34. package/lib/index.d.ts +2 -0
  35. package/lib/main.d.ts +4 -0
  36. package/lib/main.js +91 -27
  37. package/lib/settings/index.d.ts +21 -0
  38. package/lib/settings/meta/card.d.ts +2 -0
  39. package/lib/settings/meta/cardList.d.ts +2 -0
  40. package/lib/settings/meta/checkbox.d.ts +2 -0
  41. package/lib/settings/meta/checkboxes.d.ts +2 -0
  42. package/lib/settings/meta/color.d.ts +2 -0
  43. package/lib/settings/meta/date.d.ts +2 -0
  44. package/lib/settings/meta/dateRange.d.ts +2 -0
  45. package/lib/settings/meta/form.d.ts +2 -0
  46. package/lib/settings/meta/imageInput.d.ts +2 -0
  47. package/lib/settings/meta/input.d.ts +2 -0
  48. package/lib/settings/meta/number.d.ts +2 -0
  49. package/lib/settings/meta/radio.d.ts +2 -0
  50. package/lib/settings/meta/rate.d.ts +2 -0
  51. package/lib/settings/meta/select.d.ts +2 -0
  52. package/lib/settings/meta/slider.d.ts +2 -0
  53. package/lib/settings/meta/switch.d.ts +2 -0
  54. package/lib/settings/meta/textarea.d.ts +2 -0
  55. package/lib/settings/meta/time.d.ts +2 -0
  56. package/lib/settings/meta/timeRange.d.ts +2 -0
  57. package/lib/settings/meta/treeSelect.d.ts +2 -0
  58. package/lib/settings/meta/urlInput.d.ts +2 -0
  59. package/lib/settings/utils.d.ts +110 -0
  60. package/lib/type.d.ts +33 -0
  61. package/lib/type.js +5 -1
  62. package/lib/types.d.ts +1 -0
  63. package/package.json +9 -12
  64. package/CHANGELOG.md +0 -1
@@ -0,0 +1,2 @@
1
+ declare const _default: () => HTMLIFrameElement;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
1
  var createIframeContent = function createIframeContent() {
2
- var html = "\n <html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\" />\n <title>XRender</title>\n <link rel=\"icon\" href=\"https://img.alicdn.com/tfs/TB17UtINiLaK1RjSZFxXXamPFXa-606-643.png\">\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/variables.css\" rel=\"stylesheet\" />\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/dist/next.var.min.css\" rel=\"stylesheet\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/css/engine-core.css\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/css/engine-ext.css\" />\n <link rel=\"stylesheet\" href=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/css/index.css\" />\n\n <script>\n window.React = window.parent.React;\n window.ReactDOM = window.parent.ReactDOM;\n </script>\n \n <script src=\"https://g.alicdn.com/code/lib/prop-types/15.7.2/prop-types.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/react15-polyfill/0.0.1/dist/index.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/lodash/4.6.1/lodash.min.js\"></script>\n <script src=\"https://g.alicdn.com/mylib/moment/2.24.0/min/moment.min.js\"></script>\n <script src=\"https://g.alicdn.com/code/lib/alifd__next/1.23.24/next.min.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/js/engine-core.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/js/engine-ext.js\"></script>\n </head>\n\n <body>\n <div id=\"lce-container\"></div>\n <script type=\"text/javascript\" src=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/js/index.js\"></script>\n </body>\n </html>\n ";
2
+ var html = "\n <html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\" />\n <title>XRender</title>\n <link rel=\"icon\" href=\"https://img.alicdn.com/tfs/TB17UtINiLaK1RjSZFxXXamPFXa-606-643.png\">\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/variables.css\" rel=\"stylesheet\" />\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/dist/next.var.min.css\" rel=\"stylesheet\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/css/engine-core.css\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/css/engine-ext.css\" />\n <link rel=\"stylesheet\" href=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/css/index.css\" />\n\n <script>\n window.React = window.parent.React;\n window.ReactDOM = window.parent.ReactDOM;\n\n window.getFormRenderMaterial = (...args) => {\n const candidateWindows = [\n window,\n ...Array.from(document.getElementsByTagName('iframe')).map(item => item.contentWindow).filter(Boolean)\n ];\n\n for (const currentWindow of candidateWindows) {\n const materialGetter = currentWindow && currentWindow !== window && currentWindow.getFormRenderMaterial;\n\n if (typeof materialGetter === 'function') {\n return materialGetter(...args);\n }\n }\n\n throw new Error('window.getFormRenderMaterial is not ready');\n };\n </script>\n\n <script src=\"https://g.alicdn.com/code/lib/prop-types/15.7.2/prop-types.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/react15-polyfill/0.0.1/dist/index.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/lodash/4.6.1/lodash.min.js\"></script>\n <script src=\"https://g.alicdn.com/mylib/moment/2.24.0/min/moment.min.js\"></script>\n <script src=\"https://g.alicdn.com/code/lib/alifd__next/1.23.24/next.min.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/js/engine-core.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/js/engine-ext.js\"></script>\n </head>\n\n <body>\n <div id=\"lce-container\"></div>\n <script type=\"text/javascript\" src=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/js/index.js\"></script>\n </body>\n </html>\n ";
3
3
  return html;
4
4
  };
5
5
  export default (function () {
package/es/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import Main from './main';
2
+ export default Main;
package/es/main.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { TSchemaBuilder } from './type';
3
+ declare const _default: React.ForwardRefExoticComponent<Pick<TSchemaBuilder, keyof TSchemaBuilder> & React.RefAttributes<unknown>>;
4
+ export default _default;
package/es/main.js CHANGED
@@ -1,25 +1,73 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
2
  var _excluded = ["widgets", "settings"];
3
- function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
4
- function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
5
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
5
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
9
7
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
11
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
12
8
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
13
9
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
10
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
11
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
12
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
13
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
14
14
  import React, { useEffect, useRef, useImperativeHandle, forwardRef } from 'react';
15
15
  import createIframe from './createIframe';
16
16
  import * as defaultSetting from './settings';
17
+ var INIT_RETRY_COUNT = 20;
18
+ var INIT_RETRY_INTERVAL = 300;
17
19
  var iframe;
20
+ var wait = function wait(delay) {
21
+ return new Promise(function (resolve) {
22
+ window.setTimeout(resolve, delay);
23
+ });
24
+ };
25
+ var tryInitEngine = /*#__PURE__*/function () {
26
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(engine, initConfig) {
27
+ var _lastError;
28
+ var lastError, index, _engine$init, _t;
29
+ return _regenerator().w(function (_context) {
30
+ while (1) switch (_context.p = _context.n) {
31
+ case 0:
32
+ index = 0;
33
+ case 1:
34
+ if (!(index < INIT_RETRY_COUNT)) {
35
+ _context.n = 6;
36
+ break;
37
+ }
38
+ console.warn('[schema-builder] try engine init failed retry', index);
39
+ _context.p = 2;
40
+ _context.n = 3;
41
+ return Promise.resolve(engine === null || engine === void 0 ? void 0 : (_engine$init = engine.init) === null || _engine$init === void 0 ? void 0 : _engine$init.call(engine, initConfig));
42
+ case 3:
43
+ return _context.a(2);
44
+ case 4:
45
+ _context.p = 4;
46
+ _t = _context.v;
47
+ lastError = _t;
48
+ _context.n = 5;
49
+ return wait(INIT_RETRY_INTERVAL);
50
+ case 5:
51
+ index += 1;
52
+ _context.n = 1;
53
+ break;
54
+ case 6:
55
+ throw (_lastError = lastError) !== null && _lastError !== void 0 ? _lastError : new Error('engine init failed');
56
+ case 7:
57
+ return _context.a(2);
58
+ }
59
+ }, _callee, null, [[2, 4]]);
60
+ }));
61
+ return function tryInitEngine(_x, _x2) {
62
+ return _ref.apply(this, arguments);
63
+ };
64
+ }();
18
65
  var Design = function Design(props, ref) {
19
66
  var widgets = props.widgets,
20
67
  settings = props.settings,
21
68
  restProps = _objectWithoutProperties(props, _excluded);
22
69
  var containerRef = useRef();
70
+ var hasInitializedRef = useRef(false);
23
71
  useImperativeHandle(ref, function () {
24
72
  return {
25
73
  getValue: function getValue() {
@@ -37,48 +85,64 @@ var Design = function Design(props, ref) {
37
85
  window.addEventListener('message', engineOnLoad);
38
86
  return function () {
39
87
  window.removeEventListener('message', engineOnLoad);
88
+ hasInitializedRef.current = false;
40
89
  };
41
90
  }, []);
42
91
  var initIframe = function initIframe() {
43
92
  iframe = createIframe();
93
+ hasInitializedRef.current = false;
44
94
  containerRef.current.appendChild(iframe);
45
95
  };
46
- var delay = function delay(ms) {
47
- return new Promise(function (resolve) {
48
- return setTimeout(resolve, ms);
49
- });
50
- };
51
96
  var engineOnLoad = /*#__PURE__*/function () {
52
- var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(event) {
53
- var _iframe3, _iframe3$contentWindo, _iframe3$contentWindo2;
54
- return _regenerator().w(function (_context) {
55
- while (1) switch (_context.n) {
97
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(event) {
98
+ var _iframe3;
99
+ var iframeWindow, engine, initConfig, _t2;
100
+ return _regenerator().w(function (_context2) {
101
+ while (1) switch (_context2.p = _context2.n) {
56
102
  case 0:
57
- if (!(event.data.type !== 'engine-load')) {
58
- _context.n = 1;
103
+ if (!(event.data.type !== 'engine-load' || hasInitializedRef.current)) {
104
+ _context2.n = 1;
59
105
  break;
60
106
  }
61
- return _context.a(2);
107
+ return _context2.a(2);
62
108
  case 1:
63
- (_iframe3 = iframe) === null || _iframe3 === void 0 ? void 0 : (_iframe3$contentWindo = _iframe3.contentWindow) === null || _iframe3$contentWindo === void 0 ? void 0 : (_iframe3$contentWindo2 = _iframe3$contentWindo.__FR_ENGINE__) === null || _iframe3$contentWindo2 === void 0 ? void 0 : _iframe3$contentWindo2.init(_objectSpread({
109
+ iframeWindow = (_iframe3 = iframe) === null || _iframe3 === void 0 ? void 0 : _iframe3.contentWindow;
110
+ engine = iframeWindow === null || iframeWindow === void 0 ? void 0 : iframeWindow.__FR_ENGINE__;
111
+ if (!(!iframeWindow || !engine)) {
112
+ _context2.n = 2;
113
+ break;
114
+ }
115
+ return _context2.a(2);
116
+ case 2:
117
+ initConfig = _objectSpread({
64
118
  settings: _objectSpread(_objectSpread({}, defaultSetting), settings),
65
119
  widgets: widgets,
120
+ // recordEnable: true,
66
121
  logo: {
67
122
  title: 'XRender'
68
123
  }
69
- }, restProps));
70
- console.log('Engine initialization complete.');
71
- case 2:
72
- return _context.a(2);
124
+ }, restProps);
125
+ _context2.p = 3;
126
+ _context2.n = 4;
127
+ return tryInitEngine(engine, initConfig);
128
+ case 4:
129
+ hasInitializedRef.current = true;
130
+ _context2.n = 6;
131
+ break;
132
+ case 5:
133
+ _context2.p = 5;
134
+ _t2 = _context2.v;
135
+ hasInitializedRef.current = false;
136
+ console.error('[schema-builder] engine init failed after retries', _t2);
137
+ case 6:
138
+ return _context2.a(2);
73
139
  }
74
- }, _callee);
140
+ }, _callee2, null, [[3, 5]]);
75
141
  }));
76
- return function engineOnLoad(_x) {
77
- return _ref.apply(this, arguments);
142
+ return function engineOnLoad(_x3) {
143
+ return _ref2.apply(this, arguments);
78
144
  };
79
145
  }();
80
- delay(10000); // 另一段延迟,例如 1000 毫秒(1 秒)
81
-
82
146
  return /*#__PURE__*/React.createElement("div", {
83
147
  ref: containerRef,
84
148
  style: {
@@ -0,0 +1,21 @@
1
+ export { default as Input } from './meta/input';
2
+ export { default as Number } from './meta/number';
3
+ export { default as Select } from './meta/select';
4
+ export { default as Radio } from './meta/radio';
5
+ export { default as Checkbox } from './meta/checkbox';
6
+ export { default as Checkboxes } from './meta/checkboxes';
7
+ export { default as Textarea } from './meta/textarea';
8
+ export { default as DatePicker } from './meta/date';
9
+ export { default as DateRange } from './meta/dateRange';
10
+ export { default as TimePicker } from './meta/time';
11
+ export { default as TimeRange } from './meta/timeRange';
12
+ export { default as Rate } from './meta/rate';
13
+ export { default as Switch } from './meta/switch';
14
+ export { default as Slider } from './meta/slider';
15
+ export { default as Color } from './meta/color';
16
+ export { default as ImageInput } from './meta/imageInput';
17
+ export { default as UrlInput } from './meta/urlInput';
18
+ export { default as TreeSelect } from './meta/treeSelect';
19
+ export { default as Form } from './meta/form';
20
+ export { default as card } from './meta/card';
21
+ export { default as CardList } from './meta/cardList';
@@ -13,13 +13,11 @@ export { default as TimeRange } from './meta/timeRange';
13
13
  export { default as Rate } from './meta/rate';
14
14
  export { default as Switch } from './meta/switch';
15
15
  export { default as Slider } from './meta/slider';
16
-
17
16
  // 其他组件配置
18
17
  export { default as Color } from './meta/color';
19
18
  export { default as ImageInput } from './meta/imageInput';
20
19
  export { default as UrlInput } from './meta/urlInput';
21
20
  export { default as TreeSelect } from './meta/treeSelect';
22
-
23
21
  // 容器组件配置
24
22
  export { default as Form } from './meta/form';
25
23
  export { default as card } from './meta/card';
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,110 @@
1
+ export declare const inputPropsBasic: ({
2
+ name: string;
3
+ title: {
4
+ label: string;
5
+ tip: string;
6
+ };
7
+ setter: string;
8
+ condition?: undefined;
9
+ } | {
10
+ name: string;
11
+ title: {
12
+ label: string;
13
+ tip: string;
14
+ };
15
+ setter: string;
16
+ condition: (target: any) => boolean;
17
+ })[];
18
+ export declare const notInputPropsBasic: ({
19
+ name: string;
20
+ title: {
21
+ label: string;
22
+ tip: string;
23
+ };
24
+ setter: string;
25
+ condition?: undefined;
26
+ } | {
27
+ name: string;
28
+ title: {
29
+ label: string;
30
+ tip: string;
31
+ };
32
+ setter: string;
33
+ condition: (target: any) => boolean;
34
+ })[];
35
+ export declare const optionsProp: {
36
+ display: string;
37
+ name: string;
38
+ title: {
39
+ label: string;
40
+ tip: string;
41
+ };
42
+ setter: {
43
+ componentName: string;
44
+ props: {
45
+ itemSetter: {
46
+ componentName: string;
47
+ initialValue: () => {
48
+ label: string;
49
+ value: string;
50
+ };
51
+ props: {
52
+ config: {
53
+ items: ({
54
+ name: string;
55
+ title: string;
56
+ important: boolean;
57
+ setter: string;
58
+ } | {
59
+ name: string;
60
+ title: string;
61
+ setter: string[];
62
+ important: boolean;
63
+ } | {
64
+ name: string;
65
+ title: string;
66
+ setter: string;
67
+ important?: undefined;
68
+ })[];
69
+ };
70
+ };
71
+ };
72
+ };
73
+ };
74
+ };
75
+ export declare const getInputPropsBasic: (defaultValueProp: any, placeholder?: any) => ({
76
+ name: string;
77
+ title: {
78
+ label: string;
79
+ tip: string;
80
+ };
81
+ setter: string;
82
+ condition?: undefined;
83
+ } | {
84
+ name: string;
85
+ title: {
86
+ label: string;
87
+ tip: string;
88
+ };
89
+ setter: string;
90
+ condition: (target: any) => boolean;
91
+ })[];
92
+ export declare const getNotInputPropsBasic: (defaultValueProp: any) => ({
93
+ name: string;
94
+ title: {
95
+ label: string;
96
+ tip: string;
97
+ };
98
+ setter: string;
99
+ condition?: undefined;
100
+ } | {
101
+ name: string;
102
+ title: {
103
+ label: string;
104
+ tip: string;
105
+ };
106
+ setter: string;
107
+ condition: (target: any) => boolean;
108
+ })[];
109
+ export declare const uuid: () => string;
110
+ export declare const createMeta: (componentName: string, params: any) => any;
package/es/type.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ interface TProperties {
2
+ [key: string]: any;
3
+ }
4
+ interface TLogo {
5
+ title?: string;
6
+ image?: string;
7
+ href?: string;
8
+ }
9
+ interface TSchema {
10
+ "type": "object";
11
+ "properties": TProperties;
12
+ }
13
+ interface TToolBtn {
14
+ text: string;
15
+ order: number;
16
+ onClick: (schema: TSchema) => void;
17
+ }
18
+ export interface TSchemaBuilder {
19
+ logo?: TLogo;
20
+ importBtn?: boolean;
21
+ exportBtn?: boolean;
22
+ clearBtn?: boolean | TToolBtn;
23
+ saveBtn?: boolean | TToolBtn;
24
+ pubBtn?: boolean | TToolBtn;
25
+ extraBtns?: TToolBtn[];
26
+ defaultValue?: TSchema;
27
+ widgets?: any;
28
+ settings?: any;
29
+ editorWidgets?: any;
30
+ onMount?: () => void;
31
+ [key: string]: any;
32
+ }
33
+ export {};
package/es/types.d.ts ADDED
@@ -0,0 +1 @@
1
+ declare module 'lodash/cloneDeep';
@@ -0,0 +1,2 @@
1
+ declare const _default: () => HTMLIFrameElement;
2
+ export default _default;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var createIframeContent = function createIframeContent() {
8
- var html = "\n <html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\" />\n <title>XRender</title>\n <link rel=\"icon\" href=\"https://img.alicdn.com/tfs/TB17UtINiLaK1RjSZFxXXamPFXa-606-643.png\">\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/variables.css\" rel=\"stylesheet\" />\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/dist/next.var.min.css\" rel=\"stylesheet\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/css/engine-core.css\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/css/engine-ext.css\" />\n <link rel=\"stylesheet\" href=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/css/index.css\" />\n\n <script>\n window.React = window.parent.React;\n window.ReactDOM = window.parent.ReactDOM;\n </script>\n \n <script src=\"https://g.alicdn.com/code/lib/prop-types/15.7.2/prop-types.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/react15-polyfill/0.0.1/dist/index.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/lodash/4.6.1/lodash.min.js\"></script>\n <script src=\"https://g.alicdn.com/mylib/moment/2.24.0/min/moment.min.js\"></script>\n <script src=\"https://g.alicdn.com/code/lib/alifd__next/1.23.24/next.min.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/js/engine-core.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/js/engine-ext.js\"></script>\n </head>\n\n <body>\n <div id=\"lce-container\"></div>\n <script type=\"text/javascript\" src=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/js/index.js\"></script>\n </body>\n </html>\n ";
8
+ var html = "\n <html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\" />\n <title>XRender</title>\n <link rel=\"icon\" href=\"https://img.alicdn.com/tfs/TB17UtINiLaK1RjSZFxXXamPFXa-606-643.png\">\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/variables.css\" rel=\"stylesheet\" />\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/dist/next.var.min.css\" rel=\"stylesheet\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/css/engine-core.css\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/css/engine-ext.css\" />\n <link rel=\"stylesheet\" href=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/css/index.css\" />\n\n <script>\n window.React = window.parent.React;\n window.ReactDOM = window.parent.ReactDOM;\n\n window.getFormRenderMaterial = (...args) => {\n const candidateWindows = [\n window,\n ...Array.from(document.getElementsByTagName('iframe')).map(item => item.contentWindow).filter(Boolean)\n ];\n\n for (const currentWindow of candidateWindows) {\n const materialGetter = currentWindow && currentWindow !== window && currentWindow.getFormRenderMaterial;\n\n if (typeof materialGetter === 'function') {\n return materialGetter(...args);\n }\n }\n\n throw new Error('window.getFormRenderMaterial is not ready');\n };\n </script>\n\n <script src=\"https://g.alicdn.com/code/lib/prop-types/15.7.2/prop-types.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/react15-polyfill/0.0.1/dist/index.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/lodash/4.6.1/lodash.min.js\"></script>\n <script src=\"https://g.alicdn.com/mylib/moment/2.24.0/min/moment.min.js\"></script>\n <script src=\"https://g.alicdn.com/code/lib/alifd__next/1.23.24/next.min.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/js/engine-core.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/js/engine-ext.js\"></script>\n </head>\n\n <body>\n <div id=\"lce-container\"></div>\n <script type=\"text/javascript\" src=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/js/index.js\"></script>\n </body>\n </html>\n ";
9
9
  return html;
10
10
  };
11
11
  var _default = exports.default = function _default() {
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import Main from './main';
2
+ export default Main;
package/lib/main.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { TSchemaBuilder } from './type';
3
+ declare const _default: React.ForwardRefExoticComponent<Pick<TSchemaBuilder, keyof TSchemaBuilder> & React.RefAttributes<unknown>>;
4
+ export default _default;
package/lib/main.js CHANGED
@@ -10,24 +10,72 @@ var _createIframe = _interopRequireDefault(require("./createIframe"));
10
10
  var defaultSetting = _interopRequireWildcard(require("./settings"));
11
11
  var _excluded = ["widgets", "settings"];
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
14
- function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
15
- function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t3 in e) "default" !== _t3 && {}.hasOwnProperty.call(e, _t3) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t3)) && (i.get || i.set) ? o(f, _t3, i) : f[_t3] = e[_t3]); return f; })(e, t); }
16
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
16
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
19
17
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
20
18
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
22
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
23
19
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
24
20
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
21
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
22
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
23
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
24
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
25
+ var INIT_RETRY_COUNT = 20;
26
+ var INIT_RETRY_INTERVAL = 300;
25
27
  var iframe;
28
+ var wait = function wait(delay) {
29
+ return new Promise(function (resolve) {
30
+ window.setTimeout(resolve, delay);
31
+ });
32
+ };
33
+ var tryInitEngine = /*#__PURE__*/function () {
34
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(engine, initConfig) {
35
+ var _lastError;
36
+ var lastError, index, _engine$init, _t;
37
+ return _regenerator().w(function (_context) {
38
+ while (1) switch (_context.p = _context.n) {
39
+ case 0:
40
+ index = 0;
41
+ case 1:
42
+ if (!(index < INIT_RETRY_COUNT)) {
43
+ _context.n = 6;
44
+ break;
45
+ }
46
+ console.warn('[schema-builder] try engine init failed retry', index);
47
+ _context.p = 2;
48
+ _context.n = 3;
49
+ return Promise.resolve(engine === null || engine === void 0 ? void 0 : (_engine$init = engine.init) === null || _engine$init === void 0 ? void 0 : _engine$init.call(engine, initConfig));
50
+ case 3:
51
+ return _context.a(2);
52
+ case 4:
53
+ _context.p = 4;
54
+ _t = _context.v;
55
+ lastError = _t;
56
+ _context.n = 5;
57
+ return wait(INIT_RETRY_INTERVAL);
58
+ case 5:
59
+ index += 1;
60
+ _context.n = 1;
61
+ break;
62
+ case 6:
63
+ throw (_lastError = lastError) !== null && _lastError !== void 0 ? _lastError : new Error('engine init failed');
64
+ case 7:
65
+ return _context.a(2);
66
+ }
67
+ }, _callee, null, [[2, 4]]);
68
+ }));
69
+ return function tryInitEngine(_x, _x2) {
70
+ return _ref.apply(this, arguments);
71
+ };
72
+ }();
26
73
  var Design = function Design(props, ref) {
27
74
  var widgets = props.widgets,
28
75
  settings = props.settings,
29
76
  restProps = _objectWithoutProperties(props, _excluded);
30
77
  var containerRef = (0, _react.useRef)();
78
+ var hasInitializedRef = (0, _react.useRef)(false);
31
79
  (0, _react.useImperativeHandle)(ref, function () {
32
80
  return {
33
81
  getValue: function getValue() {
@@ -45,48 +93,64 @@ var Design = function Design(props, ref) {
45
93
  window.addEventListener('message', engineOnLoad);
46
94
  return function () {
47
95
  window.removeEventListener('message', engineOnLoad);
96
+ hasInitializedRef.current = false;
48
97
  };
49
98
  }, []);
50
99
  var initIframe = function initIframe() {
51
100
  iframe = (0, _createIframe.default)();
101
+ hasInitializedRef.current = false;
52
102
  containerRef.current.appendChild(iframe);
53
103
  };
54
- var delay = function delay(ms) {
55
- return new Promise(function (resolve) {
56
- return setTimeout(resolve, ms);
57
- });
58
- };
59
104
  var engineOnLoad = /*#__PURE__*/function () {
60
- var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(event) {
61
- var _iframe3, _iframe3$contentWindo, _iframe3$contentWindo2;
62
- return _regenerator().w(function (_context) {
63
- while (1) switch (_context.n) {
105
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(event) {
106
+ var _iframe3;
107
+ var iframeWindow, engine, initConfig, _t2;
108
+ return _regenerator().w(function (_context2) {
109
+ while (1) switch (_context2.p = _context2.n) {
64
110
  case 0:
65
- if (!(event.data.type !== 'engine-load')) {
66
- _context.n = 1;
111
+ if (!(event.data.type !== 'engine-load' || hasInitializedRef.current)) {
112
+ _context2.n = 1;
67
113
  break;
68
114
  }
69
- return _context.a(2);
115
+ return _context2.a(2);
70
116
  case 1:
71
- (_iframe3 = iframe) === null || _iframe3 === void 0 ? void 0 : (_iframe3$contentWindo = _iframe3.contentWindow) === null || _iframe3$contentWindo === void 0 ? void 0 : (_iframe3$contentWindo2 = _iframe3$contentWindo.__FR_ENGINE__) === null || _iframe3$contentWindo2 === void 0 ? void 0 : _iframe3$contentWindo2.init(_objectSpread({
117
+ iframeWindow = (_iframe3 = iframe) === null || _iframe3 === void 0 ? void 0 : _iframe3.contentWindow;
118
+ engine = iframeWindow === null || iframeWindow === void 0 ? void 0 : iframeWindow.__FR_ENGINE__;
119
+ if (!(!iframeWindow || !engine)) {
120
+ _context2.n = 2;
121
+ break;
122
+ }
123
+ return _context2.a(2);
124
+ case 2:
125
+ initConfig = _objectSpread({
72
126
  settings: _objectSpread(_objectSpread({}, defaultSetting), settings),
73
127
  widgets: widgets,
128
+ // recordEnable: true,
74
129
  logo: {
75
130
  title: 'XRender'
76
131
  }
77
- }, restProps));
78
- console.log('Engine initialization complete.');
79
- case 2:
80
- return _context.a(2);
132
+ }, restProps);
133
+ _context2.p = 3;
134
+ _context2.n = 4;
135
+ return tryInitEngine(engine, initConfig);
136
+ case 4:
137
+ hasInitializedRef.current = true;
138
+ _context2.n = 6;
139
+ break;
140
+ case 5:
141
+ _context2.p = 5;
142
+ _t2 = _context2.v;
143
+ hasInitializedRef.current = false;
144
+ console.error('[schema-builder] engine init failed after retries', _t2);
145
+ case 6:
146
+ return _context2.a(2);
81
147
  }
82
- }, _callee);
148
+ }, _callee2, null, [[3, 5]]);
83
149
  }));
84
- return function engineOnLoad(_x) {
85
- return _ref.apply(this, arguments);
150
+ return function engineOnLoad(_x3) {
151
+ return _ref2.apply(this, arguments);
86
152
  };
87
153
  }();
88
- delay(10000); // 另一段延迟,例如 1000 毫秒(1 秒)
89
-
90
154
  return /*#__PURE__*/_react.default.createElement("div", {
91
155
  ref: containerRef,
92
156
  style: {
@@ -0,0 +1,21 @@
1
+ export { default as Input } from './meta/input';
2
+ export { default as Number } from './meta/number';
3
+ export { default as Select } from './meta/select';
4
+ export { default as Radio } from './meta/radio';
5
+ export { default as Checkbox } from './meta/checkbox';
6
+ export { default as Checkboxes } from './meta/checkboxes';
7
+ export { default as Textarea } from './meta/textarea';
8
+ export { default as DatePicker } from './meta/date';
9
+ export { default as DateRange } from './meta/dateRange';
10
+ export { default as TimePicker } from './meta/time';
11
+ export { default as TimeRange } from './meta/timeRange';
12
+ export { default as Rate } from './meta/rate';
13
+ export { default as Switch } from './meta/switch';
14
+ export { default as Slider } from './meta/slider';
15
+ export { default as Color } from './meta/color';
16
+ export { default as ImageInput } from './meta/imageInput';
17
+ export { default as UrlInput } from './meta/urlInput';
18
+ export { default as TreeSelect } from './meta/treeSelect';
19
+ export { default as Form } from './meta/form';
20
+ export { default as card } from './meta/card';
21
+ export { default as CardList } from './meta/cardList';
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,110 @@
1
+ export declare const inputPropsBasic: ({
2
+ name: string;
3
+ title: {
4
+ label: string;
5
+ tip: string;
6
+ };
7
+ setter: string;
8
+ condition?: undefined;
9
+ } | {
10
+ name: string;
11
+ title: {
12
+ label: string;
13
+ tip: string;
14
+ };
15
+ setter: string;
16
+ condition: (target: any) => boolean;
17
+ })[];
18
+ export declare const notInputPropsBasic: ({
19
+ name: string;
20
+ title: {
21
+ label: string;
22
+ tip: string;
23
+ };
24
+ setter: string;
25
+ condition?: undefined;
26
+ } | {
27
+ name: string;
28
+ title: {
29
+ label: string;
30
+ tip: string;
31
+ };
32
+ setter: string;
33
+ condition: (target: any) => boolean;
34
+ })[];
35
+ export declare const optionsProp: {
36
+ display: string;
37
+ name: string;
38
+ title: {
39
+ label: string;
40
+ tip: string;
41
+ };
42
+ setter: {
43
+ componentName: string;
44
+ props: {
45
+ itemSetter: {
46
+ componentName: string;
47
+ initialValue: () => {
48
+ label: string;
49
+ value: string;
50
+ };
51
+ props: {
52
+ config: {
53
+ items: ({
54
+ name: string;
55
+ title: string;
56
+ important: boolean;
57
+ setter: string;
58
+ } | {
59
+ name: string;
60
+ title: string;
61
+ setter: string[];
62
+ important: boolean;
63
+ } | {
64
+ name: string;
65
+ title: string;
66
+ setter: string;
67
+ important?: undefined;
68
+ })[];
69
+ };
70
+ };
71
+ };
72
+ };
73
+ };
74
+ };
75
+ export declare const getInputPropsBasic: (defaultValueProp: any, placeholder?: any) => ({
76
+ name: string;
77
+ title: {
78
+ label: string;
79
+ tip: string;
80
+ };
81
+ setter: string;
82
+ condition?: undefined;
83
+ } | {
84
+ name: string;
85
+ title: {
86
+ label: string;
87
+ tip: string;
88
+ };
89
+ setter: string;
90
+ condition: (target: any) => boolean;
91
+ })[];
92
+ export declare const getNotInputPropsBasic: (defaultValueProp: any) => ({
93
+ name: string;
94
+ title: {
95
+ label: string;
96
+ tip: string;
97
+ };
98
+ setter: string;
99
+ condition?: undefined;
100
+ } | {
101
+ name: string;
102
+ title: {
103
+ label: string;
104
+ tip: string;
105
+ };
106
+ setter: string;
107
+ condition: (target: any) => boolean;
108
+ })[];
109
+ export declare const uuid: () => string;
110
+ export declare const createMeta: (componentName: string, params: any) => any;
package/lib/type.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ interface TProperties {
2
+ [key: string]: any;
3
+ }
4
+ interface TLogo {
5
+ title?: string;
6
+ image?: string;
7
+ href?: string;
8
+ }
9
+ interface TSchema {
10
+ "type": "object";
11
+ "properties": TProperties;
12
+ }
13
+ interface TToolBtn {
14
+ text: string;
15
+ order: number;
16
+ onClick: (schema: TSchema) => void;
17
+ }
18
+ export interface TSchemaBuilder {
19
+ logo?: TLogo;
20
+ importBtn?: boolean;
21
+ exportBtn?: boolean;
22
+ clearBtn?: boolean | TToolBtn;
23
+ saveBtn?: boolean | TToolBtn;
24
+ pubBtn?: boolean | TToolBtn;
25
+ extraBtns?: TToolBtn[];
26
+ defaultValue?: TSchema;
27
+ widgets?: any;
28
+ settings?: any;
29
+ editorWidgets?: any;
30
+ onMount?: () => void;
31
+ [key: string]: any;
32
+ }
33
+ export {};
package/lib/type.js CHANGED
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/lib/types.d.ts ADDED
@@ -0,0 +1 @@
1
+ declare module 'lodash/cloneDeep';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zzdadelu/schema-builder",
3
- "version": "1.0.0-alpha.99",
3
+ "version": "1.0.1-alpha.02",
4
4
  "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成",
5
5
  "keywords": [
6
6
  "Form",
@@ -15,10 +15,7 @@
15
15
  "bugs": {
16
16
  "url": "https://github.com/alibaba/x-render/issues"
17
17
  },
18
- "repository": {
19
- "type": "git",
20
- "url": "git@github.com:alibaba/x-render.git"
21
- },
18
+
22
19
  "license": "MIT",
23
20
  "main": "lib/index.js",
24
21
  "module": "es/index.js",
@@ -57,14 +54,18 @@
57
54
  "react-sortable-hoc": "^2.0.0"
58
55
  },
59
56
  "devDependencies": {
57
+ "father-build": "^1.17.2",
58
+ "less": "^3.0.0",
59
+ "@rollup/plugin-babel": "^6.0.3",
60
+ "rollup-plugin-commonjs": "^10.1.0",
61
+ "rollup-plugin-copy": "^3.4.0",
60
62
  "@alib/build-scripts": "^0.1.18",
61
63
  "@alilc/lowcode-engine": "^1.0.0",
62
64
  "@alilc/lowcode-engine-ext": "^1.0.0",
63
65
  "@alilc/lowcode-types": "^1.0.0",
64
- "@rollup/plugin-babel": "^6.0.3",
65
66
  "@types/events": "^3.0.0",
66
- "@types/lodash": "^4.17.20",
67
- "@types/minimatch": "^6.0.0",
67
+ "@types/lodash": "^4.14.202",
68
+ "@types/minimatch": "^3.0.5",
68
69
  "@types/react": "^16.8.3",
69
70
  "@types/react-dom": "^16.8.2",
70
71
  "@types/streamsaver": "^2.0.0",
@@ -72,11 +73,7 @@
72
73
  "build-plugin-fusion": "^0.1.0",
73
74
  "build-plugin-moment-locales": "^0.1.0",
74
75
  "build-plugin-react-app": "^1.1.2",
75
- "father-build": "^1.17.2",
76
76
  "fs-extra": "^10.0.1",
77
- "less": "^3.0.0",
78
- "rollup-plugin-commonjs": "^10.1.0",
79
- "rollup-plugin-copy": "^3.4.0",
80
77
  "tsconfig-paths-webpack-plugin": "^3.2.0"
81
78
  },
82
79
  "peerDependencies": {
package/CHANGELOG.md DELETED
@@ -1 +0,0 @@
1
- # Change Log