diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/summary/shipping.js b/app/code/Magento/Checkout/view/frontend/web/js/view/summary/shipping.js
index 22e278bea947e..a0bbc9dd55bff 100644
--- a/app/code/Magento/Checkout/view/frontend/web/js/view/summary/shipping.js
+++ b/app/code/Magento/Checkout/view/frontend/web/js/view/summary/shipping.js
@@ -5,10 +5,11 @@
define([
'jquery',
+ 'underscore',
'Magento_Checkout/js/view/summary/abstract-total',
'Magento_Checkout/js/model/quote',
'Magento_SalesRule/js/view/summary/discount'
-], function ($, Component, quote, discountView) {
+], function ($, _, Component, quote, discountView) {
'use strict';
return Component.extend({
@@ -22,7 +23,7 @@ define([
* @return {*}
*/
getShippingMethodTitle: function () {
- var shippingMethod = '',
+ var shippingMethod,
shippingMethodTitle = '';
if (!this.isCalculated()) {
@@ -30,11 +31,15 @@ define([
}
shippingMethod = quote.shippingMethod();
+ if (!_.isArray(shippingMethod) && !_.isObject(shippingMethod)) {
+ return '';
+ }
+
if (typeof shippingMethod['method_title'] !== 'undefined') {
shippingMethodTitle = ' - ' + shippingMethod['method_title'];
}
- return shippingMethod ?
+ return shippingMethodTitle ?
shippingMethod['carrier_title'] + shippingMethodTitle :
shippingMethod['carrier_title'];
},
diff --git a/app/code/Magento/Customer/view/frontend/templates/form/edit.phtml b/app/code/Magento/Customer/view/frontend/templates/form/edit.phtml
index 2718f03909be2..e2b6792439576 100644
--- a/app/code/Magento/Customer/view/frontend/templates/form/edit.phtml
+++ b/app/code/Magento/Customer/view/frontend/templates/form/edit.phtml
@@ -67,7 +67,7 @@
-
+
isEnabled() ? '\'input[id$="full"]\'' : 'null' ?>;
-
+
dataForm.mage('validation', {
isEnabled()) : ?>
errorPlacement: function(error, element) {
diff --git a/lib/web/css/source/lib/_navigation.less b/lib/web/css/source/lib/_navigation.less
index 21cb5fe0a004b..9b13c28227eb9 100644
--- a/lib/web/css/source/lib/_navigation.less
+++ b/lib/web/css/source/lib/_navigation.less
@@ -338,7 +338,7 @@
top: 0;
left: 100%;
width: 10px;
- height: calc(100% + 3px);
+ height: calc(~'100% + 3px');
z-index: 1;
}
}
diff --git a/lib/web/mage/tabs.js b/lib/web/mage/tabs.js
index 496a271c631f2..b007d6113eca6 100644
--- a/lib/web/mage/tabs.js
+++ b/lib/web/mage/tabs.js
@@ -102,21 +102,31 @@ define([
* @private
*/
_processPanels: function () {
- this.contents = this.element.find(this.options.content);
+ var isNotNested = this._isNotNested.bind(this);
- this.collapsibles = this.element.find(this.options.collapsibleElement);
+ this.contents = this.element
+ .find(this.options.content)
+ .filter(isNotNested);
+
+ this.collapsibles = this.element
+ .find(this.options.collapsibleElement)
+ .filter(isNotNested);
this.collapsibles
.attr('role', 'presentation')
.parent()
.attr('role', 'tablist');
- this.headers = this.element.find(this.options.header);
+ this.headers = this.element
+ .find(this.options.header)
+ .filter(isNotNested);
if (this.headers.length === 0) {
this.headers = this.collapsibles;
}
- this.triggers = this.element.find(this.options.trigger);
+ this.triggers = this.element
+ .find(this.options.trigger)
+ .filter(isNotNested);
if (this.triggers.length === 0) {
this.triggers = this.headers;
@@ -124,6 +134,19 @@ define([
this._callCollapsible();
},
+ /**
+ * Checks if element is not in nested container to keep the correct scope of collapsible
+ * @param {Number} index
+ * @param {HTMLElement} element
+ * @private
+ * @return {Boolean}
+ */
+ _isNotNested: function (index, element) {
+ var parentContent = $(element).parents(this.options.content);
+
+ return !parentContent.length || !this.element.find(parentContent).length;
+ },
+
/**
* Setting the disabled and active tabs and calling instantiation of collapsible
* @private