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