@tramvai/module-page-render-mode 1.84.0 → 1.89.1
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/README.md +2 -0
- package/lib/index.es.js +5 -5
- package/lib/index.js +12 -16
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -170,6 +170,8 @@ const providers = [
|
|
|
170
170
|
|
|
171
171
|
With `client` rendering mode, all layout will be rendered in browser.
|
|
172
172
|
|
|
173
|
+
`PAGE_RENDER_WRAPPER_TYPE` value will be passed to [default layout](references/modules/render.md#basic-layout), where the library [@tinkoff/layout-factory](references/libs/tinkoff-layout.md#wrappers) is used.
|
|
174
|
+
|
|
173
175
|
## Troubleshooting
|
|
174
176
|
|
|
175
177
|
### Fallback name conflicts
|
package/lib/index.es.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import { Module } from '@tramvai/core';
|
|
3
3
|
import { LAYOUT_OPTIONS, TRAMVAI_RENDER_MODE } from '@tramvai/tokens-render';
|
|
4
|
-
import
|
|
4
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
5
|
+
import { useState, useEffect } from 'react';
|
|
5
6
|
import { useDi } from '@tramvai/react';
|
|
6
7
|
import { PAGE_SERVICE_TOKEN } from '@tramvai/tokens-router';
|
|
7
8
|
import { useRoute } from '@tramvai/module-router';
|
|
@@ -37,15 +38,14 @@ const PageRenderWrapper = ({ children }) => {
|
|
|
37
38
|
}, []);
|
|
38
39
|
if (mode === 'client' && !mounted) {
|
|
39
40
|
if (FallbackComponent) {
|
|
40
|
-
return
|
|
41
|
+
return jsx(FallbackComponent, {}, void 0);
|
|
41
42
|
}
|
|
42
43
|
return null;
|
|
43
44
|
}
|
|
44
|
-
return
|
|
45
|
+
return jsx(Fragment, { children: children }, void 0);
|
|
45
46
|
};
|
|
46
47
|
const pageRenderHOC = (WrapperPage) => (props) => {
|
|
47
|
-
return (
|
|
48
|
-
React.createElement(WrapperPage, Object.assign({}, props))));
|
|
48
|
+
return (jsx(PageRenderWrapper, { children: jsx(WrapperPage, Object.assign({}, props), void 0) }, void 0));
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
let PageRenderModeModule = class PageRenderModeModule {
|
package/lib/index.js
CHANGED
|
@@ -5,16 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
6
|
var core = require('@tramvai/core');
|
|
7
7
|
var tokensRender = require('@tramvai/tokens-render');
|
|
8
|
-
var
|
|
9
|
-
var react = require('
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
var react = require('react');
|
|
10
|
+
var react$1 = require('@tramvai/react');
|
|
10
11
|
var tokensRouter = require('@tramvai/tokens-router');
|
|
11
12
|
var moduleRouter = require('@tramvai/module-router');
|
|
12
13
|
var dippy = require('@tinkoff/dippy');
|
|
13
14
|
|
|
14
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
|
-
|
|
16
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
17
|
-
|
|
18
15
|
const PAGE_RENDER_FALLBACK_COMPONENT_PREFIX = dippy.createToken('pageRenderFallbackComponentName');
|
|
19
16
|
/**
|
|
20
17
|
* @deprecated Use token `TRAMVAI_RENDER_MODE` from `@tramvai/tokens-render`
|
|
@@ -24,12 +21,12 @@ const PAGE_RENDER_WRAPPER_TYPE = dippy.createToken('pageRenderWrapperType');
|
|
|
24
21
|
const PAGE_RENDER_DEFAULT_FALLBACK_COMPONENT = dippy.createToken('pageRenderDefaultFallbackComponent');
|
|
25
22
|
|
|
26
23
|
const PageRenderWrapper = ({ children }) => {
|
|
27
|
-
const [mounted, setMounted] =
|
|
24
|
+
const [mounted, setMounted] = react.useState(false);
|
|
28
25
|
const { config } = moduleRouter.useRoute();
|
|
29
|
-
const pageService = react.useDi(tokensRouter.PAGE_SERVICE_TOKEN);
|
|
30
|
-
const fallbackKey = react.useDi(PAGE_RENDER_FALLBACK_COMPONENT_PREFIX);
|
|
31
|
-
const defaultRenderMode = react.useDi(PAGE_RENDER_DEFAULT_MODE);
|
|
32
|
-
const DefaultFallbackComponent = react.useDi({
|
|
26
|
+
const pageService = react$1.useDi(tokensRouter.PAGE_SERVICE_TOKEN);
|
|
27
|
+
const fallbackKey = react$1.useDi(PAGE_RENDER_FALLBACK_COMPONENT_PREFIX);
|
|
28
|
+
const defaultRenderMode = react$1.useDi(PAGE_RENDER_DEFAULT_MODE);
|
|
29
|
+
const DefaultFallbackComponent = react$1.useDi({
|
|
33
30
|
token: PAGE_RENDER_DEFAULT_FALLBACK_COMPONENT,
|
|
34
31
|
optional: true,
|
|
35
32
|
});
|
|
@@ -37,7 +34,7 @@ const PageRenderWrapper = ({ children }) => {
|
|
|
37
34
|
const { renderMode } = pageService.getComponent(pageComponent);
|
|
38
35
|
const FallbackComponent = pageService.resolveComponentFromConfig(fallbackKey) || DefaultFallbackComponent;
|
|
39
36
|
const mode = renderMode || pageRenderMode || defaultRenderMode;
|
|
40
|
-
|
|
37
|
+
react.useEffect(() => {
|
|
41
38
|
if (mode === 'client') {
|
|
42
39
|
setMounted(true);
|
|
43
40
|
}
|
|
@@ -45,15 +42,14 @@ const PageRenderWrapper = ({ children }) => {
|
|
|
45
42
|
}, []);
|
|
46
43
|
if (mode === 'client' && !mounted) {
|
|
47
44
|
if (FallbackComponent) {
|
|
48
|
-
return
|
|
45
|
+
return jsxRuntime.jsx(FallbackComponent, {}, void 0);
|
|
49
46
|
}
|
|
50
47
|
return null;
|
|
51
48
|
}
|
|
52
|
-
return
|
|
49
|
+
return jsxRuntime.jsx(jsxRuntime.Fragment, { children: children }, void 0);
|
|
53
50
|
};
|
|
54
51
|
const pageRenderHOC = (WrapperPage) => (props) => {
|
|
55
|
-
return (
|
|
56
|
-
React__default["default"].createElement(WrapperPage, Object.assign({}, props))));
|
|
52
|
+
return (jsxRuntime.jsx(PageRenderWrapper, { children: jsxRuntime.jsx(WrapperPage, Object.assign({}, props), void 0) }, void 0));
|
|
57
53
|
};
|
|
58
54
|
|
|
59
55
|
exports.PageRenderModeModule = class PageRenderModeModule {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/module-page-render-mode",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.89.1",
|
|
4
4
|
"description": "Enable different rendering modes for pages",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.es.js",
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"dependencies": {},
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"@tinkoff/dippy": "0.7.39",
|
|
28
|
-
"@tramvai/core": "1.
|
|
29
|
-
"@tramvai/react": "1.
|
|
30
|
-
"@tramvai/module-router": "1.
|
|
31
|
-
"@tramvai/tokens-render": "1.
|
|
32
|
-
"@tramvai/tokens-router": "1.
|
|
28
|
+
"@tramvai/core": "1.89.1",
|
|
29
|
+
"@tramvai/react": "1.89.1",
|
|
30
|
+
"@tramvai/module-router": "1.89.1",
|
|
31
|
+
"@tramvai/tokens-render": "1.89.1",
|
|
32
|
+
"@tramvai/tokens-router": "1.89.1",
|
|
33
33
|
"react": ">=16.8.0",
|
|
34
34
|
"tslib": "^2.0.3"
|
|
35
35
|
}
|