Skip to content
This repository was archived by the owner on Apr 29, 2019. It is now read-only.

Commit 9dfd2b2

Browse files
authored
Merge pull request #2540 from magento-tsg/2.3-develop-pr18
[TSG] Upporting for 2.3 (pr18) (2.3.0)
2 parents 08ccf75 + b807228 commit 9dfd2b2

File tree

52 files changed

+1483
-509
lines changed

Some content is hidden

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

52 files changed

+1483
-509
lines changed

app/code/Magento/Catalog/Block/Product/ProductList/Toolbar.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,7 @@ public function getWidgetOptionsJson(array $customOptions = [])
689689
'limit' => ToolbarModel::LIMIT_PARAM_NAME,
690690
'modeDefault' => $defaultMode,
691691
'directionDefault' => $this->_direction ?: ProductList::DEFAULT_SORT_DIRECTION,
692-
'orderDefault' => $this->_productListHelper->getDefaultSortField(),
692+
'orderDefault' => $this->getOrderField(),
693693
'limitDefault' => $this->_productListHelper->getDefaultLimitPerPageValue($defaultMode),
694694
'url' => $this->getPagerUrl(),
695695
];

app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Attributes.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,11 @@ private function customizeAddAttributeModal(array $meta)
182182
. '.create_new_attribute_modal',
183183
'actionName' => 'toggleModal',
184184
],
185+
[
186+
'targetName' => 'product_form.product_form.add_attribute_modal'
187+
. '.create_new_attribute_modal.product_attribute_add_form',
188+
'actionName' => 'destroyInserted'
189+
],
185190
[
186191
'targetName'
187192
=> 'product_form.product_form.add_attribute_modal'

app/code/Magento/Catalog/view/adminhtml/requirejs-config.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
var config = {
77
map: {
88
'*': {
9-
categoryForm: 'Magento_Catalog/catalog/category/form',
10-
newCategoryDialog: 'Magento_Catalog/js/new-category-dialog',
11-
categoryTree: 'Magento_Catalog/js/category-tree',
12-
productGallery: 'Magento_Catalog/js/product-gallery',
13-
baseImage: 'Magento_Catalog/catalog/base-image-uploader',
14-
productAttributes: 'Magento_Catalog/catalog/product-attributes'
9+
categoryForm: 'Magento_Catalog/catalog/category/form',
10+
newCategoryDialog: 'Magento_Catalog/js/new-category-dialog',
11+
categoryTree: 'Magento_Catalog/js/category-tree',
12+
productGallery: 'Magento_Catalog/js/product-gallery',
13+
baseImage: 'Magento_Catalog/catalog/base-image-uploader',
14+
productAttributes: 'Magento_Catalog/catalog/product-attributes',
15+
categoryCheckboxTree: 'Magento_Catalog/js/category-checkbox-tree'
1516
}
1617
},
1718
deps: [

app/code/Magento/Catalog/view/adminhtml/templates/catalog/category/checkboxes/tree.phtml

Lines changed: 22 additions & 176 deletions
Original file line numberDiff line numberDiff line change
@@ -5,187 +5,33 @@
55
*/
66

77
// @codingStandardsIgnoreFile
8-
9-
?>
10-
11-
<?php $_divId = 'tree-div_' . time() ?>
12-
<div id="<?= /* @escapeNotVerified */ $_divId ?>" class="tree"></div>
13-
<script id="ie-deferred-loader" defer="defer" src="//:"></script>
14-
<script>
15-
require([
16-
'jquery',
17-
"prototype",
18-
"extjs/ext-tree-checkbox",
19-
"mage/adminhtml/form"
20-
], function(jQuery){
21-
22-
//<![CDATA[
23-
24-
// TODO: cleanup this script. It was copypasted from catalog/category/tree
25-
26-
var tree;
27-
288
/**
29-
* Fix ext compatibility with prototype 1.6
9+
* @var $block \Magento\Catalog\Block\Adminhtml\Category\Tree
3010
*/
31-
Ext.lib.Event.getTarget = function(e) {
32-
var ee = e.browserEvent || e;
33-
return ee.target ? Event.element(ee) : null;
34-
};
35-
36-
Ext.tree.TreePanel.Enhanced = function(el, config)
37-
{
38-
Ext.tree.TreePanel.Enhanced.superclass.constructor.call(this, el, config);
39-
};
40-
41-
Ext.extend(Ext.tree.TreePanel.Enhanced, Ext.tree.TreePanel, {
42-
43-
loadTree : function(config, firstLoad)
44-
{
45-
var parameters = config['parameters'];
46-
var data = config['data'];
47-
48-
if ((typeof parameters['root_visible']) != 'undefined') {
49-
this.rootVisible = parameters['root_visible']*1;
50-
}
51-
52-
var root = new Ext.tree.TreeNode(parameters);
53-
54-
this.nodeHash = {};
55-
this.setRootNode(root);
56-
57-
if (firstLoad) {
58-
this.addListener('click', this.categoryClick.createDelegate(this));
59-
}
60-
61-
this.loader.buildCategoryTree(root, data);
62-
this.el.dom.innerHTML = '';
63-
// render the tree
64-
this.render();
65-
},
66-
67-
categoryClick : function(node, e)
68-
{
69-
node.getUI().check(!node.getUI().checked());
70-
}
71-
});
72-
73-
jQuery(function()
74-
{
75-
var categoryLoader = new Ext.tree.TreeLoader({
76-
dataUrl: '<?= /* @escapeNotVerified */ $block->getLoadTreeUrl() ?>'
77-
});
78-
79-
categoryLoader.createNode = function(config) {
80-
config.uiProvider = Ext.tree.CheckboxNodeUI;
81-
var node;
82-
var _node = Object.clone(config);
83-
if (config.children && !config.children.length) {
84-
delete(config.children);
85-
node = new Ext.tree.AsyncTreeNode(config);
86-
} else {
87-
node = new Ext.tree.TreeNode(config);
88-
}
89-
90-
return node;
91-
};
92-
93-
categoryLoader.buildCategoryTree = function(parent, config)
94-
{
95-
if (!config) return null;
11+
?>
9612

97-
if (parent && config && config.length){
98-
for (var i = 0; i < config.length; i++) {
99-
config[i].uiProvider = Ext.tree.CheckboxNodeUI;
100-
var node;
101-
var _node = Object.clone(config[i]);
102-
if (_node.children && !_node.children.length) {
103-
delete(_node.children);
104-
node = new Ext.tree.AsyncTreeNode(_node);
105-
} else {
106-
node = new Ext.tree.TreeNode(config[i]);
107-
}
108-
parent.appendChild(node);
109-
node.loader = node.getOwnerTree().loader;
110-
if (_node.children) {
111-
this.buildCategoryTree(node, _node.children);
112-
}
113-
}
114-
}
115-
};
13+
<?php $divId = $block->escapeHtml('tree-div_' . time()) ?>
14+
<div id="<?= /* @noEscape */ $divId ?>" class="tree"></div>
15+
<script id="ie-deferred-loader" defer="defer" src="//:"></script>
11616

117-
categoryLoader.buildHash = function(node)
17+
<script type="text/x-magento-init">
11818
{
119-
var hash = {};
120-
121-
hash = this.toArray(node.attributes);
122-
123-
if (node.childNodes.length>0 || (node.loaded==false && node.loading==false)) {
124-
hash['children'] = new Array;
125-
126-
for (var i = 0, len = node.childNodes.length; i < len; i++) {
127-
if (!hash['children']) {
128-
hash['children'] = new Array;
129-
}
130-
hash['children'].push(this.buildHash(node.childNodes[i]));
19+
"*": {
20+
"categoryCheckboxTree": {
21+
"dataUrl": "<?= $block->escapeUrl($block->getLoadTreeUrl()) ?>",
22+
"divId": "<?= /* @noEscape */ $divId ?>",
23+
"rootVisible": <?= /* @noEscape */ $block->getRoot()->getIsVisible() ? 'true' : 'false' ?>,
24+
"useAjax": <?= $block->escapeHtml($block->getUseAjax()) ?>,
25+
"currentNodeId": <?= (int)$block->getCategoryId() ?>,
26+
"jsFormObject": "<?= /* @noEscape */ $block->getJsFormObject() ?>",
27+
"name": "<?= $block->escapeHtml($block->getRoot()->getName()) ?>",
28+
"checked": "<?= $block->escapeHtml($block->getRoot()->getChecked()) ?>",
29+
"allowdDrop": <?= /* @noEscape */ $block->getRoot()->getIsVisible() ? 'true' : 'false' ?>,
30+
"rootId": <?= (int)$block->getRoot()->getId() ?>,
31+
"expanded": <?= (int)$block->getIsWasExpanded() ?>,
32+
"categoryId": <?= (int)$block->getCategoryId() ?>,
33+
"treeJson": <?= /* @noEscape */ $block->getTreeJson() ?>
13134
}
13235
}
133-
134-
return hash;
135-
};
136-
137-
categoryLoader.toArray = function(attributes) {
138-
var data = {};
139-
for (var key in attributes) {
140-
var value = attributes[key];
141-
data[key] = value;
142-
}
143-
144-
return data;
145-
};
146-
147-
categoryLoader.on("beforeload", function(treeLoader, node) {
148-
treeLoader.baseParams.id = node.attributes.id;
149-
});
150-
151-
categoryLoader.on("load", function(treeLoader, node, config) {
152-
varienWindowOnload();
153-
});
154-
155-
tree = new Ext.tree.TreePanel.Enhanced('<?= /* @escapeNotVerified */ $_divId ?>', {
156-
animate: false,
157-
loader: categoryLoader,
158-
enableDD: false,
159-
containerScroll: true,
160-
selModel: new Ext.tree.CheckNodeMultiSelectionModel(),
161-
rootVisible: '<?= /* @escapeNotVerified */ $block->getRoot()->getIsVisible() ?>',
162-
useAjax: <?= /* @escapeNotVerified */ $block->getUseAjax() ?>,
163-
currentNodeId: <?= (int) $block->getCategoryId() ?>,
164-
addNodeTo: false,
165-
rootUIProvider: Ext.tree.CheckboxNodeUI
166-
});
167-
168-
tree.on('check', function(node, checked) {
169-
<?= /* @escapeNotVerified */ $block->getJsFormObject() ?>.updateElement.value = this.getChecked().join(', ');
170-
varienElementMethods.setHasChanges(node.getUI().checkbox);
171-
}, tree);
172-
173-
// set the root node
174-
var parameters = {
175-
text: '<?= /* @escapeNotVerified */ htmlentities($block->getRoot()->getName()) ?>',
176-
draggable: false,
177-
checked:'<?= /* @escapeNotVerified */ $block->getRoot()->getChecked() ?>',
178-
uiProvider: Ext.tree.CheckboxNodeUI,
179-
allowDrop: <?php if ($block->getRoot()->getIsVisible()): ?>true<?php else : ?>false<?php endif; ?>,
180-
id: <?= (int) $block->getRoot()->getId() ?>,
181-
expanded: <?= (int) $block->getIsWasExpanded() ?>,
182-
category_id: <?= (int) $block->getCategoryId() ?>
183-
};
184-
185-
tree.loadTree({parameters:parameters, data:<?= /* @escapeNotVerified */ $block->getTreeJson() ?>},true);
186-
187-
});
188-
//]]>
189-
190-
});
36+
}
19137
</script>

app/code/Magento/Catalog/view/adminhtml/ui_component/product_attribute_add_form.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,6 @@
152152
<item name="isTemplate" xsi:type="boolean">true</item>
153153
<item name="is_collection" xsi:type="boolean">true</item>
154154
<item name="componentType" xsi:type="string">container</item>
155-
<item name="positionProvider" xsi:type="string">attribute_options.position</item>
156155
</item>
157156
</argument>
158157
<field name="is_default" component="Magento_Catalog/js/form/element/checkbox" sortOrder="0" formElement="checkbox">
@@ -189,12 +188,8 @@
189188
</item>
190189
</argument>
191190
<settings>
192-
<additionalClasses>
193-
<class name="_hidden">true</class>
194-
</additionalClasses>
195191
<dataType>text</dataType>
196192
<visible>false</visible>
197-
<dataScope>position</dataScope>
198193
</settings>
199194
</field>
200195
</container>

0 commit comments

Comments
 (0)