@builder.io/sdk-react-native 4.1.2 → 4.2.0
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/browser/commonjs/components/content/components/enable-editor.js +20 -5
- package/lib/browser/commonjs/components/content/components/enable-editor.js.map +1 -1
- package/lib/browser/commonjs/constants/sdk-version.js +1 -1
- package/lib/browser/commonjs/functions/get-processed-block.js +4 -3
- package/lib/browser/commonjs/functions/get-processed-block.js.map +1 -1
- package/lib/browser/module/components/content/components/enable-editor.js +20 -5
- package/lib/browser/module/components/content/components/enable-editor.js.map +1 -1
- package/lib/browser/module/constants/sdk-version.js +1 -1
- package/lib/browser/module/functions/get-processed-block.js +4 -3
- package/lib/browser/module/functions/get-processed-block.js.map +1 -1
- package/lib/browser/typescript/components/content/components/enable-editor.d.ts.map +1 -1
- package/lib/browser/typescript/constants/sdk-version.d.ts +1 -1
- package/lib/browser/typescript/functions/get-processed-block.d.ts.map +1 -1
- package/lib/edge/commonjs/components/content/components/enable-editor.js +20 -5
- package/lib/edge/commonjs/components/content/components/enable-editor.js.map +1 -1
- package/lib/edge/commonjs/constants/sdk-version.js +1 -1
- package/lib/edge/commonjs/functions/get-processed-block.js +4 -3
- package/lib/edge/commonjs/functions/get-processed-block.js.map +1 -1
- package/lib/edge/module/components/content/components/enable-editor.js +20 -5
- package/lib/edge/module/components/content/components/enable-editor.js.map +1 -1
- package/lib/edge/module/constants/sdk-version.js +1 -1
- package/lib/edge/module/functions/get-processed-block.js +4 -3
- package/lib/edge/module/functions/get-processed-block.js.map +1 -1
- package/lib/edge/typescript/components/content/components/enable-editor.d.ts.map +1 -1
- package/lib/edge/typescript/constants/sdk-version.d.ts +1 -1
- package/lib/edge/typescript/functions/get-processed-block.d.ts.map +1 -1
- package/lib/node/commonjs/components/content/components/enable-editor.js +20 -5
- package/lib/node/commonjs/components/content/components/enable-editor.js.map +1 -1
- package/lib/node/commonjs/constants/sdk-version.js +1 -1
- package/lib/node/commonjs/functions/get-processed-block.js +4 -3
- package/lib/node/commonjs/functions/get-processed-block.js.map +1 -1
- package/lib/node/module/components/content/components/enable-editor.js +20 -5
- package/lib/node/module/components/content/components/enable-editor.js.map +1 -1
- package/lib/node/module/constants/sdk-version.js +1 -1
- package/lib/node/module/functions/get-processed-block.js +4 -3
- package/lib/node/module/functions/get-processed-block.js.map +1 -1
- package/lib/node/typescript/components/content/components/enable-editor.d.ts.map +1 -1
- package/lib/node/typescript/constants/sdk-version.d.ts +1 -1
- package/lib/node/typescript/functions/get-processed-block.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/content/components/enable-editor.tsx +83 -33
- package/src/constants/sdk-version.ts +1 -1
- package/src/functions/get-processed-block.ts +4 -3
|
@@ -27,6 +27,27 @@ type BuilderEditorProps = Omit<
|
|
|
27
27
|
setBuilderContextSignal?: (signal: any) => any;
|
|
28
28
|
children?: any;
|
|
29
29
|
};
|
|
30
|
+
interface BuilderRequest {
|
|
31
|
+
"@type": "@builder.io/core:Request";
|
|
32
|
+
request: {
|
|
33
|
+
url: string;
|
|
34
|
+
query?: {
|
|
35
|
+
[key: string]: string;
|
|
36
|
+
};
|
|
37
|
+
headers?: {
|
|
38
|
+
[key: string]: string;
|
|
39
|
+
};
|
|
40
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
41
|
+
body?: any;
|
|
42
|
+
};
|
|
43
|
+
options?: {
|
|
44
|
+
[key: string]: any;
|
|
45
|
+
};
|
|
46
|
+
bindings?: {
|
|
47
|
+
[key: string]: string;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
30
51
|
import builderContext from "../../../context/builder.context";
|
|
31
52
|
import type { BuilderContextInterface } from "../../../context/types";
|
|
32
53
|
import { evaluate } from "../../../functions/evaluate/index";
|
|
@@ -172,44 +193,73 @@ function EnableEditor(props: BuilderEditorProps) {
|
|
|
172
193
|
|
|
173
194
|
function runHttpRequests() {
|
|
174
195
|
const requests: {
|
|
175
|
-
[key: string]: string;
|
|
196
|
+
[key: string]: string | any;
|
|
176
197
|
} = props.builderContextSignal.content?.data?.httpRequests ?? {};
|
|
177
|
-
Object.entries(requests).forEach(
|
|
178
|
-
|
|
198
|
+
Object.entries(requests).forEach(
|
|
199
|
+
([key, httpRequest]: [string, BuilderRequest | string]) => {
|
|
200
|
+
if (!httpRequest) return;
|
|
201
|
+
const isCoreRequest =
|
|
202
|
+
typeof httpRequest === "object" &&
|
|
203
|
+
httpRequest["@type"] === "@builder.io/core:Request";
|
|
179
204
|
|
|
180
|
-
|
|
181
|
-
|
|
205
|
+
// request already in progress
|
|
206
|
+
if (httpReqsPending[key]) return;
|
|
182
207
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
208
|
+
// request already completed, and not in edit mode
|
|
209
|
+
if (httpReqsData[key] && !isEditing()) return;
|
|
210
|
+
const url = isCoreRequest
|
|
211
|
+
? httpRequest.request.url
|
|
212
|
+
: (httpRequest as string);
|
|
213
|
+
httpReqsPending[key] = true;
|
|
214
|
+
const evaluatedUrl = url.replace(
|
|
215
|
+
/{{([^}]+)}}/g,
|
|
216
|
+
(_match: string, group: string) =>
|
|
217
|
+
String(
|
|
218
|
+
evaluate({
|
|
219
|
+
code: group,
|
|
220
|
+
context: props.context || {},
|
|
221
|
+
localState: undefined,
|
|
222
|
+
rootState: props.builderContextSignal.rootState,
|
|
223
|
+
rootSetState: props.builderContextSignal.rootSetState,
|
|
224
|
+
})
|
|
225
|
+
)
|
|
226
|
+
);
|
|
227
|
+
const fetchRequestObj = isCoreRequest
|
|
228
|
+
? {
|
|
229
|
+
url: evaluatedUrl,
|
|
230
|
+
method: httpRequest.request.method,
|
|
231
|
+
headers: httpRequest.request.headers,
|
|
232
|
+
body: httpRequest.request.body,
|
|
233
|
+
}
|
|
234
|
+
: {
|
|
235
|
+
url: evaluatedUrl,
|
|
236
|
+
method: "GET",
|
|
237
|
+
};
|
|
238
|
+
logFetch(JSON.stringify(fetchRequestObj));
|
|
239
|
+
fetch(fetchRequestObj.url, {
|
|
240
|
+
method: fetchRequestObj.method,
|
|
241
|
+
headers: fetchRequestObj.headers,
|
|
242
|
+
body: fetchRequestObj.body,
|
|
243
|
+
})
|
|
244
|
+
.then((response) => response.json())
|
|
245
|
+
.then((json) => {
|
|
246
|
+
mergeNewRootState({
|
|
247
|
+
[key]: json,
|
|
248
|
+
});
|
|
249
|
+
httpReqsData[key] = true;
|
|
194
250
|
})
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
251
|
+
.catch((err) => {
|
|
252
|
+
console.error(
|
|
253
|
+
"error fetching dynamic data",
|
|
254
|
+
JSON.stringify(httpRequest),
|
|
255
|
+
err
|
|
256
|
+
);
|
|
257
|
+
})
|
|
258
|
+
.finally(() => {
|
|
259
|
+
httpReqsPending[key] = false;
|
|
203
260
|
});
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
.catch((err) => {
|
|
207
|
-
console.error("error fetching dynamic data", url, err);
|
|
208
|
-
})
|
|
209
|
-
.finally(() => {
|
|
210
|
-
httpReqsPending[key] = false;
|
|
211
|
-
});
|
|
212
|
-
});
|
|
261
|
+
}
|
|
262
|
+
);
|
|
213
263
|
}
|
|
214
264
|
|
|
215
265
|
function emitStateUpdate() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SDK_VERSION = "4.
|
|
1
|
+
export const SDK_VERSION = "4.2.0"
|
|
@@ -91,13 +91,14 @@ export function getProcessedBlock({
|
|
|
91
91
|
}: {
|
|
92
92
|
block: BuilderBlock;
|
|
93
93
|
} & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>): BuilderBlock {
|
|
94
|
-
let transformedBlock =
|
|
95
|
-
transformedBlock =
|
|
96
|
-
return evaluateBindings({
|
|
94
|
+
let transformedBlock = transformBlock(block);
|
|
95
|
+
transformedBlock = evaluateBindings({
|
|
97
96
|
block: transformedBlock,
|
|
98
97
|
localState,
|
|
99
98
|
rootState,
|
|
100
99
|
rootSetState,
|
|
101
100
|
context
|
|
102
101
|
});
|
|
102
|
+
transformedBlock = resolveLocalizedValues(transformedBlock, (rootState.locale as string | undefined));
|
|
103
|
+
return transformedBlock;
|
|
103
104
|
}
|