Skip to content

Commit cc7a422

Browse files
author
Gurzhyi, Andrii
committed
Merge branch 'MAGETWO-42231-PR' of github.corp.magento.com:magento-mpi/magento2ce into MPI-S73-PR
Conflicts: composer.lock
2 parents 64655a6 + ee523f4 commit cc7a422

Some content is hidden

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

51 files changed

+4755
-131
lines changed

app/code/Magento/Checkout/view/frontend/web/js/view/payment/list.js

Lines changed: 41 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ define([
5454
*/
5555
initChildren: function () {
5656
var self = this;
57+
5758
_.each(paymentMethods(), function (paymentMethodData) {
5859
self.createRenderer(paymentMethodData);
5960
});
@@ -62,50 +63,55 @@ define([
6263
},
6364

6465
/**
65-
* Create renderer.
66-
*
67-
* @param {Object} paymentMethodData
66+
* @returns
6867
*/
69-
createRenderer: function (paymentMethodData) {
70-
var renderer = this.getRendererByType(paymentMethodData.method),
71-
rendererTemplate,
68+
createComponent: function (payment) {
69+
var rendererTemplate,
7270
rendererComponent,
7371
templateData;
7472

75-
if (renderer) {
76-
templateData = {
77-
parentName: this.name,
78-
name: paymentMethodData.method
79-
};
80-
rendererTemplate = {
81-
parent: '${ $.$data.parentName }',
82-
name: '${ $.$data.name }',
83-
displayArea: 'payment-method-items',
84-
component: renderer.component
85-
};
86-
rendererComponent = utils.template(rendererTemplate, templateData);
87-
utils.extend(rendererComponent, {
88-
item: paymentMethodData
89-
});
90-
layout([rendererComponent]);
91-
}
73+
templateData = {
74+
parentName: this.name,
75+
name: payment.name
76+
};
77+
rendererTemplate = {
78+
parent: '${ $.$data.parentName }',
79+
name: '${ $.$data.name }',
80+
displayArea: 'payment-method-items',
81+
component: payment.component
82+
};
83+
rendererComponent = utils.template(rendererTemplate, templateData);
84+
utils.extend(rendererComponent, {
85+
item: payment.item,
86+
config: payment.config
87+
});
88+
89+
return rendererComponent;
9290
},
9391

9492
/**
95-
* Get renderer for payment method type.
93+
* Create renderer.
9694
*
97-
* @param {String} paymentMethodCode
98-
* @returns {Object}
95+
* @param {Object} paymentMethodData
9996
*/
100-
getRendererByType: function (paymentMethodCode) {
101-
var compatibleRenderer;
97+
createRenderer: function (paymentMethodData) {
10298
_.find(rendererList(), function (renderer) {
103-
if (renderer.type === paymentMethodCode) {
104-
compatibleRenderer = renderer;
99+
if (renderer.type.indexOf(paymentMethodData.method) === 0) {
100+
layout(
101+
[
102+
this.createComponent(
103+
{
104+
config: renderer.config,
105+
component: renderer.component,
106+
name: renderer.type,
107+
method: paymentMethodData.method,
108+
item: paymentMethodData
109+
}
110+
)
111+
]
112+
);
105113
}
106-
});
107-
108-
return compatibleRenderer;
114+
}.bind(this));
109115
},
110116

111117
/**
@@ -115,8 +121,9 @@ define([
115121
*/
116122
removeRenderer: function (paymentMethodCode) {
117123
var items = this.getRegion('payment-method-items');
124+
118125
_.find(items(), function (value) {
119-
if (value.item.method === paymentMethodCode) {
126+
if (value.item.method.indexOf(paymentMethodCode) === 0) {
120127
value.disposeSubscriptions();
121128
this.removeChild(value);
122129
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Payment\Gateway;
7+
8+
/**
9+
* Interface CommandExecutorInterface
10+
*/
11+
interface CommandExecutorInterface
12+
{
13+
/**
14+
* Performs command
15+
*
16+
* @param string $commandCode
17+
* @param array $arguments
18+
* @return null|Command\ResultInterface
19+
*/
20+
public function executeCommand($commandCode, array $arguments = []);
21+
}

0 commit comments

Comments
 (0)