eddev 0.1.38 → 0.1.41
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/blocks/ContentBlocks.d.ts +4 -2
- package/blocks/inlineEditing.d.ts +2 -1
- package/blocks/inlineEditing.js +2 -2
- package/components/BrowserRouter.js +25 -18
- package/package.json +1 -1
- package/routing/remoteProps.js +20 -19
- package/routing/routing.d.ts +1 -1
- package/routing/routing.js +3 -9
|
@@ -16,8 +16,7 @@ declare type BlocksContext = {
|
|
|
16
16
|
current: ContentBlock;
|
|
17
17
|
};
|
|
18
18
|
export declare const BlocksContext: import("react").Context<BlocksContext | undefined>;
|
|
19
|
-
declare type
|
|
20
|
-
blocks: ContentBlock[];
|
|
19
|
+
export declare type ContentBlocksSettings = {
|
|
21
20
|
wrapBlock?: (child: ReactElement, ctx: BlocksContext) => ReactElement;
|
|
22
21
|
spacer?: (ctx: {
|
|
23
22
|
ancestors: ContentBlock[];
|
|
@@ -26,6 +25,9 @@ declare type Props = {
|
|
|
26
25
|
next: ContentBlock | null;
|
|
27
26
|
}) => ReactElement | null;
|
|
28
27
|
};
|
|
28
|
+
declare type Props = {
|
|
29
|
+
blocks: ContentBlock[];
|
|
30
|
+
} & ContentBlocksSettings;
|
|
29
31
|
export declare type GenericBlockProps = {
|
|
30
32
|
innerHTML?: string;
|
|
31
33
|
innerContent?: string[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ElementType } from "react";
|
|
2
|
+
import { ContentBlocksSettings } from ".";
|
|
2
3
|
declare type PropTypes<T extends ElementType> = {
|
|
3
4
|
/** The 'key' of this editable text value */
|
|
4
5
|
id: string;
|
|
@@ -18,6 +19,6 @@ declare type InnerBlocksProps = {
|
|
|
18
19
|
templateLock?: any;
|
|
19
20
|
template?: any;
|
|
20
21
|
renderAppender?: any;
|
|
21
|
-
};
|
|
22
|
+
} & ContentBlocksSettings;
|
|
22
23
|
export declare function InnerBlocks(props: InnerBlocksProps): JSX.Element;
|
|
23
24
|
export {};
|
package/blocks/inlineEditing.js
CHANGED
|
@@ -40,6 +40,7 @@ function EditableText(_a) {
|
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
42
|
var value = (0, blockAttributes_1.useInlineEditableValue)(id)[0];
|
|
43
|
+
var router_1 = (0, __1.useRouter)();
|
|
43
44
|
var otherProps = __assign({}, props);
|
|
44
45
|
delete otherProps.inlineToolbar;
|
|
45
46
|
delete otherProps.disableLineBreaks;
|
|
@@ -54,7 +55,6 @@ function EditableText(_a) {
|
|
|
54
55
|
return null;
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
|
-
var router_1 = (0, __1.useRouter)();
|
|
58
58
|
return (0, react_1.createElement)(as || "div", __assign({ dangerouslySetInnerHTML: { __html: value }, onClick: function (e) {
|
|
59
59
|
if (e.target && e.target instanceof HTMLAnchorElement) {
|
|
60
60
|
if ((0, remoteProps_1.isSameOrigin)(e.target.href) && router_1) {
|
|
@@ -74,7 +74,7 @@ function InnerBlocks(props) {
|
|
|
74
74
|
}
|
|
75
75
|
else {
|
|
76
76
|
var blocks = (0, blockAttributes_1.useInnerBlocks)();
|
|
77
|
-
return (0, jsx_runtime_1.jsx)(ContentBlocks_1.ContentBlocks, { blocks: blocks }, void 0);
|
|
77
|
+
return (0, jsx_runtime_1.jsx)(ContentBlocks_1.ContentBlocks, { blocks: blocks, spacer: props.spacer, wrapBlock: props.wrapBlock }, void 0);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
exports.InnerBlocks = InnerBlocks;
|
|
@@ -29,12 +29,15 @@ var updateHeadTags_1 = require("../routing/updateHeadTags");
|
|
|
29
29
|
var hasPopulatedCache = false;
|
|
30
30
|
function BrowserRouter(props) {
|
|
31
31
|
var setAppData = (0, hooks_1.useAppDataStore)(function (s) { return s.setAppData; });
|
|
32
|
-
var _a = (0, react_1.useState)(function () {
|
|
33
|
-
var _b = (0, react_1.useState)(function () {
|
|
32
|
+
var _a = (0, react_1.useState)(function () {
|
|
34
33
|
setAppData(_PAGE_DATA.appData.data);
|
|
35
|
-
return
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
return {
|
|
35
|
+
url: document.location.href,
|
|
36
|
+
data: _PAGE_DATA,
|
|
37
|
+
};
|
|
38
|
+
}), state = _a[0], setState = _a[1];
|
|
39
|
+
var url = state.url, data = state.data;
|
|
40
|
+
var _b = (0, react_1.useState)(null), pending = _b[0], setPendingUrl = _b[1];
|
|
38
41
|
var setIsLoading = (0, usePageLoad_1.usePageLoad)(function (s) { return s.setIsLoading; });
|
|
39
42
|
(0, react_1.useEffect)(function () {
|
|
40
43
|
if (data.errorStack) {
|
|
@@ -68,8 +71,11 @@ function BrowserRouter(props) {
|
|
|
68
71
|
var view = views_1.default[data.view];
|
|
69
72
|
var finish = function () {
|
|
70
73
|
var _a, _b;
|
|
71
|
-
|
|
72
|
-
|
|
74
|
+
setState({
|
|
75
|
+
url: pending.url,
|
|
76
|
+
data: data,
|
|
77
|
+
});
|
|
78
|
+
// setData(data)
|
|
73
79
|
if (data.appData) {
|
|
74
80
|
setAppData(data.appData.data);
|
|
75
81
|
}
|
|
@@ -81,16 +87,6 @@ function BrowserRouter(props) {
|
|
|
81
87
|
if (!pending.popped) {
|
|
82
88
|
history.replaceState({ scrollPosition: (_b = document.scrollingElement) === null || _b === void 0 ? void 0 : _b.scrollTop }, "", document.location.href);
|
|
83
89
|
history.pushState({}, "", pending.url);
|
|
84
|
-
// if (document.scrollingElement) {
|
|
85
|
-
// console.log("Scroll to top")
|
|
86
|
-
// document.scrollingElement.scrollTop = 0
|
|
87
|
-
// }
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
// if (document.scrollingElement) {
|
|
91
|
-
// console.log("Scroll to", pending.scrollPosition)
|
|
92
|
-
// document.scrollingElement.scrollTop = pending.scrollPosition || 0
|
|
93
|
-
// }
|
|
94
90
|
}
|
|
95
91
|
};
|
|
96
92
|
if (view && view.preload) {
|
|
@@ -106,6 +102,12 @@ function BrowserRouter(props) {
|
|
|
106
102
|
cancelled = true;
|
|
107
103
|
};
|
|
108
104
|
}, [pending]);
|
|
105
|
+
var _c = (0, react_1.useState)({ value: null }), scrollPosition = _c[0], setScrollPosition = _c[1];
|
|
106
|
+
(0, react_1.useEffect)(function () {
|
|
107
|
+
if (document.scrollingElement && typeof scrollPosition.value === "number") {
|
|
108
|
+
document.scrollingElement.scrollTop = scrollPosition.value;
|
|
109
|
+
}
|
|
110
|
+
}, [scrollPosition]);
|
|
109
111
|
return ((0, jsx_runtime_1.jsx)(routing_1.RouterRoot, __assign({ url: url, data: data, onNavigateRequest: function (url) {
|
|
110
112
|
setPendingUrl({ popped: false, url: url });
|
|
111
113
|
}, onPreload: function (url) {
|
|
@@ -113,7 +115,12 @@ function BrowserRouter(props) {
|
|
|
113
115
|
(0, remoteProps_1.fetchProps)(url);
|
|
114
116
|
}
|
|
115
117
|
}, onNavigated: function () {
|
|
116
|
-
|
|
118
|
+
if (pending && typeof pending.scrollPosition === "number") {
|
|
119
|
+
setScrollPosition({ value: pending.scrollPosition });
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
setScrollPosition({ value: 0 });
|
|
123
|
+
}
|
|
117
124
|
} }, { children: props.children }), void 0));
|
|
118
125
|
}
|
|
119
126
|
exports.BrowserRouter = BrowserRouter;
|
package/package.json
CHANGED
package/routing/remoteProps.js
CHANGED
|
@@ -42,6 +42,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.hasCachedProps = exports.fetchProps = exports.isSameOrigin = exports.setInitialProps = exports.parseURL = void 0;
|
|
43
43
|
var url_parse_1 = __importDefault(require("url-parse"));
|
|
44
44
|
var qs_1 = __importDefault(require("qs"));
|
|
45
|
+
var pending = {};
|
|
45
46
|
var cache = {};
|
|
46
47
|
function parseURL(url) {
|
|
47
48
|
return (0, url_parse_1.default)(url, qs_1.default.parse);
|
|
@@ -63,26 +64,26 @@ function isSameOrigin(url) {
|
|
|
63
64
|
exports.isSameOrigin = isSameOrigin;
|
|
64
65
|
function fetchProps(url) {
|
|
65
66
|
return __awaiter(this, void 0, void 0, function () {
|
|
66
|
-
var parsed, cacheKey, requestUrl,
|
|
67
|
+
var parsed, cacheKey, requestUrl, promise;
|
|
67
68
|
return __generator(this, function (_a) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
69
|
+
parsed = parseURL(url);
|
|
70
|
+
cacheKey = getRouteCacheKey(url);
|
|
71
|
+
// Cached value?
|
|
72
|
+
if (cacheKey in cache)
|
|
73
|
+
return [2 /*return*/, Promise.resolve(cache[cacheKey])];
|
|
74
|
+
if (cacheKey in pending)
|
|
75
|
+
return [2 /*return*/, pending[cacheKey]];
|
|
76
|
+
parsed.query["_props"] = "1";
|
|
77
|
+
requestUrl = parsed.toString();
|
|
78
|
+
promise = fetch(requestUrl)
|
|
79
|
+
.then(function (response) { return response.json(); })
|
|
80
|
+
.then(function (data) {
|
|
81
|
+
delete pending[cacheKey];
|
|
82
|
+
cache[cacheKey] = data;
|
|
83
|
+
return data;
|
|
84
|
+
});
|
|
85
|
+
pending[cacheKey] = promise;
|
|
86
|
+
return [2 /*return*/, promise];
|
|
86
87
|
});
|
|
87
88
|
});
|
|
88
89
|
}
|
package/routing/routing.d.ts
CHANGED
|
@@ -55,7 +55,7 @@ declare type RouterRootProps = {
|
|
|
55
55
|
children: ReactNode;
|
|
56
56
|
onNavigateRequest?: (url: string) => void;
|
|
57
57
|
onPreload?: (url: string) => void;
|
|
58
|
-
onNavigated?: (
|
|
58
|
+
onNavigated?: (item: RouteItem) => void;
|
|
59
59
|
};
|
|
60
60
|
export declare function RouterRoot(props: RouterRootProps): JSX.Element;
|
|
61
61
|
declare type SwitchProps = {
|
package/routing/routing.js
CHANGED
|
@@ -213,15 +213,7 @@ function useForkedRouter(conf, opts) {
|
|
|
213
213
|
var ctx = (0, react_1.useMemo)(function () {
|
|
214
214
|
return parent.fork(conf, opts);
|
|
215
215
|
}, [parent]);
|
|
216
|
-
// useEffect(() => {
|
|
217
|
-
// if (onChange) {
|
|
218
|
-
// return ctx.subscribe(onChange);
|
|
219
|
-
// }
|
|
220
|
-
// }, [ctx, onChange]);
|
|
221
216
|
Object.assign(ctx.config, conf);
|
|
222
|
-
// ctx.config.match = conf.match;
|
|
223
|
-
// ctx.config.beforeLeave = conf.beforeLeave;
|
|
224
|
-
// ctx.config.beforeLeave = conf.beforeLeave;
|
|
225
217
|
(0, react_1.useEffect)(function () {
|
|
226
218
|
return function () { return ctx.dispose(); };
|
|
227
219
|
}, [ctx]);
|
|
@@ -301,7 +293,9 @@ function RouterRoot(props) {
|
|
|
301
293
|
ctx.propagateCandidate(item, ctx.item).then(function () {
|
|
302
294
|
if (!cancelled) {
|
|
303
295
|
ctx.propagateChange(item, true);
|
|
304
|
-
|
|
296
|
+
if (props.onNavigated) {
|
|
297
|
+
props.onNavigated(item);
|
|
298
|
+
}
|
|
305
299
|
}
|
|
306
300
|
});
|
|
307
301
|
return function () {
|