From fe83f6925c5ab634202276365f7d96e160f59b2a Mon Sep 17 00:00:00 2001
From: Andrii Lugovyi <alugovyi@ebay.com>
Date: Sat, 17 Oct 2015 21:25:48 +0300
Subject: [PATCH] =?UTF-8?q?MAGETWO-44055:=20[GITHUB]=20Admin=20product=20?=
 =?UTF-8?q?=C2=ABCustom=20Options=C2=BB=20tab=20controls=20(=C2=ABImport?=
 =?UTF-8?q?=20Options=C2=BB,=20=C2=ABAdd=20New=20Option=C2=BB=20buttons)?=
 =?UTF-8?q?=20do=20not=20work=20when=20non-English=20locale=20is=20used=20?=
 =?UTF-8?q?#1971?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../adminhtml/templates/catalog/product/edit/options.phtml    | 2 +-
 .../templates/catalog/product/edit/options/option.phtml       | 2 +-
 .../Magento/Catalog/view/adminhtml/web/js/custom-options.js   | 2 +-
 lib/internal/Magento/Framework/View/Element/Html/Select.php   | 4 +++-
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml
index 67b1e95e308..6ed486f4c0b 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options.phtml
@@ -9,7 +9,7 @@
 ?>
 <?php /** @var $block \Magento\Catalog\Block\Adminhtml\Product\Edit\Tab\Options */ ?>
 
-<div class="fieldset-wrapper" id="product-custom-options-wrapper">
+<div class="fieldset-wrapper" id="product-custom-options-wrapper" data-block="product-custom-options">
     <div class="fieldset-wrapper-title">
         <strong class="title">
             <span><?php /* @escapeNotVerified */ echo __('Custom Options') ?></span>
diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/option.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/option.phtml
index 3403d4447f8..ef38f34b168 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/option.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/option.phtml
@@ -88,7 +88,7 @@ require([
 ], function(jQuery){
 
 jQuery(function ($) {
-    var fieldSet = $('#Custom_Options');
+    var fieldSet = $('[data-block=product-custom-options]');
     fieldSet.customOptions(<?php /* @escapeNotVerified */ echo $this->helper('Magento\Framework\Json\Helper\Data')->jsonEncode(
         [
             'fieldId' => $block->getFieldId(),
diff --git a/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js b/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js
index b7a16ce3db8..3c7163a2227 100644
--- a/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js
+++ b/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js
@@ -216,7 +216,7 @@ define([
                     var widget = this,
                         currentElement = $(event.target),
                         parentId = '#' + currentElement.closest('.fieldset-alt').attr('id'),
-                        group = currentElement.find('[value="' + currentElement.val() + '"]').closest('optgroup').attr('label'),
+                        group = currentElement.find('[value="' + currentElement.val() + '"]').closest('optgroup').attr('data-name'),
                         previousGroup = $(parentId + '_previous_group').val(),
                         previousBlock = $(parentId + '_type_' + previousGroup),
                         tmpl;
diff --git a/lib/internal/Magento/Framework/View/Element/Html/Select.php b/lib/internal/Magento/Framework/View/Element/Html/Select.php
index ab54697632a..2b240270ba7 100644
--- a/lib/internal/Magento/Framework/View/Element/Html/Select.php
+++ b/lib/internal/Magento/Framework/View/Element/Html/Select.php
@@ -154,16 +154,18 @@ class Select extends \Magento\Framework\View\Element\AbstractBlock
             if ($isArrayOption && is_array($option)) {
                 $value = $option['value'];
                 $label = (string)$option['label'];
+                $name = $option['label'] instanceof \Magento\Framework\Phrase ? $option['label']->getText() : $label;
                 $params = !empty($option['params']) ? $option['params'] : [];
             } else {
                 $value = (string)$key;
                 $label = (string)$option;
+                $name = $label;
                 $isArrayOption = false;
                 $params = [];
             }
 
             if (is_array($value)) {
-                $html .= '<optgroup label="' . $label . '">';
+                $html .= '<optgroup label="' . $label . '" data-name="' . $name . '">';
                 foreach ($value as $keyGroup => $optionGroup) {
                     if (!is_array($optionGroup)) {
                         $optionGroup = ['value' => $keyGroup, 'label' => $optionGroup];
-- 
GitLab