@sitecore-jss/sitecore-jss-react 21.0.1 → 21.0.3

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.
@@ -20,8 +20,14 @@ const prop_types_1 = __importDefault(require("prop-types"));
20
20
  const MissingComponent_1 = require("./MissingComponent");
21
21
  const utils_1 = require("../utils");
22
22
  const HiddenRendering_1 = require("./HiddenRendering");
23
- /** [SXA] common marker by which we find container fo replacing **/
24
- const PREFIX_PLACEHOLDER = 'container-{*}';
23
+ /**
24
+ * These patterns need for right rendering Dynamic placeholders.
25
+ * Must be distinguished Splitter components and another placeholders(containers)
26
+ */
27
+ const EXCLUDE_PLACEHOLDERS_RENDER = [
28
+ new RegExp(/column-(\d{1})-\{\*\}/i),
29
+ new RegExp(/row-(\d{1})-\{\*\}/i),
30
+ ];
25
31
  class PlaceholderCommon extends react_1.default.Component {
26
32
  constructor(props) {
27
33
  super(props);
@@ -34,10 +40,15 @@ class PlaceholderCommon extends react_1.default.Component {
34
40
  static getPlaceholderDataFromRenderingData(rendering, name) {
35
41
  let result;
36
42
  /** [SXA] it needs for deleting dynamics placeholder when we set him number(props.name) of container.
37
- from backend side we get common name of placeholder is called 'container-{*}' where '{*}' marker for replacing **/
38
- if (rendering && rendering.placeholders && rendering.placeholders[PREFIX_PLACEHOLDER]) {
39
- rendering.placeholders[name] = rendering.placeholders[PREFIX_PLACEHOLDER];
40
- delete rendering.placeholders[PREFIX_PLACEHOLDER];
43
+ from backend side we get common name of placeholder is called 'nameOfContainer-{*}' where '{*}' marker for replacing **/
44
+ if (rendering === null || rendering === void 0 ? void 0 : rendering.placeholders) {
45
+ Object.keys(rendering.placeholders).forEach((placeholder) => {
46
+ if (placeholder.indexOf('{*}') !== -1 &&
47
+ EXCLUDE_PLACEHOLDERS_RENDER.some((pattern) => name.search(pattern) === -1)) {
48
+ rendering.placeholders[name] = rendering.placeholders[placeholder];
49
+ delete rendering.placeholders[placeholder];
50
+ }
51
+ });
41
52
  }
42
53
  if (rendering && rendering.placeholders && Object.keys(rendering.placeholders).length > 0) {
43
54
  result = rendering.placeholders[name];
@@ -14,8 +14,14 @@ import PropTypes from 'prop-types';
14
14
  import { MissingComponent } from './MissingComponent';
15
15
  import { convertAttributesToReactProps } from '../utils';
16
16
  import { HiddenRendering, HIDDEN_RENDERING_NAME } from './HiddenRendering';
17
- /** [SXA] common marker by which we find container fo replacing **/
18
- const PREFIX_PLACEHOLDER = 'container-{*}';
17
+ /**
18
+ * These patterns need for right rendering Dynamic placeholders.
19
+ * Must be distinguished Splitter components and another placeholders(containers)
20
+ */
21
+ const EXCLUDE_PLACEHOLDERS_RENDER = [
22
+ new RegExp(/column-(\d{1})-\{\*\}/i),
23
+ new RegExp(/row-(\d{1})-\{\*\}/i),
24
+ ];
19
25
  export class PlaceholderCommon extends React.Component {
20
26
  constructor(props) {
21
27
  super(props);
@@ -28,10 +34,15 @@ export class PlaceholderCommon extends React.Component {
28
34
  static getPlaceholderDataFromRenderingData(rendering, name) {
29
35
  let result;
30
36
  /** [SXA] it needs for deleting dynamics placeholder when we set him number(props.name) of container.
31
- from backend side we get common name of placeholder is called 'container-{*}' where '{*}' marker for replacing **/
32
- if (rendering && rendering.placeholders && rendering.placeholders[PREFIX_PLACEHOLDER]) {
33
- rendering.placeholders[name] = rendering.placeholders[PREFIX_PLACEHOLDER];
34
- delete rendering.placeholders[PREFIX_PLACEHOLDER];
37
+ from backend side we get common name of placeholder is called 'nameOfContainer-{*}' where '{*}' marker for replacing **/
38
+ if (rendering === null || rendering === void 0 ? void 0 : rendering.placeholders) {
39
+ Object.keys(rendering.placeholders).forEach((placeholder) => {
40
+ if (placeholder.indexOf('{*}') !== -1 &&
41
+ EXCLUDE_PLACEHOLDERS_RENDER.some((pattern) => name.search(pattern) === -1)) {
42
+ rendering.placeholders[name] = rendering.placeholders[placeholder];
43
+ delete rendering.placeholders[placeholder];
44
+ }
45
+ });
35
46
  }
36
47
  if (rendering && rendering.placeholders && Object.keys(rendering.placeholders).length > 0) {
37
48
  result = rendering.placeholders[name];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sitecore-jss/sitecore-jss-react",
3
- "version": "21.0.1",
3
+ "version": "21.0.3",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "sideEffects": false,
@@ -61,7 +61,7 @@
61
61
  "react-dom": "^18.1.0"
62
62
  },
63
63
  "dependencies": {
64
- "@sitecore-jss/sitecore-jss": "^21.0.1",
64
+ "@sitecore-jss/sitecore-jss": "^21.0.3",
65
65
  "deep-equal": "^2.0.5",
66
66
  "html-react-parser": "^3.0.0",
67
67
  "prop-types": "^15.7.2",
@@ -69,7 +69,7 @@
69
69
  },
70
70
  "description": "",
71
71
  "types": "types/index.d.ts",
72
- "gitHead": "a8ce6e1211ed8fea0d59786527f67348423932b5",
72
+ "gitHead": "7af7750d21733a3b83931dc81f950a925edd72d0",
73
73
  "files": [
74
74
  "dist",
75
75
  "types"