@blocklet/pages-kit-runtime 0.1.10 → 0.1.11

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/lib/cjs/client.js CHANGED
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -13,37 +46,93 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
46
  };
14
47
  var _a;
15
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.RuntimeComponent = void 0;
16
50
  const jsx_runtime_1 = require("react/jsx-runtime");
17
51
  const Result_1 = __importDefault(require("@arcblock/ux/lib/Result"));
18
52
  const Spinner_1 = __importDefault(require("@arcblock/ux/lib/Spinner"));
19
53
  const js_sdk_1 = require("@blocklet/js-sdk");
20
54
  // @ts-ignore
21
- const home_1 = __importDefault(require("@blocklet/pages-kit-inner-components/home"));
55
+ const home_1 = require("@blocklet/pages-kit-inner-components/home");
22
56
  const Box_1 = __importDefault(require("@mui/material/Box"));
23
57
  const ahooks_1 = require("ahooks");
58
+ const react_1 = __importStar(require("react"));
24
59
  const ufo_1 = require("ufo");
25
60
  const CenteredContainer = ({ children }) => ((0, jsx_runtime_1.jsx)(Box_1.default, { display: "flex", justifyContent: "center", alignItems: "center", minHeight: "100vh", children: children }));
26
61
  const api = (0, js_sdk_1.createAxios)({
27
62
  baseURL: (0, ufo_1.joinURL)(((_a = window === null || window === void 0 ? void 0 : window.blocklet) === null || _a === void 0 ? void 0 : _a.prefix) || ''),
28
63
  });
29
- exports.default = (props) => {
64
+ const RuntimeComponent = (props) => {
65
+ const proxyState = (0, ahooks_1.useReactive)({
66
+ rawState: props.state,
67
+ });
68
+ const listeners = (0, react_1.useRef)(new Set());
69
+ // 暴露 proxyState 和 waitForState 给父组件
70
+ (0, react_1.useImperativeHandle)(props.stateRef, () => {
71
+ return {
72
+ getState: () => proxyState.rawState,
73
+ waitForState: () => {
74
+ if (proxyState.rawState) {
75
+ return Promise.resolve(proxyState.rawState);
76
+ }
77
+ return new Promise((resolve) => {
78
+ const listener = (state) => {
79
+ if (state) {
80
+ listeners.current.delete(listener);
81
+ resolve(state);
82
+ }
83
+ };
84
+ listeners.current.add(listener);
85
+ });
86
+ },
87
+ };
88
+ });
89
+ // 当状态更新时通知所有监听器
90
+ (0, react_1.useEffect)(() => {
91
+ var _a;
92
+ if ((_a = props.stateRef) === null || _a === void 0 ? void 0 : _a.current) {
93
+ listeners.current.forEach((listener) => listener(proxyState.rawState));
94
+ }
95
+ }, [proxyState.rawState]);
30
96
  const { loading } = (0, ahooks_1.useRequest)(() => __awaiter(void 0, void 0, void 0, function* () {
31
- const { data } = yield api.get('/api/pages', { params: props });
32
- const dataResult = props.handleData ? props.handleData(data) : data;
33
- // @ts-ignore
34
- window.__PAGE_STATE__ = dataResult.state;
35
- // @ts-ignore
36
- window.__PROJECT_ID__ = dataResult.did;
97
+ if (!props.did || props.state) {
98
+ return null;
99
+ }
100
+ const { data } = yield api.get('/api/pages', {
101
+ params: {
102
+ did: props.did,
103
+ },
104
+ });
105
+ proxyState.rawState = data.state;
37
106
  return data;
38
107
  }), {
39
- refreshDeps: [props.did],
108
+ refreshDeps: [props.did, props.state],
40
109
  });
41
110
  if (loading) {
42
111
  return ((0, jsx_runtime_1.jsx)(CenteredContainer, { children: (0, jsx_runtime_1.jsx)(Spinner_1.default, {}) }));
43
112
  }
44
- // @ts-ignore
45
- if (!window.__PAGE_STATE__) {
113
+ if (!proxyState.rawState) {
46
114
  return ((0, jsx_runtime_1.jsx)(CenteredContainer, { children: (0, jsx_runtime_1.jsx)(Result_1.default, { status: 404 }) }));
47
115
  }
48
- return (0, jsx_runtime_1.jsx)(home_1.default, {});
116
+ return (0, jsx_runtime_1.jsx)(home_1.PageRoutes, { mode: "production", state: proxyState.rawState });
49
117
  };
118
+ exports.RuntimeComponent = RuntimeComponent;
119
+ class Runtime {
120
+ constructor(props) {
121
+ this.stateRef = react_1.default.createRef();
122
+ this.props = props;
123
+ }
124
+ get rawState() {
125
+ var _a;
126
+ return (_a = this.stateRef.current) === null || _a === void 0 ? void 0 : _a.getState();
127
+ }
128
+ waitForState() {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ var _a;
131
+ return (_a = this.stateRef.current) === null || _a === void 0 ? void 0 : _a.waitForState();
132
+ });
133
+ }
134
+ render() {
135
+ return (0, jsx_runtime_1.jsx)(exports.RuntimeComponent, Object.assign({}, this.props, { stateRef: this.stateRef }));
136
+ }
137
+ }
138
+ exports.default = Runtime;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./settings"), exports);
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PropertiesConfig = exports.BasicInfo = void 0;
4
+ // @ts-ignore
5
+ var setting_1 = require("@blocklet/pages-kit-inner-components/setting");
6
+ Object.defineProperty(exports, "BasicInfo", { enumerable: true, get: function () { return setting_1.BasicInfo; } });
7
+ Object.defineProperty(exports, "PropertiesConfig", { enumerable: true, get: function () { return setting_1.PropertiesConfig; } });
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./create-resource"), exports);
18
+ __exportStar(require("./custom-component"), exports);
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.translations = void 0;
4
+ // @ts-ignore
5
+ var locales_1 = require("@blocklet/pages-kit-inner-components/locales");
6
+ Object.defineProperty(exports, "translations", { enumerable: true, get: function () { return locales_1.translations; } });