9
9
?>
10
10
<?php /** @var $block Magento\Shipping\Block\Adminhtml\Order\Tracking\View */ ?>
11
11
<div class="admin__control-table-wrapper">
12
- <table class="data-table admin__control-table" id="shipment_tracking_info">
13
- <thead>
14
- <tr class="headings">
15
- <th class="col-carrier"><?= $ block ->escapeHtml (__ ('Carrier ' )) ?> </th>
16
- <th class="col-title"><?= $ block ->escapeHtml (__ ('Title ' )) ?> </th>
17
- <th class="col-number"><?= $ block ->escapeHtml (__ ('Number ' )) ?> </th>
18
- <th class="col-delete last"><?= $ block ->escapeHtml (__ ('Action ' )) ?> </th>
19
- </tr>
20
- </thead>
21
- <tfoot>
22
- <tr>
23
- <td class="col-carrier">
24
- <select name="carrier"
25
- class="select admin__control-select"
26
- onchange="selectCarrier(this)">
27
- <?php foreach ($ block ->getCarriers () as $ _code => $ _name ) : ?>
28
- <option value="<?= $ block ->escapeHtmlAttr ($ _code ) ?> "><?= $ block ->escapeHtml ($ _name ) ?> </option>
29
- <?php endforeach ; ?>
30
- </select>
31
- </td>
32
- <td class="col-title">
33
- <input class="input-text admin__control-text"
34
- type="text"
35
- id="tracking_title"
36
- name="title"
37
- value="" />
38
- </td>
39
- <td class="col-number">
40
- <input class="input-text admin__control-text"
41
- type="text"
42
- id="tracking_number"
43
- name="number"
44
- value="" />
45
- </td>
46
- <td class="col-delete last"><?= $ block ->getSaveButtonHtml () ?> </td>
47
- </tr>
48
- </tfoot>
49
- <?php if ($ _tracks = $ block ->getShipment ()->getAllTracks ()) : ?>
50
- <tbody>
51
- <?php $ i = 0 ; foreach ($ _tracks as $ _track ) :$ i ++ ?>
52
- <tr class="<?= /* @noEscape */ ($ i %2 == 0 ) ? 'even ' : 'odd ' ?> ">
53
- <td class="col-carrier">
54
- <?= $ block ->escapeHtml ($ block ->getCarrierTitle ($ _track ->getCarrierCode ())) ?>
55
- </td>
56
- <td class="col-title"><?= $ block ->escapeHtml ($ _track ->getTitle ()) ?> </td>
57
- <td class="col-number">
58
- <?php if ($ _track ->isCustom ()) : ?>
59
- <?= $ block ->escapeHtml ($ _track ->getNumber ()) ?>
60
- <?php else : ?>
61
- <a href="#" onclick="popWin('<?= $ block ->escapeJs ($ block ->escapeUrl ($ this ->helper (Magento \Shipping \Helper \Data::class)->getTrackingPopupUrlBySalesModel ($ _track ))) ?> ','trackorder','width=800,height=600,resizable=yes,scrollbars=yes')"><?= $ block ->escapeHtml ($ _track ->getNumber ()) ?> </a>
62
- <div id="shipment_tracking_info_response_<?= (int ) $ _track ->getId () ?> "></div>
63
- <?php endif ; ?>
64
- </td>
65
- <td class="col-delete last"><button class="action-delete" type="button" onclick="deleteTrackingNumber('<?= $ block ->escapeJs ($ block ->escapeUrl ($ block ->getRemoveUrl ($ _track ))) ?> '); return false;"><span><?= $ block ->escapeHtml (__ ('Delete ' )) ?> </span></button></td>
66
- </tr>
67
- <?php endforeach ; ?>
68
- </tbody>
69
- <?php endif ; ?>
70
- </table>
12
+ <form id="tracking-shipping-form" data-mage-init='{"validation": {}}'>
13
+ <table class="data-table admin__control-table" id="shipment_tracking_info">
14
+ <thead>
15
+ <tr class="headings">
16
+ <th class="col-carrier"><?= $ block ->escapeHtml (__ ('Carrier ' )) ?> </th>
17
+ <th class="col-title"><?= $ block ->escapeHtml (__ ('Title ' )) ?> </th>
18
+ <th class="col-number"><?= $ block ->escapeHtml (__ ('Number ' )) ?> </th>
19
+ <th class="col-delete last"><?= $ block ->escapeHtml (__ ('Action ' )) ?> </th>
20
+ </tr>
21
+ </thead>
22
+ <tfoot>
23
+ <tr>
24
+ <td class="col-carrier">
25
+ <select name="carrier"
26
+ class="select admin__control-select"
27
+ onchange="selectCarrier(this)">
28
+ <?php foreach ($ block ->getCarriers () as $ _code => $ _name ) : ?>
29
+ <option value="<?= $ block ->escapeHtmlAttr ($ _code ) ?> "><?= $ block ->escapeHtml ($ _name ) ?> </option>
30
+ <?php endforeach ; ?>
31
+ </select>
32
+ </td>
33
+ <td class="col-title">
34
+ <input class="input-text admin__control-text"
35
+ type="text"
36
+ id="tracking_title"
37
+ name="title"
38
+ value="" />
39
+ </td>
40
+ <td class="col-number">
41
+ <input class="input-text admin__control-text required-entry"
42
+ type="text"
43
+ id="tracking_number"
44
+ name="number"
45
+ value="" />
46
+ </td>
47
+ <td class="col-delete last"><?= $ block ->getSaveButtonHtml () ?> </td>
48
+ </tr>
49
+ </tfoot>
50
+ <?php if ($ _tracks = $ block ->getShipment ()->getAllTracks ()) : ?>
51
+ <tbody>
52
+ <?php $ i = 0 ; foreach ($ _tracks as $ _track ) :$ i ++ ?>
53
+ <tr class="<?= /* @noEscape */ ($ i %2 == 0 ) ? 'even ' : 'odd ' ?> ">
54
+ <td class="col-carrier">
55
+ <?= $ block ->escapeHtml ($ block ->getCarrierTitle ($ _track ->getCarrierCode ())) ?>
56
+ </td>
57
+ <td class="col-title"><?= $ block ->escapeHtml ($ _track ->getTitle ()) ?> </td>
58
+ <td class="col-number">
59
+ <?php if ($ _track ->isCustom ()) : ?>
60
+ <?= $ block ->escapeHtml ($ _track ->getNumber ()) ?>
61
+ <?php else : ?>
62
+ <a href="#" onclick="popWin('<?= $ block ->escapeJs ($ block ->escapeUrl ($ this ->helper (Magento \Shipping \Helper \Data::class)->getTrackingPopupUrlBySalesModel ($ _track ))) ?> ','trackorder','width=800,height=600,resizable=yes,scrollbars=yes')"><?= $ block ->escapeHtml ($ _track ->getNumber ()) ?> </a>
63
+ <div id="shipment_tracking_info_response_<?= (int ) $ _track ->getId () ?> "></div>
64
+ <?php endif ; ?>
65
+ </td>
66
+ <td class="col-delete last"><button class="action-delete" type="button" onclick="deleteTrackingNumber('<?= $ block ->escapeJs ($ block ->escapeUrl ($ block ->getRemoveUrl ($ _track ))) ?> '); return false;"><span><?= $ block ->escapeHtml (__ ('Delete ' )) ?> </span></button></td>
67
+ </tr>
68
+ <?php endforeach ; ?>
69
+ </tbody>
70
+ <?php endif ; ?>
71
+ </table>
72
+ </form>
71
73
</div>
72
74
73
75
<script>
74
- require(['prototype'], function(){
75
-
76
+ require(['prototype', 'jquery'], function(prototype, $j) {
76
77
//<![CDATA[
77
78
function selectCarrier(elem) {
78
79
var option = elem.options[elem.selectedIndex];
79
80
$('tracking_title').value = option.value && option.value != 'custom' ? option.text : '';
80
81
}
81
82
83
+ function saveTrackingInfo(node, url) {
84
+ var form = $j('#tracking-shipping-form');
85
+
86
+ if (form.validation() && form.validation('isValid')) {
87
+ submitAndReloadArea(node, url);
88
+ }
89
+ }
90
+
82
91
function deleteTrackingNumber(url) {
83
92
if (confirm('<?= $ block ->escapeJs ($ block ->escapeHtml (__ ('Are you sure? ' ))) ?> ')) {
84
93
submitAndReloadArea($('shipment_tracking_info').parentNode, url)
@@ -87,6 +96,7 @@ function deleteTrackingNumber(url) {
87
96
88
97
window.selectCarrier = selectCarrier;
89
98
window.deleteTrackingNumber = deleteTrackingNumber;
99
+ window.saveTrackingInfo = saveTrackingInfo;
90
100
//]]>
91
101
92
102
});
0 commit comments