Skip to content

Commit f3d0668

Browse files
committed
Merge remote-tracking branch 'mainline/develop' into PB-api
# Conflicts: # app/code/Magento/PageBuilder/view/adminhtml/web/js/converter/style/margins-and-paddings.js # app/code/Magento/PageBuilder/view/adminhtml/web/js/master-format/read/appearance/slide/collage.js # app/code/Magento/PageBuilder/view/adminhtml/web/js/master-format/read/slide.js # app/code/Magento/PageBuilder/view/adminhtml/web/js/master-format/read/tabs.js # app/code/Magento/PageBuilder/view/adminhtml/web/js/property/margins-and-paddings.js # app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/converter/style/margins-and-paddings.ts # app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/master-format/read/appearance/slide/collage.ts # app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/master-format/read/slide.ts # app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/master-format/read/tabs.ts # app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/property/margins-and-paddings.ts # app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/property/paddings.ts # app/code/Magento/PageBuilder/view/base/pagebuilder/content_type/newsletter.xml
2 parents 0e93b43 + bbfb539 commit f3d0668

File tree

170 files changed

+3308
-3241
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+3308
-3241
lines changed

app/code/Magento/PageBuilder/Model/Config/ContentType/AdditionalData/Parser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public function __construct(
3030
}
3131

