<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\InventoryShippingAdminUi\Ui\Component\Control\SourceSelection; use Magento\Framework\View\Element\UiComponent\Control\ButtonProviderInterface; use Magento\Framework\UrlInterface; use Magento\Framework\App\RequestInterface; class BackButton implements ButtonProviderInterface { /** * @var UrlInterface */ private $urlBuilder; /** * @var RequestInterface */ private $request; /** * @param UrlInterface $urlBuilder * @param RequestInterface $request */ public function __construct( UrlInterface $urlBuilder, RequestInterface $request ) { $this->urlBuilder = $urlBuilder; $this->request = $request; } /** * Retrieve button-specified settings * * @return array */ public function getButtonData() { return [ 'label' => __('Back'), 'on_click' => sprintf("location.href = '%s';", $this->getBackUrl()), 'class' => 'back', 'sort_order' => 10 ]; } /** * Get URL for back button * * @return string */ public function getBackUrl() { $orderId = $this->request->getParam('order_id'); return $this->urlBuilder->getUrl( 'sales/order/view', [ 'order_id' => $orderId ] ); } }