diff --git a/app/code/Magento/AdminNotification/view/adminhtml/layout/default.xml b/app/code/Magento/AdminNotification/view/adminhtml/layout/default.xml index a7183277e514bfb390d08cf0241e9e3f3c581661..e3d32f17b6356bc974627b0daaba5dca5c467eea 100644 --- a/app/code/Magento/AdminNotification/view/adminhtml/layout/default.xml +++ b/app/code/Magento/AdminNotification/view/adminhtml/layout/default.xml @@ -8,9 +8,20 @@ <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="notifications"> - <block class="Magento\AdminNotification\Block\System\Messages" name="system_messages" as="system_messages" before="-" template="Magento_AdminNotification::system/messages.phtml"/> - <block class="Magento\AdminNotification\Block\System\Messages\UnreadMessagePopup" name="unread_system_messages" as="unread_system_messages" after="system_messages" template="Magento_AdminNotification::system/messages/popup.phtml"/> - <block class="Magento\AdminNotification\Block\Window" name="notification_window" as="notification_window" acl="Magento_AdminNotification::show_toolbar" template="notification/window.phtml"/> + <block class="Magento\AdminNotification\Block\System\Messages" + name="system_messages" + as="system_messages" + before="-" + template="Magento_AdminNotification::system/messages.phtml"/> + <block class="Magento\AdminNotification\Block\System\Messages\UnreadMessagePopup" + name="unread_system_messages" + as="unread_system_messages" + template="Magento_AdminNotification::system/messages/popup.phtml"/> + <block class="Magento\AdminNotification\Block\Window" + name="notification_window" + as="notification_window" + acl="Magento_AdminNotification::show_toolbar" + template="notification/window.phtml"/> </referenceContainer> <referenceContainer name="header"> <block class="Magento\AdminNotification\Block\ToolbarEntry" name="notification.messages" before="user" template="toolbar_entry.phtml"/> diff --git a/app/code/Magento/Braintree/view/adminhtml/layout/sales_order_create_index.xml b/app/code/Magento/Braintree/view/adminhtml/layout/sales_order_create_index.xml index 76f6b5a4d616cc4da49008649411fd8c2afe6689..5c519899208db8fd966552bab21ec893b7b6477f 100644 --- a/app/code/Magento/Braintree/view/adminhtml/layout/sales_order_create_index.xml +++ b/app/code/Magento/Braintree/view/adminhtml/layout/sales_order_create_index.xml @@ -19,12 +19,12 @@ <argument name="template" xsi:type="string">Magento_Vault::form/vault.phtml</argument> </action> </referenceBlock> - <referenceBlock name="content"> + <referenceBlock name="data"> <block name="braintree_payment_script" as="braintree_payment_script" - after="billing_method" template="Magento_Braintree::payment/script.phtml" - class="Magento\Braintree\Block\Payment"/> + class="Magento\Braintree\Block\Payment" + after="billing_method"/> </referenceBlock> </body> </page> diff --git a/app/code/Magento/Bundle/view/frontend/layout/catalog_product_view_type_bundle.xml b/app/code/Magento/Bundle/view/frontend/layout/catalog_product_view_type_bundle.xml index ab0d6c303b2e7a4b273c28c1f01d822fa8416e98..5ab962f0b91b55dd6f617b97fa0f92e73cde766e 100644 --- a/app/code/Magento/Bundle/view/frontend/layout/catalog_product_view_type_bundle.xml +++ b/app/code/Magento/Bundle/view/frontend/layout/catalog_product_view_type_bundle.xml @@ -36,7 +36,7 @@ </block> </referenceBlock> <referenceBlock name="product.info.form.options"> - <container name="bundle.product.options.wrapper" htmlTag="div" htmlClass="bundle-options-wrapper" after="product.info.form.options" /> + <container name="bundle.product.options.wrapper" htmlTag="div" htmlClass="bundle-options-wrapper"/> </referenceBlock> <move element="product.info.options.wrapper" destination="bundle.product.options.wrapper" before="-" /> <move element="product.info.options.wrapper.bottom" destination="bundle.product.options.wrapper" after="product.info.options.wrapper" /> diff --git a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_set_edit.xml b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_set_edit.xml index 1c7ae6de66ed062c751ddfa23e062c4b24d9a453..d61a2c344d666277fa2312ffea0c3f10c30d576c 100644 --- a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_set_edit.xml +++ b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_set_edit.xml @@ -9,7 +9,9 @@ <body> <referenceContainer name="content"> <container name="adminhtml.catalog.product.set.edit.wrapper" htmlTag="div" htmlClass="admin__scope-old"><!-- @todo ui: remove arguments within .admin__scope-old --> - <block class="Magento\Catalog\Block\Adminhtml\Product\Attribute\Set\Main" name="adminhtml.catalog.product.set.edit" template="catalog/product/attribute/set/main.phtml"/> + <block class="Magento\Catalog\Block\Adminhtml\Product\Attribute\Set\Main" + name="adminhtml.catalog.product.set.edit" + template="catalog/product/attribute/set/main.phtml"/> </container> </referenceContainer> </body> diff --git a/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml b/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml index f7f1ee4ae54b7d81c8b8c9b13203481203b732d2..991d9a36d18e04c7e8b17744dd3b2d32981fdc18 100644 --- a/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml +++ b/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml @@ -30,7 +30,7 @@ </referenceBlock> <referenceContainer name="content"> <container name="product.info.main" htmlTag="div" htmlClass="product-info-main" before="-"> - <container name="product.info.price" label="Product info auxiliary container" htmlTag="div" htmlClass="product-info-price" after="product.info.review"> + <container name="product.info.price" label="Product info auxiliary container" htmlTag="div" htmlClass="product-info-price"> <container name="product.info.stock.sku" label="Product auxiliary info" htmlTag="div" htmlClass="product-info-stock-sku"> <container name="product.info.type" before="-"/> <block class="Magento\Catalog\Block\Product\View\Description" name="product.info.sku" template="product/view/attribute.phtml" after="product.info.type"> @@ -44,7 +44,7 @@ </block> </container> <block class="Magento\Catalog\Block\Product\View" name="product.info.review" template="product/view/review.phtml" after="product.info.stock.sku" /> - <block class="Magento\Catalog\Pricing\Render" name="product.price.final" after="product.info.sku"> + <block class="Magento\Catalog\Pricing\Render" name="product.price.final"> <arguments> <argument name="price_render" xsi:type="string">product.price.render.default</argument> <argument name="price_type_code" xsi:type="string">final_price</argument> @@ -81,7 +81,7 @@ </block> </block> <container name="product.info.extrahint" as="extrahint" label="Product View Extra Hint"> - <container name="product.info.social" label="Product social links container" htmlTag="div" htmlClass="product-social-links" after="product.info.overview"> + <container name="product.info.social" label="Product social links container" htmlTag="div" htmlClass="product-social-links"> <block class="Magento\Catalog\Block\Product\View" name="product.info.addto" as="addto" template="product/view/addto.phtml"> <block class="Magento\Catalog\Block\Product\View\AddTo\Compare" name="view.addto.compare" after="view.addto.wishlist" template="Magento_Catalog::product/view/addto/compare.phtml" /> diff --git a/app/code/Magento/CatalogRule/view/adminhtml/layout/catalog_rule_promo_catalog_edit.xml b/app/code/Magento/CatalogRule/view/adminhtml/layout/catalog_rule_promo_catalog_edit.xml index 37a39835fe9f6d1fefe54b2e629ebb8d1cc871da..ef8a6e758bac1c470dd9d80bca27e302db828ba7 100644 --- a/app/code/Magento/CatalogRule/view/adminhtml/layout/catalog_rule_promo_catalog_edit.xml +++ b/app/code/Magento/CatalogRule/view/adminhtml/layout/catalog_rule_promo_catalog_edit.xml @@ -5,21 +5,21 @@ * See COPYING.txt for license details. */ --> -<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> +<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="content"> <referenceBlock name="catalog_rule_form"> <block class="Magento\CatalogRule\Block\Adminhtml\Promo\Catalog\Edit\Tab\Conditions" name="promo_catalog_edit_tab_conditions"> <arguments> - <argument name="config" xsi:type="array"> - <item name="label" xsi:type="string" translate="true">Conditions</item> - <item name="collapsible" xsi:type="boolean">true</item> - <item name="opened" xsi:type="boolean">false</item> - <item name="sortOrder" xsi:type="number">20</item> - <item name="canShow" xsi:type="boolean">true</item> - <item name="componentType" xsi:type="string">fieldset</item> - </argument> - </arguments> + <argument name="config" xsi:type="array"> + <item name="label" xsi:type="string" translate="true">Conditions</item> + <item name="collapsible" xsi:type="boolean">true</item> + <item name="opened" xsi:type="boolean">false</item> + <item name="sortOrder" xsi:type="number">20</item> + <item name="canShow" xsi:type="boolean">true</item> + <item name="componentType" xsi:type="string">fieldset</item> + </argument> + </arguments> </block> </referenceBlock> <uiComponent name="catalog_rule_form"/> diff --git a/app/code/Magento/ConfigurableProduct/view/adminhtml/layout/catalog_product_set_edit.xml b/app/code/Magento/ConfigurableProduct/view/adminhtml/layout/catalog_product_set_edit.xml index 9a56d1f172cd4ee4c354bdbb91896f7d82f0f336..a72f712e77f3f6fa3f4aa4855c91ef33268e65fe 100644 --- a/app/code/Magento/ConfigurableProduct/view/adminhtml/layout/catalog_product_set_edit.xml +++ b/app/code/Magento/ConfigurableProduct/view/adminhtml/layout/catalog_product_set_edit.xml @@ -8,7 +8,10 @@ <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="content"> - <block class="Magento\Backend\Block\Template" name="adminhtml.catalog.product.set.edit.configurable" template="Magento_ConfigurableProduct::catalog/product/attribute/set/js.phtml" after="adminhtml.catalog.product.set.edit"/> + <block class="Magento\Backend\Block\Template" + name="adminhtml.catalog.product.set.edit.configurable" + template="Magento_ConfigurableProduct::catalog/product/attribute/set/js.phtml" + after="adminhtml.catalog.product.set.edit.wrapper"/> </referenceContainer> </body> </page> diff --git a/app/code/Magento/Cookie/view/frontend/layout/default.xml b/app/code/Magento/Cookie/view/frontend/layout/default.xml index d515c6a42a5e88fa1968658a407cbd0e7e0cb8fe..3e8bcafd3dba43b16d0721b8ba11c4d61b0656ea 100644 --- a/app/code/Magento/Cookie/view/frontend/layout/default.xml +++ b/app/code/Magento/Cookie/view/frontend/layout/default.xml @@ -8,7 +8,7 @@ <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="after.body.start"> - <block class="Magento\Cookie\Block\Html\Notices" name="cookie_notices" template="html/notices.phtml" after="global_notices" /> + <block class="Magento\Cookie\Block\Html\Notices" name="cookie_notices" template="html/notices.phtml"/> </referenceContainer> </body> </page> diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml index 5d1da28d4c189ff7deb870521137af6782280b24..c3a255192eb9b353fac275da89cc7afbbf25ce6e 100644 --- a/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml +++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml @@ -14,7 +14,6 @@ </action> </referenceBlock> <referenceContainer name="content"> - <block class="Magento\Framework\View\Element\Template" name="customer_account_dashboard_top" as="top"/> <block class="Magento\Customer\Block\Account\Dashboard\Info" name="customer_account_dashboard_info" as="info" template="account/dashboard/info.phtml" cacheable="false"/> <block class="Magento\Customer\Block\Account\Dashboard\Address" name="customer_account_dashboard_address" as="address" template="account/dashboard/address.phtml" cacheable="false"/> </referenceContainer> diff --git a/app/code/Magento/Customer/view/frontend/web/js/password-strength-indicator.js b/app/code/Magento/Customer/view/frontend/web/js/password-strength-indicator.js index 138ac06504155b3badcf6c8b032790e68fbb46f5..298af46103ec0eb80e18a01e7ec47cd418dd525c 100644 --- a/app/code/Magento/Customer/view/frontend/web/js/password-strength-indicator.js +++ b/app/code/Magento/Customer/view/frontend/web/js/password-strength-indicator.js @@ -17,7 +17,6 @@ define([ $.widget('mage.passwordStrengthIndicator', { options: { cache: {}, - defaultClassName: 'password-strength-meter-', passwordSelector: '[type=password]', passwordStrengthMeterSelector: '[data-role=password-strength-meter]', passwordStrengthMeterLabelSelector: '[data-role=password-strength-meter-label]' @@ -54,14 +53,15 @@ define([ var password = this._getPassword(), isEmpty = password.length === 0, zxcvbnScore = zxcvbn(password).score, - isValid = $.validator.validateSingleElement(this.options.cache.input), - displayScore = zxcvbnScore || 1; + displayScore, + isValid; // Display score is based on combination of whether password is empty, valid, and zxcvbn strength if (isEmpty) { displayScore = 0; - } else if (!isValid) { - displayScore = 1; + } else { + isValid = $.validator.validateSingleElement(this.options.cache.input); + displayScore = isValid ? zxcvbnScore : 1; } // Update label @@ -75,27 +75,32 @@ define([ */ _displayStrength: function (displayScore) { var strengthLabel = '', - className = this._getClassName(displayScore); + className = 'password-'; switch (displayScore) { case 0: strengthLabel = $t('No Password'); + className += 'none'; break; case 1: strengthLabel = $t('Weak'); + className += 'weak'; break; case 2: strengthLabel = $t('Medium'); + className += 'medium'; break; case 3: strengthLabel = $t('Strong'); + className += 'strong'; break; case 4: strengthLabel = $t('Very Strong'); + className += 'very-strong'; break; } @@ -112,16 +117,6 @@ define([ */ _getPassword: function () { return this.options.cache.input.val(); - }, - - /** - * Get class name for score - * @param {int} displayScore - * @returns {String} - * @private - */ - _getClassName: function (displayScore) { - return this.options.defaultClassName + displayScore; } }); diff --git a/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml b/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml index c8be1ad14bfd1323d2a569ec30b0b07dc4704a06..250410fc3b5264d9dc077e92c7c5c1479c0d2693 100644 --- a/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml +++ b/app/code/Magento/GiftMessage/view/frontend/templates/inline.phtml @@ -28,7 +28,10 @@ <dd id="allow-gift-options-for-order-container" class="order-options"> <div class="options-order-container" id="options-order-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"></div> - <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#allow-gift-messages-for-order-container"}}'><?php /* @escapeNotVerified */ echo __('Gift Message') ?></a> + <button class="action action-gift" + data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#allow-gift-messages-for-order-container"}}'> + <span><?php /* @escapeNotVerified */ echo __('Gift Message') ?></span> + </button> <div id="allow-gift-messages-for-order-container" class="gift-messages-order hidden"> <fieldset class="fieldset"> <p><?php /* @escapeNotVerified */ echo __('Leave this box blank if you don\'t want to leave a gift message for the entire order.') ?></p> @@ -52,13 +55,12 @@ </div> </fieldset> <script> -require(['jquery'], function(jQuery){ - - jQuery('#add-gift-options-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') - .add('#add-gift-options-for-order-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>').removeClass('hidden'); - -}); -</script> + require(['jquery'], function(jQuery){ + jQuery('#add-gift-options-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') + .add('#add-gift-options-for-order-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') + .removeClass('hidden'); + }); + </script> </div> </dd> <?php endif ?> @@ -87,7 +89,10 @@ require(['jquery'], function(jQuery){ <div class="options"> <div class="options-items-container" id="options-items-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>-<?php /* @escapeNotVerified */ echo $_item->getId() ?>"></div> <?php if ($block->isItemMessagesAvailable($_item)): ?> - <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>"}}'><?php /* @escapeNotVerified */ echo __('Gift Message') ?></a> + <button class="action action-gift" + data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>"}}'> + <span><?php /* @escapeNotVerified */ echo __('Gift Message') ?></span> + </button> <div id="gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>" class="block message hidden"> <fieldset class="fieldset"> <p><?php /* @escapeNotVerified */ echo __('Leave a box blank if you don\'t want to add a gift message for that item.') ?></p> @@ -118,24 +123,23 @@ require(['jquery'], function(jQuery){ </ol> </dd> <script> -require(['jquery'], function(jQuery){ - - jQuery('#add-gift-options-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') - .add('#add-gift-options-for-items-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>').removeClass('hidden'); - -}); -</script> + require(['jquery'], function(jQuery){ + jQuery('#add-gift-options-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') + .add('#add-gift-options-for-items-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>') + .removeClass('hidden'); + }); + </script> <?php endif; ?> <dt class="extra-options-container" id="extra-options-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"></dt> </dl> </fieldset> -<script type="text/x-magento-init"> -{ - "#allow_gift_options, #allow_gift_options_for_order, #allow_gift_options_for_items": { - "giftOptions": {} + <script type="text/x-magento-init"> + { + "#allow_gift_options, #allow_gift_options_for_order, #allow_gift_options_for_items": { + "giftOptions": {} + } } -} -</script> + </script> <?php break; ?> <?php case 'multishipping_address': ?> @@ -159,7 +163,10 @@ require(['jquery'], function(jQuery){ <div class="options-order-container" id="options-order-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"></div> <?php if ($block->isMessagesAvailable()): ?> <?php $_giftMessage = true; ?> - <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-order-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"}}'><?php /* @escapeNotVerified */ echo __('Gift Message') ?></a> + <button class="action action-gift" + data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-order-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"}}'> + <span><?php /* @escapeNotVerified */ echo __('Gift Message') ?></span> + </button> <div id="gift-messages-for-order-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>" class="gift-messages-order hidden"> <fieldset class="fieldset"> <p><?php /* @escapeNotVerified */ echo __('You can leave this box blank if you don\'t want to add a gift message for this address.') ?></p> @@ -212,7 +219,10 @@ require(['jquery'], function(jQuery){ <?php if ($block->isItemMessagesAvailable($_item)): ?> <?php $_giftMessage = true; ?> - <a href="#" class="action activate message" data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>"}}'><?php /* @escapeNotVerified */ echo __('Gift Message') ?></a> + <button class="action action-gift" + data-mage-init='{"toggleAdvanced": {"selectorsToggleClass":"hidden", "toggleContainers":"#gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>"}}'> + <span><?php /* @escapeNotVerified */ echo __('Gift Message') ?></span> + </button> <div id="gift-messages-for-item-container-<?php /* @escapeNotVerified */ echo $_item->getId() ?>" class="block message hidden"> <fieldset class="fieldset"> <p><?php /* @escapeNotVerified */ echo __('You can leave this box blank if you don\'t want to add a gift message for the item.') ?></p> @@ -247,13 +257,13 @@ require(['jquery'], function(jQuery){ <dt class="extra-options-container" id="extra-options-container-<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>"></dt> </dl> </fieldset> -<script type="text/x-magento-init"> - { - "#allow_gift_options_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>, #allow_gift_options_for_order_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>, #allow_gift_options_for_items_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>": { - "giftOptions": {} + <script type="text/x-magento-init"> + { + "#allow_gift_options_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>, #allow_gift_options_for_order_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>, #allow_gift_options_for_items_<?php /* @escapeNotVerified */ echo $block->getEntity()->getId() ?>": { + "giftOptions": {} + } } - } -</script> + </script> <?php break; ?> <?php endswitch ?> <?php if ($_giftMessage): ?> diff --git a/app/code/Magento/GiftMessage/view/frontend/web/template/gift-message-item-level.html b/app/code/Magento/GiftMessage/view/frontend/web/template/gift-message-item-level.html index 559875c90f75a92132ed56a311116754e4e42014..a310dcddf6a19a3226bf4f66a2981d1146fd6736 100644 --- a/app/code/Magento/GiftMessage/view/frontend/web/template/gift-message-item-level.html +++ b/app/code/Magento/GiftMessage/view/frontend/web/template/gift-message-item-level.html @@ -5,14 +5,13 @@ */ --> <!-- ko if: isActive() || hasActiveOptions() --> -<a href="#" - class="action action-gift" - data-bind=" - click: $data.toggleFormBlockVisibility.bind($data), - css: {_active: formBlockVisibility() || resultBlockVisibility()} - "> +<button class="action action-gift" + data-bind=" + click: $data.toggleFormBlockVisibility.bind($data), + css: {_active: formBlockVisibility() || resultBlockVisibility()} + "> <span data-bind="i18n: 'Gift options'"></span> -</a> +</button> <div class="gift-content" data-bind="css: {_active: formBlockVisibility() || resultBlockVisibility()}"> <!-- add class "active" to display the content --> <!-- ko ifnot: resultBlockVisibility() --> <div class="gift-options"> diff --git a/app/code/Magento/Integration/Block/Adminhtml/Widget/Grid/Column/Renderer/Name.php b/app/code/Magento/Integration/Block/Adminhtml/Widget/Grid/Column/Renderer/Name.php index b881ff04db1a217102dd3802f884f1dcbe60f6ae..c1d849f8b718785d00abc4daa7b09dac87da14df 100644 --- a/app/code/Magento/Integration/Block/Adminhtml/Widget/Grid/Column/Renderer/Name.php +++ b/app/code/Magento/Integration/Block/Adminhtml/Widget/Grid/Column/Renderer/Name.php @@ -23,7 +23,7 @@ class Name extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\Text /** @var \Magento\Integration\Model\Integration $row */ $text = parent::render($row); if (!$this->isUrlSecure($row->getEndpoint()) || !$this->isUrlSecure($row->getIdentityLinkUrl())) { - $text .= '<span class="icon-error"><span>Integration not secure</span></span>'; + $text .= '<span class="security-notice"><span>' . __("Integration not secure") . '</span></span>'; } return $text; } diff --git a/app/code/Magento/Integration/Test/Unit/Block/Adminhtml/Widget/Grid/Column/Renderer/NameTest.php b/app/code/Magento/Integration/Test/Unit/Block/Adminhtml/Widget/Grid/Column/Renderer/NameTest.php index 3fb03dd3f65dc05b5548120ab5cb15512bf34b5d..f1bca8620570a29cf31f55daeee68761b4f9bada 100644 --- a/app/code/Magento/Integration/Test/Unit/Block/Adminhtml/Widget/Grid/Column/Renderer/NameTest.php +++ b/app/code/Magento/Integration/Test/Unit/Block/Adminhtml/Widget/Grid/Column/Renderer/NameTest.php @@ -101,7 +101,7 @@ class NameTest extends \PHPUnit_Framework_TestCase [ 'http://myurl', 'Custom Integration', - 'Custom Integration<span class="icon-error"><span>Integration not secure</span></span>' + 'Custom Integration<span class="security-notice"><span>Integration not secure</span></span>' ] ]; } diff --git a/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_index.xml b/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_index.xml index 9825277958f6703c4d3e0d52610540047d00ec1b..8a4e55533d67820aa7b2bae9e6769b3d8df2304d 100644 --- a/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_index.xml +++ b/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_index.xml @@ -8,9 +8,6 @@ */ --> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> - <head> - <css src="Magento_Integration::integration.css"/> - </head> <update handle="adminhtml_integration_grid_block"/> <body> <referenceBlock name="content"> diff --git a/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_new.xml b/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_new.xml index 74deb27aaba968c40e345de5b71737c2593c2f32..492731b447ea2279d45f10ad2c1091aebccdbe3c 100644 --- a/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_new.xml +++ b/app/code/Magento/Integration/view/adminhtml/layout/adminhtml_integration_new.xml @@ -6,9 +6,6 @@ */ --> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> - <head> - <css src="Magento_Integration::integration.css"/> - </head> <update handle="adminhtml_integration_edit"/> <body> <referenceBlock name="content"> diff --git a/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions.phtml b/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions.phtml index 225eac3fc7d6338757f1bcdd024590f965bb945c..bcad96435a5cec25a8a02dfcdf00b227af92ff50 100644 --- a/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions.phtml +++ b/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions.phtml @@ -14,4 +14,4 @@ <div id="integration-activate-permissions-tabs"> <?php echo $block->getChildHtml('tabs'); ?> </div> -<div id="integrations-activate-permissions-content"></div> \ No newline at end of file +<div id="integrations-activate-permissions-content"></div> diff --git a/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions/tab/webapi.phtml b/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions/tab/webapi.phtml index a5131655334a89b678f9a250b4e2aa885905dfd8..7b853b53a815d9b3e41f8f5152c748cc30df5966 100644 --- a/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions/tab/webapi.phtml +++ b/app/code/Magento/Integration/view/adminhtml/templates/integration/activate/permissions/tab/webapi.phtml @@ -24,22 +24,20 @@ </fieldset> <?php if (!$block->isTreeEmpty()): ?> <script> -require(["jquery", "Magento_User/js/roles-tree"], function($){ + require(["jquery", "Magento_User/js/roles-tree"], function($){ + $.widget('mage.rolesTree', $.mage.rolesTree, { + _checkNode: function(event) {}, + _checkNodes: function() { + this._super(); + this.element.jstree('disable_hotkeys').jstree('hide_checkboxes') + .find('li.jstree-unchecked').hide().end().find('li.jstree-checked').attr('rel', 'disabled'); + } + }); - $.widget('mage.rolesTree', $.mage.rolesTree, { - _checkNode: function(event) {}, - _checkNodes: function() { - this._super(); - this.element.jstree('disable_hotkeys').jstree('hide_checkboxes') - .find('li.jstree-unchecked').hide().end().find('li.jstree-checked').attr('rel', 'disabled'); - } - }); - - $('[data-role="resource-tree"]').rolesTree({ - 'treeInitData': <?php /* @escapeNotVerified */ echo $block->getResourcesTreeJson() ?>, - 'treeInitSelectedData': <?php /* @escapeNotVerified */ echo $block->getSelectedResourcesJson() ?> - }); - -}); -</script> + $('[data-role="resource-tree"]').rolesTree({ + 'treeInitData': <?php /* @escapeNotVerified */ echo $block->getResourcesTreeJson() ?>, + 'treeInitSelectedData': <?php /* @escapeNotVerified */ echo $block->getSelectedResourcesJson() ?> + }); + }); + </script> <?php endif ?> diff --git a/app/code/Magento/Integration/view/adminhtml/web/integration.css b/app/code/Magento/Integration/view/adminhtml/web/integration.css deleted file mode 100644 index a9415ce2e5cdd3ac3d1c1926ca523977d935c40a..0000000000000000000000000000000000000000 --- a/app/code/Magento/Integration/view/adminhtml/web/integration.css +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright © 2016 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -#integration-popup-container #resource-tree { - max-height: 170px; - overflow: auto; -} - -#integrationGrid_table .action { - border: none; - border-radius: 0; - background: none; - margin: 0; - padding: 0; - box-shadow: none; - text-shadow: none; - filter: none; -} -#integrationGrid_table .action:before { - font-family: 'MUI-Icons'; - font-style: normal; - speak: none; - font-weight: normal; - font-size: 18px; - -webkit-font-smoothing: antialiased; - color: #b7b3ad; -} -#integrationGrid_table .action:hover:before { - color: #7e7e7e; -} - -#integrationGrid_table .action.edit:before { - content: '\e05b'; -} - -#integrationGrid_table .action.info:before { - content: '\e07e'; /* TOFIX: Need to get the proper character code */ -} - -#integrationGrid_table .action.delete:before { - content: '\e07f'; -} - -#integrationGrid_table .action[disabled] { - color: #bbb3b4; - cursor: not-allowed; - opacity: 0.6; -} - -#integrationGrid_table .icon-error { - margin-left: 15px; - color: #c00815; - font-size: 11px; -} -#integrationGrid_table .icon-error:before { - font-family: 'MUI-Icons'; - content: "\e086"; - font-size: 13px; - line-height: 13px; - overflow: hidden; - speak: none; - font-weight: normal; - -webkit-font-smoothing: antialiased; - display: inline-block; - vertical-align: middle; - text-align: center; - margin: -1px 5px 0 0; -} - -.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { - float: none; -} - -.ui-dialog .ui-dialog-buttonpane { - text-align: right; -} - -.no-close .ui-dialog-titlebar-close { - display: none; -} - -#integration_token_base_fieldset input[readonly] { - cursor: copy; -} diff --git a/app/code/Magento/PageCache/view/frontend/web/js/page-cache.js b/app/code/Magento/PageCache/view/frontend/web/js/page-cache.js index 8076048a5020853b3ce13ed6b8fa62a2e9022d88..ce9335138618305b1e71a1560b45bb2d60b7b690 100644 --- a/app/code/Magento/PageCache/view/frontend/web/js/page-cache.js +++ b/app/code/Magento/PageCache/view/frontend/web/js/page-cache.js @@ -37,7 +37,7 @@ define([ case 9: // DOCUMENT_NODE var hostName = window.location.hostname, iFrameHostName = $('<a>') - .prop('href', element.prop('src')) + .prop('href', $(element).prop('src')) .prop('hostname'); if (hostName === iFrameHostName) { diff --git a/app/code/Magento/Paypal/view/frontend/layout/catalog_product_view.xml b/app/code/Magento/Paypal/view/frontend/layout/catalog_product_view.xml index 3b91748bf0ce7f221745f2d8247853af6173a846..de139d98d5118c549ac922199d3c10d454c193fd 100644 --- a/app/code/Magento/Paypal/view/frontend/layout/catalog_product_view.xml +++ b/app/code/Magento/Paypal/view/frontend/layout/catalog_product_view.xml @@ -16,7 +16,7 @@ </block> </referenceContainer> <referenceContainer name="product.info.addtocart"> - <block class="Magento\Paypal\Block\Bml\Banners" name="bml.right.logo" after="product.info.addtocart.paypal" template="bml.phtml"> + <block class="Magento\Paypal\Block\Bml\Banners" name="bml.right.logo" template="bml.phtml"> <arguments> <argument name="section" xsi:type="string">productpage</argument> <argument name="position" xsi:type="number">1</argument> diff --git a/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php b/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php index e71cc97de683b1cd788e40beae556eaa403a5eef..437f7f6cd2f67a924075aff22ac68ef8c827b022 100644 --- a/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php +++ b/app/code/Magento/Reports/Block/Adminhtml/Filter/Form.php @@ -160,6 +160,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic 'label' => __('From'), 'title' => __('From'), 'required' => true, + 'css_class' => 'admin__field-small', 'class' => 'admin__control-text' ] ); @@ -173,6 +174,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic 'label' => __('To'), 'title' => __('To'), 'required' => true, + 'css_class' => 'admin__field-small', 'class' => 'admin__control-text' ] ); diff --git a/app/code/Magento/Reports/view/adminhtml/templates/report/grid/container.phtml b/app/code/Magento/Reports/view/adminhtml/templates/report/grid/container.phtml index 9ae58816b17a36dd0179f8497bacb61860140016..f927a4cda56156a3e08a0a3a639f052d47d16487 100644 --- a/app/code/Magento/Reports/view/adminhtml/templates/report/grid/container.phtml +++ b/app/code/Magento/Reports/view/adminhtml/templates/report/grid/container.phtml @@ -4,7 +4,6 @@ * See COPYING.txt for license details. */ -// @codingStandardsIgnoreFile ?> @@ -24,11 +23,15 @@ require([ //<![CDATA[ jQuery('#filter_form').mage('validation', {errorClass: 'mage-error'}); function filterFormSubmit() { - var filters = $$('#filter_form input', '#filter_form select'); - var elements = []; - for(var i in filters){ - if(filters[i].value && filters[i].value.length && !filters[i].disabled) elements.push(filters[i]); + var filters = $$('#filter_form input', '#filter_form select'), + elements = []; + + for (var i in filters) { + if (filters[i].value && filters[i].value.length && !filters[i].disabled) { + elements.push(filters[i]); + } } + if (jQuery('#filter_form').valid()) { setLocation('<?php /* @escapeNotVerified */ echo $block->getFilterUrl(); ?>filter/'+Base64.encode(Form.serializeElements(elements))+'/'); } diff --git a/app/code/Magento/Sales/Model/Order.php b/app/code/Magento/Sales/Model/Order.php index 7ed85998bf520075a4a240795593cfcda37dd6b6..8984d2312db36840282fecc7f4abc811357837e2 100644 --- a/app/code/Magento/Sales/Model/Order.php +++ b/app/code/Magento/Sales/Model/Order.php @@ -1442,10 +1442,12 @@ class Order extends AbstractModel implements EntityInterface, OrderInterface */ public function setPayment(\Magento\Sales\Api\Data\OrderPaymentInterface $payment = null) { - $payment->setOrder($this)->setParentId($this->getId()); - if (!$payment->getId()) { - $this->setData(OrderInterface::PAYMENT, $payment); - $this->setDataChanges(true); + $this->setData(OrderInterface::PAYMENT, $payment); + if ($payment !== null) { + $payment->setOrder($this)->setParentId($this->getId()); + if (!$payment->getId()) { + $this->setDataChanges(true); + } } return $payment; } diff --git a/app/code/Magento/Sales/Setup/InstallSchema.php b/app/code/Magento/Sales/Setup/InstallSchema.php index 0801da31d117115b14b77de9a8f8313a98d612ca..6daa1b42b3a03734a1aeabcf46f3a91d0aa0198a 100644 --- a/app/code/Magento/Sales/Setup/InstallSchema.php +++ b/app/code/Magento/Sales/Setup/InstallSchema.php @@ -3216,12 +3216,6 @@ class InstallSchema implements InstallSchemaInterface '12,4', [], 'Grand Total' - )->addColumn( - 'base_grand_total', - \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, - '12,4', - [], - 'Base Grand Total' )->addColumn( 'created_at', \Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP, @@ -3240,9 +3234,6 @@ class InstallSchema implements InstallSchemaInterface )->addIndex( $installer->getIdxName('sales_invoice_grid', ['grand_total']), ['grand_total'] - )->addIndex( - $installer->getIdxName('sales_invoice_grid', ['base_grand_total']), - ['base_grand_total'] )->addIndex( $installer->getIdxName('sales_invoice_grid', ['order_id']), ['order_id'] diff --git a/app/code/Magento/Sales/Setup/UpgradeSchema.php b/app/code/Magento/Sales/Setup/UpgradeSchema.php index fbf2e929a2f0f39ff19716c11e3209e33d5be3e8..907d782e8deafd5649712ead99a6d94cbc93c1f1 100644 --- a/app/code/Magento/Sales/Setup/UpgradeSchema.php +++ b/app/code/Magento/Sales/Setup/UpgradeSchema.php @@ -7,6 +7,7 @@ namespace Magento\Sales\Setup; use Magento\Framework\Setup\UpgradeSchemaInterface; use Magento\Framework\Setup\ModuleContextInterface; use Magento\Framework\Setup\SchemaSetupInterface; +use Magento\Framework\DB\Adapter\AdapterInterface; /** * @codeCoverageIgnore @@ -53,5 +54,43 @@ class UpgradeSchema implements UpgradeSchemaInterface $installer->endSetup(); } + if (version_compare($context->getVersion(), '2.0.3', '<')) { + $this->addColumnBaseGrandTotal($installer); + $this->addIndexBaseGrandTotal($installer); + } + } + + /** + * @param SchemaSetupInterface $installer + * @return void + */ + private function addColumnBaseGrandTotal(SchemaSetupInterface $installer) + { + $connection = $installer->getConnection(); + $connection->addColumn( + $installer->getTable('sales_invoice_grid'), + 'base_grand_total', + [ + 'type' => \Magento\Framework\DB\Ddl\Table::TYPE_DECIMAL, + 'nullable' => true, + 'length' => '12,4', + 'comment' => 'Base Grand Total', + 'after' => 'grand_total' + ] + ); + } + + /** + * @param SchemaSetupInterface $installer + * @return void + */ + private function addIndexBaseGrandTotal(SchemaSetupInterface $installer) + { + $connection = $installer->getConnection(); + $connection->addIndex( + $installer->getTable('sales_invoice_grid'), + $installer->getIdxName('sales_invoice_grid', ['base_grand_total']), + ['base_grand_total'] + ); } -} \ No newline at end of file +} diff --git a/app/code/Magento/Sales/Test/Unit/Model/OrderTest.php b/app/code/Magento/Sales/Test/Unit/Model/OrderTest.php index 399092745977a5b480d2218ab145e9ea81e767e2..e8bf1ef1bfe4fc50982e7243ef13d127291a9b2b 100644 --- a/app/code/Magento/Sales/Test/Unit/Model/OrderTest.php +++ b/app/code/Magento/Sales/Test/Unit/Model/OrderTest.php @@ -5,6 +5,7 @@ */ namespace Magento\Sales\Test\Unit\Model; +use Magento\Sales\Api\Data\OrderInterface; use Magento\Sales\Model\Order; use Magento\Sales\Model\ResourceModel\Order\Status\History\CollectionFactory as HistoryCollectionFactory; @@ -757,6 +758,115 @@ class OrderTest extends \PHPUnit_Framework_TestCase $this->assertSame($this->order, $this->order->loadByIncrementIdAndStoreId($incrementId, $storeId)); } + public function testSetPaymentWithId() + { + $this->order->setId(123); + $payment = $this->getMockBuilder(\Magento\Sales\Model\Order\Payment::class) + ->disableOriginalConstructor() + ->getMock(); + $this->order->setData(OrderInterface::PAYMENT, $payment); + $this->order->setDataChanges(false); + + $payment->expects($this->once()) + ->method('setOrder') + ->with($this->order) + ->willReturnSelf(); + + $payment->expects($this->once()) + ->method('setParentId') + ->with(123) + ->willReturnSelf(); + + $payment->expects($this->any()) + ->method('getId') + ->willReturn(1); + + $this->order->setPayment($payment); + + $this->assertEquals( + $this->order->getData( + OrderInterface::PAYMENT + ), + $payment + ); + + $this->assertFalse( + $this->order->hasDataChanges() + ); + } + + public function testSetPaymentNoId() + { + $this->order->setId(123); + $this->order->setDataChanges(false); + + $payment = $this->getMockBuilder(\Magento\Sales\Model\Order\Payment::class) + ->disableOriginalConstructor() + ->getMock(); + + $payment->expects($this->once()) + ->method('setOrder') + ->with($this->order) + ->willReturnSelf(); + + $payment->expects($this->once()) + ->method('setParentId') + ->with(123) + ->willReturnSelf(); + + $payment->expects($this->any()) + ->method('getId') + ->willReturn(null); + + $this->order->setPayment($payment); + + $this->assertEquals( + $this->order->getData( + OrderInterface::PAYMENT + ), + $payment + ); + + $this->assertTrue( + $this->order->hasDataChanges() + ); + } + + public function testSetPaymentNull() + { + $this->assertEquals(null, $this->order->setPayment(null)); + + $this->assertEquals( + $this->order->getData( + OrderInterface::PAYMENT + ), + null + ); + + $this->assertTrue( + $this->order->hasDataChanges() + ); + } + + public function testResetOrderWillResetPayment() + { + $payment = $this->getMockBuilder(\Magento\Sales\Model\Order\Payment::class) + ->disableOriginalConstructor() + ->getMock(); + $this->order->setData(OrderInterface::PAYMENT, $payment); + $this->order->reset(); + $this->assertEquals( + $this->order->getData( + OrderInterface::PAYMENT + ), + null + ); + + $this->assertTrue( + $this->order->hasDataChanges() + ); + } + public function notInvoicingStatesProvider() { return [ diff --git a/app/code/Magento/Sales/etc/module.xml b/app/code/Magento/Sales/etc/module.xml index 19956e89184471dfb60b25b58e5ccba168e4e33d..88d6e25d31fb6c4ed9777595296e969028b154f2 100644 --- a/app/code/Magento/Sales/etc/module.xml +++ b/app/code/Magento/Sales/etc/module.xml @@ -6,7 +6,7 @@ */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> - <module name="Magento_Sales" setup_version="2.0.2"> + <module name="Magento_Sales" setup_version="2.0.3"> <sequence> <module name="Magento_Rule"/> <module name="Magento_Catalog"/> diff --git a/app/code/Magento/Sales/view/adminhtml/templates/order/address/form.phtml b/app/code/Magento/Sales/view/adminhtml/templates/order/address/form.phtml index 1a8985d2c3ccfb37782222bcd281f60509a54bcf..b2b7abf77acc9a938e7d0a6329ef05ca8aa6dd72 100644 --- a/app/code/Magento/Sales/view/adminhtml/templates/order/address/form.phtml +++ b/app/code/Magento/Sales/view/adminhtml/templates/order/address/form.phtml @@ -18,7 +18,7 @@ <span><?php /* @escapeNotVerified */ echo $block->getHeaderText() ?></span> </legend> <br> - <div class="form-inline"> + <div class="form-inline" data-mage-init='{"Magento_Sales/order/edit/address/form":{}}'> <?php echo $block->getForm()->toHtml() ?> </div> </fieldset> diff --git a/app/code/Magento/Sales/view/adminhtml/web/order/edit/address/form.js b/app/code/Magento/Sales/view/adminhtml/web/order/edit/address/form.js new file mode 100644 index 0000000000000000000000000000000000000000..bdcb2cc8a574601d78ba7ae7ed70d7b3030108ba --- /dev/null +++ b/app/code/Magento/Sales/view/adminhtml/web/order/edit/address/form.js @@ -0,0 +1,34 @@ +/** + * Copyright © 2016 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +define([ + 'jquery' +], function ($) { + 'use strict'; + + /** + * Currently Magento App stores both region_id and region (as text) values. + * To prevent missing region (as text) we need to copy it in hidden field. + * @param {Array} config + * @param {String} element + */ + return function (config, element) { + var form = $(element), + regionId = form.find('#region_id'), + + /** + * Set region callback + */ + setRegion = function () { + form.find('#region').val(regionId.filter(':visible').find(':selected').text()); + }; + + if (regionId.is('visible')) { + setRegion(); + } + + regionId.on('change', setRegion); + form.find('#country_id').on('change', setRegion); + }; +}); diff --git a/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml b/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml index bf62f4c5c3a4ed07fd649573c5108fdfaf9e8387..cd3b81593734ffbfe49c4669ef9366785a09bdeb 100644 --- a/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml +++ b/app/code/Magento/Sales/view/frontend/layout/customer_account_index.xml @@ -8,7 +8,7 @@ <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="content"> - <block class="Magento\Sales\Block\Order\Recent" name="customer_account_dashboard_top" after="customer_account_dashboard_hello" template="order/recent.phtml"/> + <block class="Magento\Sales\Block\Order\Recent" name="customer_account_dashboard_top" template="order/recent.phtml"/> </referenceContainer> </body> </page> diff --git a/app/code/Magento/SalesRule/view/adminhtml/ui_component/sales_rule_form.xml b/app/code/Magento/SalesRule/view/adminhtml/ui_component/sales_rule_form.xml index a9a682be3194cbf91234dbcb837c394dc8b385fd..dea387e465685bb846e0368ba4f32f35e6531832 100644 --- a/app/code/Magento/SalesRule/view/adminhtml/ui_component/sales_rule_form.xml +++ b/app/code/Magento/SalesRule/view/adminhtml/ui_component/sales_rule_form.xml @@ -51,7 +51,7 @@ <fieldset name="general"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> - <item name="label" xsi:type="string">Currently Active</item> + <item name="label" xsi:type="string" translate="true">Currently Active</item> <item name="additionalClasses" xsi:type="string">fieldset-schedule</item> </item> </argument> diff --git a/app/code/Magento/Theme/view/adminhtml/page_layout/admin-1column.xml b/app/code/Magento/Theme/view/adminhtml/page_layout/admin-1column.xml index 51684b30fac9777de069a3e5207ff1ab060cf47d..570f5322e9eb95881ba29f6e6abac446e5a5d56c 100644 --- a/app/code/Magento/Theme/view/adminhtml/page_layout/admin-1column.xml +++ b/app/code/Magento/Theme/view/adminhtml/page_layout/admin-1column.xml @@ -17,9 +17,9 @@ <container name="global.notices" as="global_notices" after="notification.window"/> </container> - <container name="header" after="global.notices" htmlTag="header" htmlClass="page-header"/> + <container name="header" htmlTag="header" htmlClass="page-header"/> <container name="page.menu" as="page.menu" after="header"/> - <container name="page.breadcrumbs" after="notifications" as="page.breadcrumbs"/> + <container name="page.breadcrumbs" as="page.breadcrumbs"/> <container name="page.formkey" as="page.formkey"/> diff --git a/app/code/Magento/Theme/view/adminhtml/page_layout/admin-2columns-left.xml b/app/code/Magento/Theme/view/adminhtml/page_layout/admin-2columns-left.xml index 62dc716817221eda59c8bc0bc1900639c5c91042..0c662a0d467da9cdd41b7e997dc3b9a7a8fde97f 100644 --- a/app/code/Magento/Theme/view/adminhtml/page_layout/admin-2columns-left.xml +++ b/app/code/Magento/Theme/view/adminhtml/page_layout/admin-2columns-left.xml @@ -17,9 +17,9 @@ <container name="global.notices" as="global_notices" after="notification.window"/> </container> - <container name="header" after="global.notices" htmlTag="header" htmlClass="page-header"/> + <container name="header" htmlTag="header" htmlClass="page-header"/> <container name="page.menu" as="page.menu" after="header"/> - <container name="page.breadcrumbs" after="notifications" as="page.breadcrumbs"/> + <container name="page.breadcrumbs" as="page.breadcrumbs"/> <container name="page.formkey" as="page.formkey"/> diff --git a/app/code/Magento/Theme/view/adminhtml/ui_component/design_config_form.xml b/app/code/Magento/Theme/view/adminhtml/ui_component/design_config_form.xml index 696449889d6b28dd0096fbd1dfc237e63ab6fd19..ace2babc100d35fca9c4aabce774c41ca5afb295 100644 --- a/app/code/Magento/Theme/view/adminhtml/ui_component/design_config_form.xml +++ b/app/code/Magento/Theme/view/adminhtml/ui_component/design_config_form.xml @@ -188,7 +188,7 @@ <field name="header_logo_width"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> - <item name="label" xsi:type="string" translate="true">Logo Image Width</item> + <item name="label" xsi:type="string" translate="true">Logo Attribute Width</item> <item name="dataType" xsi:type="string">number</item> <item name="formElement" xsi:type="string">input</item> <item name="dataScope" xsi:type="string">header_logo_width</item> @@ -201,7 +201,7 @@ <field name="header_logo_height"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> - <item name="label" xsi:type="string" translate="true">Logo Image Height</item> + <item name="label" xsi:type="string" translate="true">Logo Attribute Height</item> <item name="dataType" xsi:type="string">number</item> <item name="formElement" xsi:type="string">input</item> <item name="dataScope" xsi:type="string">header_logo_height</item> diff --git a/app/code/Magento/Ui/view/base/web/js/form/element/wysiwyg.js b/app/code/Magento/Ui/view/base/web/js/form/element/wysiwyg.js index b3db5d11b98a51bc166082a10ae351949f317d9c..01c8ef29029a9ef34f82885e3efbada75774a88b 100644 --- a/app/code/Magento/Ui/view/base/web/js/form/element/wysiwyg.js +++ b/app/code/Magento/Ui/view/base/web/js/form/element/wysiwyg.js @@ -16,6 +16,7 @@ define([ defaults: { elementSelector: 'textarea', value: '', + $wysiwygEditorButton: '', links: { value: '${ $.provider }:${ $.dataScope }' }, @@ -23,7 +24,10 @@ define([ elementTmpl: 'ui/form/element/wysiwyg', content: '', showSpinner: false, - loading: false + loading: false, + listens: { + disabled: 'setDisabled' + } }, /** @@ -34,6 +38,13 @@ define([ this._super() .initNodeListener(); + $.async({ + component: this, + selector: 'button' + }, function (element) { + this.$wysiwygEditorButton = $(element); + }.bind(this)); + return this; }, @@ -69,6 +80,26 @@ define([ $(node).bindings({ value: this.value }); + }, + + /** + * Set disabled property to wysiwyg component + * + * @param {Boolean} status + */ + setDisabled: function (status) { + this.$wysiwygEditorButton.attr('disabled', status); + + /* eslint-disable no-undef */ + if (tinyMCE) { + _.each(tinyMCE.activeEditor.controlManager.controls, function (property, index, controls) { + controls[property].setDisabled(status); + }); + + tinyMCE.activeEditor.getBody().setAttribute('contenteditable', !status); + } + + /* eslint-enable no-undef*/ } }); }); diff --git a/app/code/Magento/Ui/view/base/web/js/grid/resize.js b/app/code/Magento/Ui/view/base/web/js/grid/resize.js index bad2061ec763562aa8bd927c9e6ba02911be4649..f7edde0ea47c422e48035f8254356edaa9091e46 100644 --- a/app/code/Magento/Ui/view/base/web/js/grid/resize.js +++ b/app/code/Magento/Ui/view/base/web/js/grid/resize.js @@ -261,11 +261,10 @@ define([ */ initResizableElement: function (column) { var model = ko.dataFor(column), - ctx = ko.contextFor(column), - tempalteDragElement = '<div class="' + ctx.$parent.resizeConfig.classResize + '"></div>'; + templateDragElement = '<div class="' + this.resizableElementClass + '"></div>'; if (_.isUndefined(model.resizeEnabled) || model.resizeEnabled) { - $(column).append(tempalteDragElement); + $(column).append(templateDragElement); return true; } diff --git a/app/design/adminhtml/Magento/backend/Magento_Backend/layout/default.xml b/app/design/adminhtml/Magento/backend/Magento_Backend/layout/default.xml index 6c4156291d3219fdb96552feb9218181db4c32e7..d26590e617c163cd00d6bce47f56574172de8b67 100644 --- a/app/design/adminhtml/Magento/backend/Magento_Backend/layout/default.xml +++ b/app/design/adminhtml/Magento/backend/Magento_Backend/layout/default.xml @@ -29,7 +29,7 @@ <move element="page.title" before="-" destination="header.inner.left" /> <move element="user" before="-" destination="header.inner.right" /> <move element="notification.messages" after="user" destination="header.inner.right" /> - <move element="global.search" after="notification.messages" destination="header.inner.right" /> + <move element="global.search" destination="header.inner.right" /> </body> </page> diff --git a/app/design/adminhtml/Magento/backend/Magento_Integration/web/css/source/_module.less b/app/design/adminhtml/Magento/backend/Magento_Integration/web/css/source/_module.less new file mode 100644 index 0000000000000000000000000000000000000000..3527cb48759e89a388ac355480c132adb0e7dece --- /dev/null +++ b/app/design/adminhtml/Magento/backend/Magento_Integration/web/css/source/_module.less @@ -0,0 +1,79 @@ +// /** +// * Copyright © 2016 Magento. All rights reserved. +// * See COPYING.txt for license details. +// */ + +.adminhtml-integration-index { + .data-grid { + .action { + &:extend(.abs-action-reset all); + + &[disabled] { + color: @color-gray-light2; + cursor: not-allowed; + opacity: 0.6; + } + + &:hover { + &:before { + color: @color-gray-middle3; + } + } + + &:before { + &:extend(.abs-icon all); + } + + &.edit { + &:before { + content: @icon-edit__content; + } + } + + &.info { + &:before { + content: @icon-info__content; + } + } + + &.delete { + &:before { + content: @icon-delete__content; + } + } + } + } + + .security-notice { + color: @color-red11; + font-size: @font-size__tiny; + margin-left: 1.5rem; + vertical-align: middle; + + &:before { + &:extend(.abs-icon all); + content: @icon-warning__content; + margin-right: @indent__xs; + } + } + + input[readonly] { + cursor: copy; + } + + .ui-dialog { + .ui-dialog-buttonpane { + float: none; + + .ui-dialog-buttonset { + text-align: right; + } + } + } + + .no-close { + .ui-dialog-titlebar-close { + display: none; + } + } +} diff --git a/app/design/adminhtml/Magento/backend/web/css/styles-old.less b/app/design/adminhtml/Magento/backend/web/css/styles-old.less index 9dbb6a860be023cf96bea1eec0184999f7e89422..166baeb788a4a9e9a81f8d7a3ea7f3ff50e42dfd 100644 --- a/app/design/adminhtml/Magento/backend/web/css/styles-old.less +++ b/app/design/adminhtml/Magento/backend/web/css/styles-old.less @@ -756,10 +756,6 @@ display: none; } - label { - display: inline-block; - } - label > input[type="radio"], label > input[type="checkbox"] { margin: -3px 3px 0 0; diff --git a/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/module/_cart.less b/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/module/_cart.less index a7850c22dac19d2167fee48698f89c2532feb927..512ec326052272907de276af6299b53d26cc8265 100644 --- a/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/module/_cart.less +++ b/app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/module/_cart.less @@ -276,6 +276,7 @@ text-align: center; white-space: nowrap; width: 33%; + &:before { content: attr(data-th) ':'; display: block; diff --git a/app/design/frontend/Magento/blank/Magento_Customer/web/css/source/_module.less b/app/design/frontend/Magento/blank/Magento_Customer/web/css/source/_module.less index 9672c4ce214dc42fc1db55018b5ec81e6e617517..4453309461d020b96bccb033a18c92f26fa11e33 100644 --- a/app/design/frontend/Magento/blank/Magento_Customer/web/css/source/_module.less +++ b/app/design/frontend/Magento/blank/Magento_Customer/web/css/source/_module.less @@ -41,7 +41,7 @@ .lib-font-size(18); } } - + .fieldset { .lib-form-hasrequired(bottom); &:after { @@ -49,35 +49,35 @@ } } } - + .block-addresses-list { .items.addresses { > .item { margin-bottom: @indent__base; - + &:last-child { margin-bottom: 0; } } } } - + .form-address-edit { #region_id { display: none; } - + .actions-toolbar .action.primary { &:extend(.abs-button-l all); } } - + .form-edit-account { .fieldset.password { display: none; } } - + .box-billing-address, .box-shipping-address, .box-information, @@ -96,43 +96,43 @@ h2 { margin-top: 0; } - + .toolbar { text-align: center; .limiter-options { width: auto; } } - + .limiter { >.label { &:extend(.abs-visually-hidden all); } } - + .block:not(.widget) { &:extend(.abs-account-blocks all); } } - + .sidebar-additional { margin-top: 40px; } - + .table-wrapper { &:last-child { margin-bottom: 0; } - + .action { margin-right: 15px; - + &:last-child { margin-right: 0; } } } - + .table-return-items { .qty { .input-text { @@ -141,7 +141,7 @@ } } } - + // Checkout address (create shipping address) .field.street { .field.additional { @@ -214,10 +214,10 @@ margin-bottom: 0; } } - + .title { margin-bottom: @indent__s; - + strong { .lib-heading(h4); .column.main & { @@ -272,42 +272,42 @@ z-index: -1; } - .password-strength-meter-0 & { + .password-none & { &:before { background-color: @_password-default; width: 100%; } } - .password-strength-meter-1 & { + .password-weak & { &:before { background-color: @_password-weak; width: 25%; } } - .password-strength-meter-2 & { + .password-medium & { &:before { background-color: @_password-medium; width: 50%; } } - .password-strength-meter-3 & { + .password-strong & { &:before { background-color: @_password-strong; width: 75%; } } - .password-strength-meter-4 & { + .password-very-strong & { &:before { background-color: @_password-very-strong; width: 100%; } } } - + .control.captcha-image { .lib-css(margin-top, @indent__s); diff --git a/app/design/frontend/Magento/blank/Magento_GiftMessage/web/css/source/_module.less b/app/design/frontend/Magento/blank/Magento_GiftMessage/web/css/source/_module.less index 450de45c9152ec7a14e0bb0a9bf9f73aa458795a..59ee7d7dcc472ec6576e939cdcc53a86474d1164 100644 --- a/app/design/frontend/Magento/blank/Magento_GiftMessage/web/css/source/_module.less +++ b/app/design/frontend/Magento/blank/Magento_GiftMessage/web/css/source/_module.less @@ -18,6 +18,9 @@ & when (@media-common = true) { .gift-message { .field { + &:extend(.abs-clearfix all); + margin-bottom: @indent__base; + .label { .lib-css(color, @gift-message-field-label__color); .lib-css(font-weight, @font-weight__regular); @@ -27,6 +30,7 @@ .gift-options { &:extend(.abs-add-clearfix all); + .actions-toolbar { .action-cancel { &:extend(.abs-action-button-as-link all); @@ -44,6 +48,7 @@ margin: 0 0 @indent__base; } } + .gift-summary { .actions-toolbar { > .secondary { @@ -56,39 +61,43 @@ } } - // - // In-table block - // --------------------------------------------- - - .cart.table-wrapper { - .gift-content { - box-sizing: border-box; - clear: left; - display: none; - float: left; - margin: @indent__base 0; - text-align: left; - width: 100%; - - &._active { - display: block; - } - } + .action-gift { + &:extend(.cart.table-wrapper .actions-toolbar > .action all); - .action-gift { - &:extend(.cart.table-wrapper .actions-toolbar > .action all); - .lib-button-icon( + .lib-button-icon( @icon-down, @_icon-font-size: 32px, @_icon-font-line-height: 16px, @_icon-font-position: after - ); + ); - &._active { - .lib-icon-font-symbol( + &.active, + &._active { + .lib-icon-font-symbol( @icon-up, @_icon-font-position: after - ); + ); + } + } + + // + // In-table block + // --------------------------------------------- + + .cart { + &.table-wrapper { + .gift-content { + box-sizing: border-box; + clear: left; + display: none; + float: left; + margin: @indent__s 0 @indent__base; + text-align: left; + width: 100%; + + &._active { + display: block; + } } } } @@ -99,6 +108,7 @@ .gift-item-block { margin: 0; + &._active { .title { .lib-icon-font-symbol( @@ -109,7 +119,9 @@ } .title { + .lib-css(font-weight, @font-weight__bold); border-radius: 3px; + .lib-button( @_button-margin: 20px 0 0, @_button-padding: 7px 15px, @@ -120,7 +132,6 @@ @_button-icon-font-line-height: 16px, @_button-icon-font-position: after ); - .lib-css(font-weight, @font-weight__bold); &:active { .lib-css(box-shadow, @button__shadow); @@ -165,41 +176,41 @@ clear: left; } } - } - .order-details-items .order-items { - .order-gift-message { - &:not(.expanded-content) { - &:extend(.abs-hidden); - } + .order-items { + .order-gift-message { + &:not(.expanded-content) { + &:extend(.abs-hidden); + } - .action.close { - &:extend(.abs-no-display all); + .action.close { + &:extend(.abs-no-display all); + } } - } - .action.show { - .lib-icon-font( - @_icon-font-content: @icon-down, - @_icon-font-size: 22px, - @_icon-font-text-hide: false, - @_icon-font-position: after, - @_icon-font-display: inline-block - ); - padding-right: @indent__base; - position: relative; + .action.show { + .lib-icon-font( + @_icon-font-content: @icon-down, + @_icon-font-size: 22px, + @_icon-font-text-hide: false, + @_icon-font-position: after, + @_icon-font-display: inline-block + ); + padding-right: @indent__base; + position: relative; - &:after { - position: absolute; - right: 0; - top: -4px; - } + &:after { + position: absolute; + right: 0; + top: -4px; + } - &.expanded { - .lib-icon-font-symbol( - @_icon-font-content: @icon-up, - @_icon-font-position: after - ); + &.expanded { + .lib-icon-font-symbol( + @_icon-font-content: @icon-up, + @_icon-font-position: after + ); + } } } } @@ -226,22 +237,26 @@ } .gift-item-block { - border-bottom: 0; .lib-css(border-top, @gift-item-block__border-width solid @gift-item-block__border-color); + border-bottom: 0; } - .cart.table-wrapper { - .gift-content { - margin-right: -@indent__s; + .cart { + &.table-wrapper { + .gift-content { + margin-right: -@indent__s; + } } } } .media-width(@extremum, @break) when (@extremum = 'max') and (@break = @screen__s) { - .cart.table-wrapper { - .gift-content { - border-bottom: @border-width__base solid @border-color__base; - margin-bottom: @indent__base; + .cart { + &.table-wrapper { + .gift-content { + border-bottom: @border-width__base solid @border-color__base; + margin-bottom: @indent__base; + } } } } @@ -253,11 +268,7 @@ .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) { .gift-message { .field { - &:extend(.abs-clearfix all); - .lib-form-field-type-revert( - @_type: inline, - @_type-inline-label-align: left - ); + margin-bottom: @indent__base; } } @@ -323,9 +334,22 @@ // In-table block // --------------------------------------------- - .cart.table-wrapper { - .action-gift { - float: left; + .cart { + &.table-wrapper { + .action-gift { + float: left; + } + } + } + + // + // Multiple Shipping Checkout + // --------------------------------------------- + + .order-options, + .table-order-review { + .gift-wrapping { + max-width: 50%; } } } diff --git a/app/design/frontend/Magento/blank/Magento_GiftWrapping/web/css/source/_module.less b/app/design/frontend/Magento/blank/Magento_GiftWrapping/web/css/source/_module.less index e2b3771ac38863afddd2e4420d6b2337afb088c6..b4665dbd62e965e3bc5925ea2e47ece7bb063f28 100644 --- a/app/design/frontend/Magento/blank/Magento_GiftWrapping/web/css/source/_module.less +++ b/app/design/frontend/Magento/blank/Magento_GiftWrapping/web/css/source/_module.less @@ -25,6 +25,17 @@ // _____________________________________________ & when (@media-common = true) { + .gift-wrapping { + .label { + .lib-css(margin, @form-field-type-label-block__margin); + display: inline-block; + } + + .field { + margin-bottom: @indent__s; + } + } + .gift-wrapping-info { .lib-css(font-weight, @font-weight__light); font-size: @font-size__l; @@ -147,6 +158,8 @@ .gift-summary, .gift-options { + &:extend(.abs-adjustment-incl-excl-tax all); + .price-box { margin-left: 22px; } @@ -160,8 +173,30 @@ font-weight: @font-weight__bold; } } + } - &:extend(.abs-adjustment-incl-excl-tax all); + // + // Multiple Shipping Checkout + // --------------------------------------------- + + .order-options { + .item { + padding-bottom: @indent__base; + } + + .product { + &:extend(.abs-add-clearfix all); + margin-bottom: @indent__s; + } + + .product-image-container { + float: left; + padding-right: @indent__s; + } + + .gift-wrapping { + margin-bottom: @indent__s; + } } } @@ -217,18 +252,21 @@ } } - .gift-wrapping { - box-sizing: border-box; - float: left; - padding-right: @indent__base; - width: 50%; - - & + .gift-message { - .lib-css(border-left, @gift-wrapping__border-width solid @gift-wrapping__border-color); + .gift-options-cart-item, + .cart-gift-item { + .gift-wrapping { box-sizing: border-box; float: left; - padding-left: 4.5rem; + padding-right: @indent__base; width: 50%; + + & + .gift-message { + .lib-css(border-left, @gift-wrapping__border-width solid @gift-wrapping__border-color); + box-sizing: border-box; + float: left; + padding-left: 4.5rem; + width: 50%; + } } } } diff --git a/app/design/frontend/Magento/luma/Magento_Customer/web/css/source/_module.less b/app/design/frontend/Magento/luma/Magento_Customer/web/css/source/_module.less index 5eaccc85a2c0d7a8d6f38e65cb478f313c64ebee..4ad7af8c4e8ba9eb362e03013376d51d89a68852 100644 --- a/app/design/frontend/Magento/luma/Magento_Customer/web/css/source/_module.less +++ b/app/design/frontend/Magento/luma/Magento_Customer/web/css/source/_module.less @@ -254,35 +254,35 @@ z-index: -1; } - .password-strength-meter-0 & { + .password-none & { &:before { background-color: @_password-default; width: 100%; } } - .password-strength-meter-1 & { + .password-weak & { &:before { background-color: @_password-weak; width: 25%; } } - .password-strength-meter-2 & { + .password-medium & { &:before { background-color: @_password-medium; width: 50%; } } - .password-strength-meter-3 & { + .password-strong & { &:before { background-color: @_password-strong; width: 75%; } } - .password-strength-meter-4 & { + .password-very-strong & { &:before { background-color: @_password-very-strong; width: 100%; diff --git a/app/design/frontend/Magento/luma/Magento_GiftMessage/web/css/source/_module.less b/app/design/frontend/Magento/luma/Magento_GiftMessage/web/css/source/_module.less index 0b00a22ce92c2e8885977e350ff863295f3440c4..6a579f19583c1020664e88fa40be48494b2d82ab 100644 --- a/app/design/frontend/Magento/luma/Magento_GiftMessage/web/css/source/_module.less +++ b/app/design/frontend/Magento/luma/Magento_GiftMessage/web/css/source/_module.less @@ -27,6 +27,9 @@ & when (@media-common = true) { .gift-message { .field { + &:extend(.abs-clearfix all); + margin-bottom: @indent__base; + .label { .lib-css(color, @gift-message-field-label__color); .lib-css(font-weight, @font-weight__regular); @@ -34,18 +37,6 @@ } } - .cart.table-wrapper { - .item-gift { - &._active { - .lib-css(border-top, @gift-item-block__border-width solid @gift-item-block__border-color); - } - - .action { - margin-right: 0; - } - } - } - .gift-options { margin: @indent__base 0; @@ -70,6 +61,8 @@ .gift-summary { position: relative; + margin-top: @indent__s; + .actions-toolbar { > .secondary { .action { @@ -92,6 +85,7 @@ @_icon-font-color-active: @minicart-icons-color ); } + .action-delete { .lib-icon-font-symbol( @_icon-font-content: @icon-trash @@ -99,6 +93,28 @@ } } + .action-gift { + &:extend(.abs-action-button-as-link all); + + .lib-icon-font( + @icon-down, + @_icon-font-size: 1.2rem, + @_icon-font-line-height: 20px, + @_icon-font-color: @minicart-icons-color, + @_icon-font-color-hover: @primary__color, + @_icon-font-color-active: @minicart-icons-color, + @_icon-font-margin: 0 0 0 @indent__s, + @_icon-font-position: after + ); + + &.active, + &._active { + &:after { + content: @icon-up; + } + } + } + .gift-summary, .cart.table-wrapper .gift-summary { .actions-toolbar { @@ -113,18 +129,30 @@ // In-table block // --------------------------------------------- - .cart.table-wrapper { - .gift-content { - box-sizing: border-box; - clear: left; - display: none; - float: left; - margin-right: -100%; - padding: @indent__base 0; - width: 100%; + .cart { + &.table-wrapper { + .gift-content { + box-sizing: border-box; + clear: left; + display: none; + float: left; + margin-right: -100%; + padding: @indent__base 0; + width: 100%; - &._active { - display: block; + &._active { + display: block; + } + } + + .item-gift { + &._active { + .lib-css(border-top, @gift-item-block__border-width solid @gift-item-block__border-color); + } + + .action { + margin-right: 0; + } } } } @@ -148,6 +176,10 @@ .title { .lib-css(color, @gift-item-block-title__color); cursor: pointer; + margin: 0; + padding: @indent__s @indent__xl @indent__s 15px; + position: relative; + .lib-icon-font( @gift-item-block-title-icon__content, @_icon-font-size: @gift-item-block-title-icon__font-size, @@ -158,9 +190,6 @@ @_icon-font-position: after, @_icon-font-display: block ); - margin: 0; - padding: @indent__s @indent__xl @indent__s 15px; - position: relative; } .content { @@ -200,9 +229,7 @@ } } } - } - .order-details-items { .order-items { .order-gift-message { &:not(.expanded-content) { @@ -216,11 +243,6 @@ } } - .options-order-container, - .options-items-container { - margin-bottom: @indent__s; - } - .gift-messages-order { margin-bottom: @indent__m; } @@ -242,8 +264,8 @@ } .gift-item-block { - border-bottom: 0; .lib-css(border-top, @gift-item-block__border-width solid @gift-item-block__border-color); + border-bottom: 0; .title { &:after { @@ -264,7 +286,21 @@ padding-right: 7rem; } - .cart.table-wrapper { + // + // In-table block + // --------------------------------------------- + + .cart { + &.table-wrapper { + .gift-content { + border-top: @border-width__base solid @color-gray-light5; + margin-right: -@mobile-cart-padding; + overflow: hidden; + padding-left: @mobile-cart-padding; + padding-right: @mobile-cart-padding; + } + } + .action-gift { .lib-icon-font( @icon-present, @@ -274,6 +310,7 @@ @_icon-font-color: @minicart-icons-color, @_icon-font-color-hover: @primary__color, @_icon-font-color-active: @minicart-icons-color, + @_icon-font-margin: 0, @_icon-font-position: after ); @@ -288,14 +325,6 @@ } } } - - .gift-content { - border-top: @border-width__base solid @color-gray-light5; - margin-right: -@mobile-cart-padding; - overflow: hidden; - padding-left: @mobile-cart-padding; - padding-right: @mobile-cart-padding; - } } .gift-options-cart-item { @@ -311,16 +340,6 @@ // _____________________________________________ .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) { - .gift-message { - .field { - &:extend(.abs-clearfix all); - .lib-form-field-type-revert( - @_type: inline, - @_type-inline-label-align: left - ); - } - } - .gift-options { position: relative; z-index: 1; @@ -369,6 +388,7 @@ .gift-item-block { .title { + font-size: 1.6rem; padding: @indent__base 0; } } @@ -384,33 +404,19 @@ // In-table block // --------------------------------------------- - .cart.table-wrapper { - .action-gift { - float: left; - .lib-icon-font( - @icon-down, - @_icon-font-size: 1.2rem, - @_icon-font-line-height: 20px, - @_icon-font-color: @minicart-icons-color, - @_icon-font-color-hover: @primary__color, - @_icon-font-color-active: @minicart-icons-color, - @_icon-font-margin: 0 0 0 @indent__s, - @_icon-font-position: after - ); - - &._active { - &:after { - content: @icon-up; + .cart { + &.table-wrapper { + .gift-options { + .actions-toolbar { + clear: both; + padding: 0; + position: static; } } } - .gift-options { - .actions-toolbar { - clear: both; - padding: 0; - position: static; - } + .action-gift { + float: left; } } diff --git a/app/design/frontend/Magento/luma/Magento_GiftWrapping/web/css/source/_module.less b/app/design/frontend/Magento/luma/Magento_GiftWrapping/web/css/source/_module.less index f751f491a6d4786912b6500598bbc355d36f92ef..858beaefc7d94fc94ae6b5e22a123292425bda54 100644 --- a/app/design/frontend/Magento/luma/Magento_GiftWrapping/web/css/source/_module.less +++ b/app/design/frontend/Magento/luma/Magento_GiftWrapping/web/css/source/_module.less @@ -25,6 +25,17 @@ // _____________________________________________ & when (@media-common = true) { + .gift-wrapping { + .label { + .lib-css(margin, @form-field-type-label-block__margin); + display: inline-block; + } + + .field { + margin-bottom: @indent__s; + } + } + .gift-wrapping-info { .lib-css(font-weight, @font-weight__light); font-size: @font-size__l; @@ -99,6 +110,7 @@ .action-remove { &:extend(.abs-action-button-as-link all); margin: -@indent__xs 0 0 @indent__xs; + .lib-icon-font( @icon-trash, @_icon-font-size: 18px, @@ -130,9 +142,15 @@ } .opc-wrapper { - .fieldset.gift-message .field.gift-wrapping { - padding: 0; - width: 100%; + .fieldset { + &.gift-message { + .field { + &.gift-wrapping { + padding: 0; + width: 100%; + } + } + } } } @@ -140,6 +158,7 @@ .table-order-items { .gift-wrapping { margin: @indent__base 0 0; + .title { float: none; } @@ -160,6 +179,8 @@ .gift-summary, .gift-options { + &:extend(.abs-adjustment-incl-excl-tax all); + .price-box { margin-left: 22px; } @@ -173,8 +194,30 @@ font-weight: @font-weight__bold; } } + } - &:extend(.abs-adjustment-incl-excl-tax all); + // + // Multiple Shipping Checkout + // --------------------------------------------- + + .order-options { + .item { + padding-bottom: @indent__base; + } + + .product { + &:extend(.abs-add-clearfix all); + margin-bottom: @indent__s; + } + + .product-image-container { + float: left; + padding-right: @indent__s; + } + + .gift-wrapping { + margin-bottom: @indent__s; + } } } @@ -183,12 +226,16 @@ // _____________________________________________ .media-width(@extremum, @break) when (@extremum = 'max') and (@break = @screen__m) { - .gift-wrapping { - .lib-css(border-bottom, @gift-wrapping__border-width solid @gift-wrapping__border-color); - margin-bottom: @indent__base; - padding-bottom: @indent__s; + .gift-options-cart-item, + .cart-gift-item { + .gift-wrapping { + .lib-css(border-bottom, @gift-wrapping__border-width solid @gift-wrapping__border-color); + margin-bottom: @indent__base; + padding-bottom: @indent__s; + } } + .gift-wrapping-list { width: 100%; } @@ -238,18 +285,42 @@ // _____________________________________________ .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) { - .gift-wrapping { - box-sizing: border-box; - float: left; - padding-right: @indent__base; - width: 50%; - - & + .gift-message { - .lib-css(border-left, @gift-wrapping__border-width solid @gift-wrapping__border-color); + .gift-options-cart-item, + .cart-gift-item { + .gift-wrapping { box-sizing: border-box; float: left; - padding-left: 4.5rem; + padding-right: @indent__base; width: 50%; + + & + .gift-message { + .lib-css(border-left, @gift-wrapping__border-width solid @gift-wrapping__border-color); + box-sizing: border-box; + float: left; + padding-left: 4.5rem; + width: 50%; + } + } + + .gift-summary { + .regular-price { + white-space: nowrap; + } + } + + .gift-wrapping-name { + padding-right: @indent__base; + } + } + + // + // Multiple Shipping Checkout + // --------------------------------------------- + + .order-options, + .table-order-review { + .gift-wrapping { + max-width: 50%; } } } diff --git a/composer.json b/composer.json index e95bd4e1a226d231f72ea191604cdfdf0e06f051..b90db7519b5aa6fabc7839e13918e7d88d8d7c0f 100644 --- a/composer.json +++ b/composer.json @@ -41,7 +41,7 @@ "oyejorge/less.php": "~1.7.0", "pelago/emogrifier": "0.1.1", "tubalmartin/cssmin": "2.4.8-p4", - "magento/magento-composer-installer": "*", + "magento/magento-composer-installer": ">=0.1.11", "braintree/braintree_php": "3.7.0", "symfony/console": "~2.3 <2.7", "symfony/event-dispatcher": "~2.1", diff --git a/composer.lock b/composer.lock index fa33302ecd436068dc0e6f461ee1728a04e33a90..897f4db750e35c4ad1f6ffb4cb9687520c5b36b7 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "aff7fa6dabe298220186da680893030c", - "content-hash": "38de5bfd21f69bb1a076b127b3a80d56", + "hash": "e447a3cde1c69182cd539976df5284d2", + "content-hash": "77f475ee4b3a11984e7cebfd321a1081", "packages": [ { "name": "braintree/braintree_php", @@ -1253,16 +1253,16 @@ }, { "name": "symfony/event-dispatcher", - "version": "v2.8.7", + "version": "v2.8.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "2a6b8713f8bdb582058cfda463527f195b066110" + "reference": "b180b70439dca70049b6b9b7e21d75e6e5d7aca9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2a6b8713f8bdb582058cfda463527f195b066110", - "reference": "2a6b8713f8bdb582058cfda463527f195b066110", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b180b70439dca70049b6b9b7e21d75e6e5d7aca9", + "reference": "b180b70439dca70049b6b9b7e21d75e6e5d7aca9", "shasum": "" }, "require": { @@ -1309,20 +1309,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2016-06-06 11:11:27" + "time": "2016-06-29 05:29:29" }, { "name": "symfony/filesystem", - "version": "v2.8.7", + "version": "v2.8.8", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "dee379131dceed90a429e951546b33edfe7dccbb" + "reference": "7258ddd6f987053f21fa43d03430580ba54e6096" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/dee379131dceed90a429e951546b33edfe7dccbb", - "reference": "dee379131dceed90a429e951546b33edfe7dccbb", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/7258ddd6f987053f21fa43d03430580ba54e6096", + "reference": "7258ddd6f987053f21fa43d03430580ba54e6096", "shasum": "" }, "require": { @@ -1358,20 +1358,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2016-04-12 18:01:21" + "time": "2016-06-29 05:31:50" }, { "name": "symfony/finder", - "version": "v3.1.1", + "version": "v3.1.2", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "40d17ed287bf51a2f884c4619ce8ff2a1c5cd219" + "reference": "8201978de88a9fa0923e18601bb17f1df9c721e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/40d17ed287bf51a2f884c4619ce8ff2a1c5cd219", - "reference": "40d17ed287bf51a2f884c4619ce8ff2a1c5cd219", + "url": "https://api.github.com/repos/symfony/finder/zipball/8201978de88a9fa0923e18601bb17f1df9c721e7", + "reference": "8201978de88a9fa0923e18601bb17f1df9c721e7", "shasum": "" }, "require": { @@ -1407,20 +1407,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2016-05-13 18:06:41" + "time": "2016-06-29 05:41:56" }, { "name": "symfony/process", - "version": "v2.8.7", + "version": "v2.8.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "115347d00c342198cdc52a7bd8bc15b5ab43500c" + "reference": "89f33c16796415ccfd8bb3cf8d520cbb79899bfe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/115347d00c342198cdc52a7bd8bc15b5ab43500c", - "reference": "115347d00c342198cdc52a7bd8bc15b5ab43500c", + "url": "https://api.github.com/repos/symfony/process/zipball/89f33c16796415ccfd8bb3cf8d520cbb79899bfe", + "reference": "89f33c16796415ccfd8bb3cf8d520cbb79899bfe", "shasum": "" }, "require": { @@ -1456,7 +1456,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2016-06-06 11:11:27" + "time": "2016-06-29 05:29:29" }, { "name": "tedivm/jshrink", @@ -3105,16 +3105,16 @@ }, { "name": "fabpot/php-cs-fixer", - "version": "v1.11.4", + "version": "v1.11.5", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "eeb280e909834603ffe03524dbe0066e77c83084" + "reference": "d3d08b76753092a232a4d8c3b94095ac06898719" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/eeb280e909834603ffe03524dbe0066e77c83084", - "reference": "eeb280e909834603ffe03524dbe0066e77c83084", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/d3d08b76753092a232a4d8c3b94095ac06898719", + "reference": "d3d08b76753092a232a4d8c3b94095ac06898719", "shasum": "" }, "require": { @@ -3128,8 +3128,12 @@ "symfony/process": "~2.3|~3.0", "symfony/stopwatch": "~2.5|~3.0" }, + "conflict": { + "hhvm": "<3.9" + }, "require-dev": { - "satooshi/php-coveralls": "0.7.*@dev" + "phpunit/phpunit": "^4.5|^5", + "satooshi/php-coveralls": "^0.7.1" }, "bin": [ "php-cs-fixer" @@ -3156,7 +3160,7 @@ ], "description": "A tool to automatically fix PHP code style", "abandoned": "friendsofphp/php-cs-fixer", - "time": "2016-06-07 07:51:27" + "time": "2016-07-06 22:49:35" }, { "name": "lusitanian/oauth", @@ -4189,16 +4193,16 @@ }, { "name": "symfony/config", - "version": "v2.8.7", + "version": "v2.8.8", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "a2edd59c2163c65747fc3f35d132b5a39266bd05" + "reference": "0926e69411eba491803dbafb9f1f233e2ced58d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/a2edd59c2163c65747fc3f35d132b5a39266bd05", - "reference": "a2edd59c2163c65747fc3f35d132b5a39266bd05", + "url": "https://api.github.com/repos/symfony/config/zipball/0926e69411eba491803dbafb9f1f233e2ced58d0", + "reference": "0926e69411eba491803dbafb9f1f233e2ced58d0", "shasum": "" }, "require": { @@ -4238,20 +4242,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2016-06-06 11:11:27" + "time": "2016-06-29 05:31:50" }, { "name": "symfony/dependency-injection", - "version": "v2.8.7", + "version": "v2.8.8", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "2d05009d890cf1139988ff059b5b2e0eb280ed13" + "reference": "2dd85de8216079d1360b2b14988cd5cdbbb49063" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/2d05009d890cf1139988ff059b5b2e0eb280ed13", - "reference": "2d05009d890cf1139988ff059b5b2e0eb280ed13", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/2dd85de8216079d1360b2b14988cd5cdbbb49063", + "reference": "2dd85de8216079d1360b2b14988cd5cdbbb49063", "shasum": "" }, "require": { @@ -4301,20 +4305,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2016-06-06 11:11:27" + "time": "2016-06-29 05:31:50" }, { "name": "symfony/stopwatch", - "version": "v3.1.1", + "version": "v3.1.2", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "e7238f98c90b99e9b53f3674a91757228663b04d" + "reference": "bb42806b12c5f89db4ebf64af6741afe6d8457e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/e7238f98c90b99e9b53f3674a91757228663b04d", - "reference": "e7238f98c90b99e9b53f3674a91757228663b04d", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/bb42806b12c5f89db4ebf64af6741afe6d8457e1", + "reference": "bb42806b12c5f89db4ebf64af6741afe6d8457e1", "shasum": "" }, "require": { @@ -4350,20 +4354,20 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2016-06-06 11:42:41" + "time": "2016-06-29 05:41:56" }, { "name": "symfony/yaml", - "version": "v2.8.7", + "version": "v2.8.8", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "815fabf3f48c7d1df345a69d1ad1a88f59757b34" + "reference": "dba4bb5846798cd12f32e2d8f3f35d77045773c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/815fabf3f48c7d1df345a69d1ad1a88f59757b34", - "reference": "815fabf3f48c7d1df345a69d1ad1a88f59757b34", + "url": "https://api.github.com/repos/symfony/yaml/zipball/dba4bb5846798cd12f32e2d8f3f35d77045773c8", + "reference": "dba4bb5846798cd12f32e2d8f3f35d77045773c8", "shasum": "" }, "require": { @@ -4399,7 +4403,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2016-06-06 11:11:27" + "time": "2016-06-29 05:29:29" }, { "name": "theseer/fdomdocument", diff --git a/lib/internal/Magento/Framework/View/Layout/Data/Structure.php b/lib/internal/Magento/Framework/View/Layout/Data/Structure.php index dcd01d423cdb48b64ef05198df8f6d27ad80f381..0612231ad5cc896b1daf24c3772ce6057c44b825 100644 --- a/lib/internal/Magento/Framework/View/Layout/Data/Structure.php +++ b/lib/internal/Magento/Framework/View/Layout/Data/Structure.php @@ -119,7 +119,7 @@ class Structure extends DataStructure $siblingParentName = $this->getParentId($sibling); if ($parentName !== $siblingParentName) { if ($this->state->getMode() === State::MODE_DEVELOPER) { - $this->logger->critical( + $this->logger->info( "Broken reference: the '{$childName}' tries to reorder itself towards '{$sibling}', but " . "their parents are different: '{$parentName}' and '{$siblingParentName}' respectively." ); diff --git a/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php b/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php index 2e0ee3b63dcad103ddcdcc51a36f5930c3d10428..870f147a436342f13b196b430279e631ce60c981 100644 --- a/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php +++ b/lib/internal/Magento/Framework/View/Layout/ScheduledStructure/Helper.php @@ -201,7 +201,7 @@ class Helper $scheduledStructure->setElementToBrokenParentList($key); if ($this->state->getMode() === State::MODE_DEVELOPER) { - $this->logger->critical( + $this->logger->info( "Broken reference: the '{$name}' element cannot be added as child to '{$parentName}', " . 'because the latter doesn\'t exist' ); diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Data/StructureTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Data/StructureTest.php index a5f00f082402689bd0943245519841c3e930d16b..d9c39373d76d4447f2a81c877e6e9838ab50ea89 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/Data/StructureTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/Data/StructureTest.php @@ -64,7 +64,7 @@ class StructureTest extends \PHPUnit_Framework_TestCase ->method('getMode') ->willReturn($stateMode); $this->loggerMock->expects($loggerExpects) - ->method('critical') + ->method('info') ->with( "Broken reference: the '{$childName}' tries to reorder itself towards '', but " . "their parents are different: '{$parentName}' and '' respectively." diff --git a/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php b/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php index 6cb3a5cfdca8366d5cb439acb0f8ee8c00277b3f..8803392d184f0b329cfe22b5492da83b5136fdf7 100644 --- a/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php +++ b/lib/internal/Magento/Framework/View/Test/Unit/Layout/ScheduledStructure/HelperTest.php @@ -181,7 +181,7 @@ class HelperTest extends \PHPUnit_Framework_TestCase ->method('getMode') ->willReturn($stateMode); $this->loggerMock->expects($loggerExpects) - ->method('critical') + ->method('info') ->with( "Broken reference: the '{$key}' element cannot be added as child to '{$parentName}', " . 'because the latter doesn\'t exist' diff --git a/lib/web/css/source/lib/_dropdowns.less b/lib/web/css/source/lib/_dropdowns.less index f3559356c365a616bd2a91c94832de0d881af184..be9cef120a686e378d8ff2f681af666ff0d9d6a8 100644 --- a/lib/web/css/source/lib/_dropdowns.less +++ b/lib/web/css/source/lib/_dropdowns.less @@ -253,6 +253,7 @@ .lib-css(z-index, @_dropdown-list-z-index); box-sizing: border-box; display: none; + position: absolute; ._lib-dropdown-list-position( @_dropdown-list-position-top, @@ -291,7 +292,6 @@ @{_options-selector} { display: block; - position: absolute; } } } diff --git a/lib/web/mage/apply/scripts.js b/lib/web/mage/apply/scripts.js index 7f059a45ae5cd9acbb7c2c1f330419d8abe9f5a8..3b87f4fd2f40e6330f1577ca8dc2251a9f6a04d3 100644 --- a/lib/web/mage/apply/scripts.js +++ b/lib/web/mage/apply/scripts.js @@ -88,7 +88,7 @@ define([ /** * Parses 'script' tags with a custom type attribute and moves it's data - * to a 'data-mage-init' attribute of an elemennt found by provided selector. + * to a 'data-mage-init' attribute of an element found by provided selector. * Note: All found script nodes will be removed from DOM. * * @returns {Array} An array of components not assigned to the specific element. diff --git a/lib/web/mage/menu.js b/lib/web/mage/menu.js index a3f4ad36d0afa39f911f027754afab67e09925d7..4562285654c70f8b991e89866dfc82977842dd64 100644 --- a/lib/web/mage/menu.js +++ b/lib/web/mage/menu.js @@ -18,7 +18,9 @@ define([ options: { responsive: false, expanded: false, - delay: 300 + showDelay: 42, + hideDelay: 300, + mediaBreakpoint: '(max-width: 768px)' }, _create: function () { var self = this; @@ -31,7 +33,6 @@ define([ _init: function () { this._super(); - this.delay = this.options.delay; if (this.options.expanded === true) { this.isExpanded(); @@ -39,7 +40,7 @@ define([ if (this.options.responsive === true) { mediaCheck({ - media: '(max-width: 640px)', + media: this.options.mediaBreakpoint, entry: $.proxy(function () { this._toggleMobileMode(); }, this), @@ -70,23 +71,25 @@ define([ }, toggle: function () { - if ($('html').hasClass('nav-open')) { - $('html').removeClass('nav-open'); + var html = $('html'); + + if (html.hasClass('nav-open')) { + html.removeClass('nav-open'); setTimeout(function () { - $('html').removeClass('nav-before-open'); - }, 300); + html.removeClass('nav-before-open'); + }, this.options.hideDelay); } else { - $('html').addClass('nav-before-open'); + html.addClass('nav-before-open'); setTimeout(function () { - $('html').addClass('nav-open'); - }, 42); + html.addClass('nav-open'); + }, this.options.showDelay); } }, //Add class for expanded option isExpanded: function () { var subMenus = this.element.find(this.options.menus), - expandedMenus = subMenus.find('ul'); + expandedMenus = subMenus.find(this.options.menus); expandedMenus.addClass('expanded'); }, @@ -105,7 +108,7 @@ define([ return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); } - if (this.active.closest('ul').attr('aria-expanded') != 'true') { + if (this.active.closest(this.options.menus).attr('aria-expanded') != 'true') { switch (event.keyCode) { case $.ui.keyCode.PAGE_UP: @@ -334,15 +337,16 @@ define([ }, "mouseenter .ui-menu-item": function (event) { var target = $(event.currentTarget), + submenu = this.options.menus, ulElement, ulElementWidth, width, targetPageX, rightBound; - if (target.has('ul')) { - ulElement = target.find('ul'); - ulElementWidth = target.find('ul').outerWidth(true); + if (target.has(submenu)) { + ulElement = target.find(submenu); + ulElementWidth = ulElement.outerWidth(true); width = target.outerWidth() * 2; targetPageX = target.offset().left; rightBound = $(window).width(); diff --git a/lib/web/mage/validation.js b/lib/web/mage/validation.js index 209db5d024acc2d37f1c90db38117d37feca14fe..aff3141c2d4d1287ae2a801fd2d411bfa41b231a 100644 --- a/lib/web/mage/validation.js +++ b/lib/web/mage/validation.js @@ -1476,8 +1476,8 @@ errorPlacement: function (error, element) { var errorPlacement = element; // logic for date-picker error placement - if (element.hasClass('hasDatepicker')) { - errorPlacement = element.siblings('img'); + if (element.hasClass('_has-datepicker')) { + errorPlacement = element.siblings('button'); } // logic for field wrapper var fieldWrapper = element.closest('.addon'); @@ -1488,6 +1488,10 @@ if (element.is(':checkbox') || element.is(':radio')) { errorPlacement = element.siblings('label').last(); } + //logic for control with tooltip + if (element.siblings('.tooltip').length) { + errorPlacement = element.siblings('.tooltip'); + } errorPlacement.after(error); } }, diff --git a/setup/pub/magento/setup/install-extension-grid.js b/setup/pub/magento/setup/install-extension-grid.js index 7e213fdbba9bb27beb60ced92c715f8d37686927..04a3bb1efb547fd73ad4f90046179cf8c171068b 100644 --- a/setup/pub/magento/setup/install-extension-grid.js +++ b/setup/pub/magento/setup/install-extension-grid.js @@ -143,6 +143,7 @@ angular.module('install-extension-grid', ['ngStorage', 'clickOut']) version: extension.version } ]; + $localStorage.moduleName = extension.name; $scope.error = false; $scope.errorMessage = ''; } diff --git a/setup/pub/magento/setup/select-version.js b/setup/pub/magento/setup/select-version.js index 89bf9b63c1be47064bb5be77ab271f1888e3260e..83c201429f97bee59e8209e1142ced0923fa65d6 100644 --- a/setup/pub/magento/setup/select-version.js +++ b/setup/pub/magento/setup/select-version.js @@ -181,6 +181,7 @@ angular.module('select-version', ['ngStorage']) $scope.packages.splice(1, $scope.totalForGrid); } } + $localStorage.moduleName = ''; $localStorage.packages = $scope.packages; $scope.nextState(); };