_carrierFactory = $carrierFactory; } /** * Prepares layout of block * * @return void */ protected function _prepareLayout() { $onclick = "submitAndReloadArea($('shipment_tracking_info').parentNode, '" . $this->getSubmitUrl() . "')"; $this->addChild( 'save_button', \Magento\Backend\Block\Widget\Button::class, ['label' => __('Add'), 'class' => 'save', 'onclick' => $onclick] ); } /** * Retrieve save url * * @return string */ public function getSubmitUrl() { return $this->getUrl('adminhtml/*/addTrack/', ['shipment_id' => $this->getShipment()->getId()]); } /** * Retrieve save button html * * @return string */ public function getSaveButtonHtml() { return $this->getChildHtml('save_button'); } /** * Retrieve remove url * * @param \Magento\Sales\Model\Order\Shipment\Track $track * @return string */ public function getRemoveUrl($track) { return $this->getUrl( 'adminhtml/*/removeTrack/', ['shipment_id' => $this->getShipment()->getId(), 'track_id' => $track->getId()] ); } /** * @param string $code * @return \Magento\Framework\Phrase|string|bool */ public function getCarrierTitle($code) { $carrier = $this->_carrierFactory->create($code); return $carrier ? $carrier->getConfigData('title') : __('Custom Value'); } }