From e78ea61cc080a38bb7985f04b5bf33ab0547cf73 Mon Sep 17 00:00:00 2001 From: Oleksandr Miroshnichenko <omiroshnichenko@magento.com> Date: Tue, 2 Jan 2018 14:47:09 +0200 Subject: [PATCH] magento/magento2#12294: Bug: Adding Custom Attribute - The value of Admin scope can't be empty --- .../templates/catalog/product/attribute/options.phtml | 2 +- .../Magento/Catalog/view/adminhtml/web/js/options.js | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/options.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/options.phtml index 6ff0e193a77..f812a27f87a 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/options.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/options.phtml @@ -57,7 +57,7 @@ $stores = $block->getStoresSortedBySortOrder(); <input type="hidden" id="option-count-check" value="" /> </div> <script id="row-template" type="text/x-magento-template"> - <tr> + <tr <% if (data.rowClasses) { %>class="<%- data.rowClasses %>"<% } %>> <td class="col-draggable"> <?php if (!$block->getReadOnly() && !$block->canManageOptionDefaultOnly()): ?> <div data-role="draggable-handle" class="draggable-handle" diff --git a/app/code/Magento/Catalog/view/adminhtml/web/js/options.js b/app/code/Magento/Catalog/view/adminhtml/web/js/options.js index 89ca97ae53c..787516a9abf 100644 --- a/app/code/Magento/Catalog/view/adminhtml/web/js/options.js +++ b/app/code/Magento/Catalog/view/adminhtml/web/js/options.js @@ -24,6 +24,7 @@ define([ totalItems: 0, rendered: 0, template: mageTemplate('#row-template'), + newOptionClass: 'new-option', isReadOnly: config.isReadOnly, add: function (data, render) { var isNewOption = false, @@ -32,7 +33,8 @@ define([ if (typeof data.id == 'undefined') { data = { 'id': 'option_' + this.itemCount, - 'sort_order': this.itemCount + 1 + 'sort_order': this.itemCount + 1, + 'rowClasses': this.newOptionClass }; isNewOption = true; } @@ -81,12 +83,13 @@ define([ element.addClassName('no-display'); element.addClassName('template'); element.hide(); - jQuery(element).find('input').each(function(index, el) { - el.disabled = 'disabled'; - }); this.totalItems--; this.updateItemsCountField(); } + + if (element.hasClassName(this.newOptionClass)) { + element.remove(); + } }, updateItemsCountField: function () { $('option-count-check').value = this.totalItems > 0 ? '1' : ''; -- GitLab