@gravity-ui/page-constructor 1.15.0-alpha.14 → 1.15.0-alpha.16
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/build/cjs/blocks/Banner/Banner.js +5 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +4 -3
- package/build/cjs/context/blockPositionContext/blockPositionContext.d.ts +3 -0
- package/build/cjs/context/blockPositionContext/blockPositionContext.js +6 -0
- package/build/cjs/context/blockPositionContext/index.d.ts +1 -0
- package/build/cjs/context/blockPositionContext/index.js +4 -0
- package/build/cjs/utils/blocks.js +1 -1
- package/build/esm/blocks/Banner/Banner.js +5 -1
- package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +5 -3
- package/build/esm/context/blockPositionContext/blockPositionContext.d.ts +3 -0
- package/build/esm/context/blockPositionContext/blockPositionContext.js +2 -0
- package/build/esm/context/blockPositionContext/index.d.ts +1 -0
- package/build/esm/context/blockPositionContext/index.js +1 -0
- package/build/esm/utils/blocks.js +1 -1
- package/package.json +1 -1
- package/server/utils/blocks.js +1 -1
|
@@ -2,14 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BannerBlock = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const react_1 = tslib_1.
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
6
|
const utils_1 = require("../../utils");
|
|
7
7
|
const models_1 = require("../../models");
|
|
8
8
|
const AnimateBlock_1 = tslib_1.__importDefault(require("../../components/AnimateBlock/AnimateBlock"));
|
|
9
9
|
const sub_blocks_1 = require("../../sub-blocks");
|
|
10
|
+
const blockPositionContext_1 = require("src/context/blockPositionContext");
|
|
10
11
|
const b = (0, utils_1.block)('banner-block');
|
|
11
12
|
const BannerBlock = (props) => {
|
|
12
13
|
const { animated, blockName = models_1.BlockType.BannerBlock } = props, bannerProps = tslib_1.__rest(props, ["animated", "blockName"]);
|
|
14
|
+
const blockPosition = (0, react_1.useContext)(blockPositionContext_1.BlockPositionContext);
|
|
15
|
+
// eslint-disable-next-line no-console
|
|
16
|
+
console.log({ blockPosition });
|
|
13
17
|
return (react_1.default.createElement(AnimateBlock_1.default, { className: b(), animate: animated },
|
|
14
18
|
react_1.default.createElement(sub_blocks_1.BannerCard, Object.assign({}, bannerProps, { blockName: blockName }))));
|
|
15
19
|
};
|
package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js
CHANGED
|
@@ -32,7 +32,7 @@ const ConstructorBlocks = ({ items, shouldRenderBlock }) => {
|
|
|
32
32
|
}
|
|
33
33
|
else {
|
|
34
34
|
if ('children' in item && item.children) {
|
|
35
|
-
children = item.children.map(renderer.bind(null,
|
|
35
|
+
children = item.children.map(renderer.bind(null, context));
|
|
36
36
|
}
|
|
37
37
|
itemElement = (react_1.default.createElement(ConstructorItem_1.ConstructorItem, { data: item, key: key, context: context }, children));
|
|
38
38
|
}
|
|
@@ -4,12 +4,13 @@ exports.ConstructorHeader = exports.ConstructorItem = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
6
|
const innerContext_1 = require("../../../../context/innerContext");
|
|
7
|
+
const blockPositionContext_1 = require("src/context/blockPositionContext");
|
|
7
8
|
const ConstructorItem = ({ data, children, context = '', }) => {
|
|
8
9
|
const { itemMap } = (0, react_1.useContext)(innerContext_1.InnerContext);
|
|
9
|
-
const { type } = data;
|
|
10
|
-
const localContext = context + type ? `_${type}` : '';
|
|
10
|
+
const { type } = data, rest = tslib_1.__rest(data, ["type"]);
|
|
11
11
|
const Component = itemMap[type];
|
|
12
|
-
return (react_1.default.createElement(
|
|
12
|
+
return (react_1.default.createElement(blockPositionContext_1.BlockPositionContext.Provider, { value: context },
|
|
13
|
+
react_1.default.createElement(Component, Object.assign({}, rest), children)));
|
|
13
14
|
};
|
|
14
15
|
exports.ConstructorItem = ConstructorItem;
|
|
15
16
|
const ConstructorHeader = ({ data }) => (react_1.default.createElement(exports.ConstructorItem, { data: data, key: data.type }));
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BlockPositionContext = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
exports.BlockPositionContext = react_1.default.createContext('');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './blockPositionContext';
|
|
@@ -19,7 +19,7 @@ function getBlockKey(block, index) {
|
|
|
19
19
|
}
|
|
20
20
|
exports.getBlockKey = getBlockKey;
|
|
21
21
|
function getBlockContext({ parentContext = '', block, index }) {
|
|
22
|
-
return `${parentContext}${parentContext ? '
|
|
22
|
+
return `${parentContext}${parentContext ? '_' : ''}${block.type}-${index}`;
|
|
23
23
|
}
|
|
24
24
|
exports.getBlockContext = getBlockContext;
|
|
25
25
|
const getCustomBlockTypes = ({ blocks = {}, headers = {} } = {}) => [
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
|
-
import React from 'react';
|
|
2
|
+
import React, { useContext } from 'react';
|
|
3
3
|
import { block } from '../../utils';
|
|
4
4
|
import { BlockType } from '../../models';
|
|
5
5
|
import AnimateBlock from '../../components/AnimateBlock/AnimateBlock';
|
|
6
6
|
import { BannerCard } from '../../sub-blocks';
|
|
7
|
+
import { BlockPositionContext } from 'src/context/blockPositionContext';
|
|
7
8
|
import './Banner.css';
|
|
8
9
|
const b = block('banner-block');
|
|
9
10
|
export const BannerBlock = (props) => {
|
|
10
11
|
const { animated, blockName = BlockType.BannerBlock } = props, bannerProps = __rest(props, ["animated", "blockName"]);
|
|
12
|
+
const blockPosition = useContext(BlockPositionContext);
|
|
13
|
+
// eslint-disable-next-line no-console
|
|
14
|
+
console.log({ blockPosition });
|
|
11
15
|
return (React.createElement(AnimateBlock, { className: b(), animate: animated },
|
|
12
16
|
React.createElement(BannerCard, Object.assign({}, bannerProps, { blockName: blockName }))));
|
|
13
17
|
};
|
package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js
CHANGED
|
@@ -28,7 +28,7 @@ export const ConstructorBlocks = ({ items, shouldRenderBlock }) => {
|
|
|
28
28
|
}
|
|
29
29
|
else {
|
|
30
30
|
if ('children' in item && item.children) {
|
|
31
|
-
children = item.children.map(renderer.bind(null,
|
|
31
|
+
children = item.children.map(renderer.bind(null, context));
|
|
32
32
|
}
|
|
33
33
|
itemElement = (React.createElement(ConstructorItem, { data: item, key: key, context: context }, children));
|
|
34
34
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
1
2
|
import React, { useContext } from 'react';
|
|
2
3
|
import { InnerContext } from '../../../../context/innerContext';
|
|
4
|
+
import { BlockPositionContext } from 'src/context/blockPositionContext';
|
|
3
5
|
export const ConstructorItem = ({ data, children, context = '', }) => {
|
|
4
6
|
const { itemMap } = useContext(InnerContext);
|
|
5
|
-
const { type } = data;
|
|
6
|
-
const localContext = context + type ? `_${type}` : '';
|
|
7
|
+
const { type } = data, rest = __rest(data, ["type"]);
|
|
7
8
|
const Component = itemMap[type];
|
|
8
|
-
return (React.createElement(
|
|
9
|
+
return (React.createElement(BlockPositionContext.Provider, { value: context },
|
|
10
|
+
React.createElement(Component, Object.assign({}, rest), children)));
|
|
9
11
|
};
|
|
10
12
|
export const ConstructorHeader = ({ data }) => (React.createElement(ConstructorItem, { data: data, key: data.type }));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './blockPositionContext';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './blockPositionContext';
|
|
@@ -14,7 +14,7 @@ export function getBlockKey(block, index) {
|
|
|
14
14
|
return `${block.type}-${index}`;
|
|
15
15
|
}
|
|
16
16
|
export function getBlockContext({ parentContext = '', block, index }) {
|
|
17
|
-
return `${parentContext}${parentContext ? '
|
|
17
|
+
return `${parentContext}${parentContext ? '_' : ''}${block.type}-${index}`;
|
|
18
18
|
}
|
|
19
19
|
export const getCustomBlockTypes = ({ blocks = {}, headers = {} } = {}) => [
|
|
20
20
|
...Object.keys(blocks),
|
package/package.json
CHANGED
package/server/utils/blocks.js
CHANGED
|
@@ -19,7 +19,7 @@ function getBlockKey(block, index) {
|
|
|
19
19
|
}
|
|
20
20
|
exports.getBlockKey = getBlockKey;
|
|
21
21
|
function getBlockContext({ parentContext = '', block, index }) {
|
|
22
|
-
return `${parentContext}${parentContext ? '
|
|
22
|
+
return `${parentContext}${parentContext ? '_' : ''}${block.type}-${index}`;
|
|
23
23
|
}
|
|
24
24
|
exports.getBlockContext = getBlockContext;
|
|
25
25
|
const getCustomBlockTypes = ({ blocks = {}, headers = {} } = {}) => [
|