3232
/**
33-
* Convert and evaluate additional data from arguments nodes to array
33+
* Convert and evaluate additional data from item nodes to array
3434
*
3535
* @param array $additionalData
3636
* @return array

app/code/Magento/PageBuilder/Model/Config/ContentType/Converter.php

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ private function convertTypes(\DOMDocument $source): array
5555
/** @var \DOMNode $contentType */
5656
foreach ($contentTypes as $contentType) {
5757
$name = $contentType->attributes->getNamedItem('name')->nodeValue;
58+
/** @var \DOMElement $attributeValue */
59+
foreach ($contentType->attributes as $attributeName => $attributeValue) {
60+
$typesData[$name][$attributeName] = $attributeValue->nodeValue;
61+
}
5862
/** @var \DOMElement $childNode */
5963
foreach ($contentType->childNodes as $childNode) {
6064
if ($this->isConfigNode($childNode)) {
@@ -113,14 +117,6 @@ private function convertAppearanceData(\DOMElement $appearanceNode): array
113117
$appearanceData,
114118
$this->convertAppearanceProperties($appearanceNode)
115119
);
116-
$previewTemplateNode = $appearanceNode->getElementsByTagName('preview_template')->item(0);
117-
if ($previewTemplateNode) {
118-
$appearanceData['preview_template'] = $previewTemplateNode->nodeValue;
119-
}
120-
$renderTemplateNode = $appearanceNode->getElementsByTagName('render_template')->item(0);
121-
if ($renderTemplateNode) {
122-
$appearanceData['render_template'] = $renderTemplateNode->nodeValue;
123-
}
124120
$readerNode = $appearanceNode->getElementsByTagName('reader')->item(0);
125121
if ($readerNode && $readerNode->nodeValue) {
126122
$appearanceData['readers'] = [$readerNode->nodeValue];
@@ -131,6 +127,9 @@ private function convertAppearanceData(\DOMElement $appearanceNode): array
131127
if ($dataMappingNode) {
132128
$appearanceData['data_mapping'] = $this->convertDataMapping($dataMappingNode);
133129
}
130+
$appearanceData['preview_template'] = $this->getAttributeValue($appearanceNode, 'preview_template');
131+
$appearanceData['render_template'] = $this->getAttributeValue($appearanceNode, 'render_template');
132+
$appearanceData['reader'] = $this->getAttributeValue($appearanceNode, 'reader');
134133
$appearanceData['default'] = $this->getAttributeValue($appearanceNode, 'default');
135134
$formNode = $appearanceNode->getElementsByTagName('form')->item(0);
136135
if ($formNode && $formNode->nodeValue) {
@@ -232,22 +231,23 @@ private function convertDataMapping(\DOMElement $childNode): array
232231
private function convertAdditionalData(\DOMElement $elementNode): array
233232
{
234233
$additionalData = [];
235-
$xmlArgumentsNodes = $elementNode->getElementsByTagName('arguments');
234+
$xmlItemNodes = $elementNode->childNodes;
236235

237-
if (!$xmlArgumentsNodes->length) {
236+
if (!$xmlItemNodes->length) {
238237
return $additionalData;
239238
}
240239

241-
/** @var $xmlArgumentsNode \DOMElement */
242-
foreach ($xmlArgumentsNodes as $xmlArgumentsNode) {
243-
$parsedArgumentsData = $this->parser->parse($xmlArgumentsNode);
244-
$argumentName = $xmlArgumentsNode->attributes->getNamedItem('name')->nodeValue;
240+
/** @var $xmlItemNode \DOMElement */
241+
foreach ($xmlItemNodes as $xmlItemNode) {
242+
if ($xmlItemNode->nodeType == XML_ELEMENT_NODE && $xmlItemNode->nodeName === 'item') {
243+
$parsedItemData = $this->parser->parse($xmlItemNode);
244+
$itemName = $xmlItemNode->attributes->getNamedItem('name')->nodeValue;
245245

246-
if (!isset($additionalData[$argumentName])) {
247-
$additionalData[$argumentName] = [];
246+
if (!isset($additionalData[$itemName])) {
247+
$additionalData[$itemName] = [];
248+
}
249+
$additionalData[$itemName] += $parsedItemData;
248250
}
249-
250-
$additionalData[$argumentName] += $parsedArgumentsData;
251251
}
252252

253253
return $additionalData;

app/code/Magento/PageBuilder/Model/Config/ContentType/Reader.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class Reader extends \Magento\Framework\Config\Reader\Filesystem
2929
=> 'name',
3030
self::TYPE_PATH . '/appearances/appearance/data_mapping/elements/element/style_properties/static_property'
3131
=> 'source',
32-
self::TYPE_PATH . '/additional_data/arguments' => 'name',
32+
self::TYPE_PATH . '/additional_data/item' => 'name',
3333
self::TYPE_PATH . '/appearances/appearance/data_mapping/elements/element/attributes/attribute' => 'name',
3434
self::TYPE_PATH . '/appearances/appearance/data_mapping/elements/element/attributes/complex_attribute'
3535
=> 'name',

app/code/Magento/PageBuilder/Model/Config/Group/Converter.php

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,10 @@ private function convertGroups(\DOMDocument $source): array
3939
foreach ($groups->item(0)->childNodes as $group) {
4040
if ($group->nodeType == XML_ELEMENT_NODE && $group->tagName == 'group') {
4141
$name = $group->attributes->getNamedItem('name')->nodeValue;
42-
/** @var \DOMElement $childNode */
43-
foreach ($group->childNodes as $childNode) {
44-
if ($this->isConfigNode($childNode)) {
45-
$groupsData[$name][$childNode->nodeName] = $childNode->nodeValue;
46-
}
42+
/** @var \DOMElement $attributeValue */
43+
foreach ($group->attributes as $attributeName => $attributeValue) {
44+
$groupsData[$name][$attributeName] = $attributeValue->nodeValue;
4745
}
48-
$groupsData[$name]['sortOrder'] = $group->hasAttribute('sortOrder')
49-
? $group->attributes->getNamedItem('sortOrder')->nodeValue
50-
: null;
5146
}
5247
}
5348
uasort($groupsData, function ($firstElement, $secondElement) {
@@ -56,18 +51,4 @@ private function convertGroups(\DOMDocument $source): array
5651

5752
return $groupsData;
5853
}
59-
60-
/**
61-
* Check if node is configuration node
62-
*
63-
* @param \DOMNode $node
64-
* @return bool
65-
*/
66-
private function isConfigNode(\DOMNode $node): bool
67-
{
68-
return $node->nodeType === XML_ELEMENT_NODE
69-
|| ($node->nodeType === XML_CDATA_SECTION_NODE
70-
|| $node->nodeType === XML_TEXT_NODE
71-
&& trim($node->nodeValue) !== '');
72-
}
7354
}

0 commit comments

Comments
 (0)