diff --git a/app/code/Magento/Sitemap/Controller/Adminhtml/Sitemap/Edit.php b/app/code/Magento/Sitemap/Controller/Adminhtml/Sitemap/Edit.php index 14771e7f03a3b..117f73311b644 100644 --- a/app/code/Magento/Sitemap/Controller/Adminhtml/Sitemap/Edit.php +++ b/app/code/Magento/Sitemap/Controller/Adminhtml/Sitemap/Edit.php @@ -6,25 +6,30 @@ namespace Magento\Sitemap\Controller\Adminhtml\Sitemap; +use Magento\Backend\App\Action\Context; +use Magento\Backend\Block\Template; +use Magento\Backend\Model\Session; use Magento\Framework\App\Action\HttpGetActionInterface; +use Magento\Framework\Registry; +use Magento\Sitemap\Controller\Adminhtml\Sitemap; /** * Controller class Edit. Responsible for rendering of a sitemap edit page */ -class Edit extends \Magento\Sitemap\Controller\Adminhtml\Sitemap implements HttpGetActionInterface +class Edit extends Sitemap implements HttpGetActionInterface { /** * Core registry * - * @var \Magento\Framework\Registry + * @var Registry */ - protected $_coreRegistry = null; + protected $_coreRegistry; /** - * @param \Magento\Backend\App\Action\Context $context - * @param \Magento\Framework\Registry $coreRegistry + * @param Context $context + * @param Registry $coreRegistry */ - public function __construct(\Magento\Backend\App\Action\Context $context, \Magento\Framework\Registry $coreRegistry) + public function __construct(Context $context, Registry $coreRegistry) { $this->_coreRegistry = $coreRegistry; parent::__construct($context); @@ -53,7 +58,7 @@ public function execute() } // 3. Set entered data if was error when we do save - $data = $this->_objectManager->get(\Magento\Backend\Model\Session::class)->getFormData(true); + $data = $this->_objectManager->get(Session::class)->getFormData(true); if (!empty($data)) { $model->setData($data); } @@ -67,6 +72,8 @@ public function execute() $id ? __('Edit Sitemap') : __('New Sitemap') )->_addContent( $this->_view->getLayout()->createBlock(\Magento\Sitemap\Block\Adminhtml\Edit::class) + )->_addJs( + $this->_view->getLayout()->createBlock(Template::class)->setTemplate('Magento_Sitemap::js.phtml') ); $this->_view->getPage()->getConfig()->getTitle()->prepend(__('Site Map')); $this->_view->getPage()->getConfig()->getTitle()->prepend( diff --git a/app/code/Magento/Sitemap/view/adminhtml/templates/js.phtml b/app/code/Magento/Sitemap/view/adminhtml/templates/js.phtml new file mode 100644 index 0000000000000..4e7ed34ed4a7e --- /dev/null +++ b/app/code/Magento/Sitemap/view/adminhtml/templates/js.phtml @@ -0,0 +1,14 @@ + + + diff --git a/app/code/Magento/Sitemap/view/adminhtml/web/js/form-submit-loader.js b/app/code/Magento/Sitemap/view/adminhtml/web/js/form-submit-loader.js new file mode 100644 index 0000000000000..6b7ba6be65b22 --- /dev/null +++ b/app/code/Magento/Sitemap/view/adminhtml/web/js/form-submit-loader.js @@ -0,0 +1,19 @@ +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +define([ + 'jquery' +], function ($) { + 'use strict'; + + return function (data, element) { + + $(element).on('save', function () { + if ($(this).valid()) { + $('body').trigger('processStart'); + } + }); + }; +});