extended.phtml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. // @codingStandardsIgnoreFile
  7. ?>
  8. <?php
  9. /**
  10. * Template for \Magento\Backend\Block\Widget\Grid
  11. *
  12. * getId()
  13. * getCollection()
  14. * getColumns()
  15. * getPagerVisibility()
  16. * getVarNamePage()
  17. */
  18. $numColumns = sizeof($block->getColumns());
  19. /**
  20. * @var \Magento\Backend\Block\Widget\Grid\Extended $block
  21. */
  22. ?>
  23. <?php if ($block->getCollection()): ?>
  24. <?php if ($block->canDisplayContainer()): ?>
  25. <div id="<?= $block->escapeHtml($block->getId()) ?>" data-grid-id="<?= $block->escapeHtml($block->getId()) ?>">
  26. <?php else: ?>
  27. <?= $block->getLayout()->getMessagesBlock()->getGroupedHtml() ?>
  28. <?php endif; ?>
  29. <?php $massActionAvailable = $block->getMassactionBlock() && $block->getMassactionBlock()->isAvailable() ?>
  30. <?php if ($block->getPagerVisibility() || $block->getExportTypes() || $block->getFilterVisibility() || $massActionAvailable): ?>
  31. <div class="admin__data-grid-header admin__data-grid-toolbar">
  32. <div class="admin__data-grid-header-row">
  33. <?php if ($massActionAvailable): ?>
  34. <?= $block->getMainButtonsHtml() ? '<div class="admin__filter-actions">' . $block->getMainButtonsHtml() . '</div>' : '' ?>
  35. <?php endif; ?>
  36. <?php if ($block->getExportTypes()): ?>
  37. <div class="admin__data-grid-export">
  38. <label
  39. class="admin__control-support-text"
  40. for="<?= $block->escapeHtml($block->getId()) ?>_export"><?= /* @escapeNotVerified */ __('Export to:') ?></label>
  41. <select name="<?= $block->escapeHtml($block->getId()) ?>_export" id="<?= $block->escapeHtml($block->getId()) ?>_export"
  42. class="admin__control-select">
  43. <?php foreach ($block->getExportTypes() as $_type): ?>
  44. <option value="<?= /* @escapeNotVerified */ $_type->getUrl() ?>"><?= /* @escapeNotVerified */ $_type->getLabel() ?></option>
  45. <?php endforeach; ?>
  46. </select>
  47. <?= $block->getExportButtonHtml() ?>
  48. </div>
  49. <?php endif; ?>
  50. </div>
  51. <div class="admin__data-grid-header-row <?= $massActionAvailable ? '_massaction' : '' ?>">
  52. <?php if ($massActionAvailable): ?>
  53. <?= $block->getMassactionBlockHtml() ?>
  54. <?php else: ?>
  55. <?= $block->getMainButtonsHtml() ? '<div class="admin__filter-actions">' . $block->getMainButtonsHtml() . '</div>' : '' ?>
  56. <?php endif; ?>
  57. <?php $countRecords = $block->getCollection()->getSize(); ?>
  58. <div class="admin__control-support-text">
  59. <span id="<?= $block->escapeHtml($block->getHtmlId()) ?>-total-count" <?= /* @escapeNotVerified */ $block->getUiId('total-count') ?>>
  60. <?= /* @escapeNotVerified */ $countRecords ?>
  61. </span>
  62. <?= /* @escapeNotVerified */ __('records found') ?>
  63. <span id="<?= $block->escapeHtml($block->getHtmlId()) ?>_massaction-count"
  64. class="mass-select-info _empty"><strong data-role="counter">0</strong> <span><?= /* @escapeNotVerified */ __('selected') ?></span></span>
  65. </div>
  66. <?php if ($block->getPagerVisibility()): ?>
  67. <div class="admin__data-grid-pager-wrap">
  68. <select name="<?= /* @escapeNotVerified */ $block->getVarNameLimit() ?>"
  69. id="<?= $block->escapeHtml($block->getHtmlId()) ?>_page-limit"
  70. onchange="<?= /* @escapeNotVerified */ $block->getJsObjectName() ?>.loadByElement(this)"
  71. class="admin__control-select">
  72. <option value="20"<?php if ($block->getCollection()->getPageSize() == 20): ?>
  73. selected="selected"<?php endif; ?>>20
  74. </option>
  75. <option value="30"<?php if ($block->getCollection()->getPageSize() == 30): ?>
  76. selected="selected"<?php endif; ?>>30
  77. </option>
  78. <option value="50"<?php if ($block->getCollection()->getPageSize() == 50): ?>
  79. selected="selected"<?php endif; ?>>50
  80. </option>
  81. <option value="100"<?php if ($block->getCollection()->getPageSize() == 100): ?>
  82. selected="selected"<?php endif; ?>>100
  83. </option>
  84. <option value="200"<?php if ($block->getCollection()->getPageSize() == 200): ?>
  85. selected="selected"<?php endif; ?>>200
  86. </option>
  87. </select>
  88. <label for="<?= $block->escapeHtml($block->getHtmlId()) ?><?= $block->escapeHtml($block->getHtmlId()) ?>_page-limit"
  89. class="admin__control-support-text"><?= /* @escapeNotVerified */ __('per page') ?></label>
  90. <div class="admin__data-grid-pager">
  91. <?php $_curPage = $block->getCollection()->getCurPage() ?>
  92. <?php $_lastPage = $block->getCollection()->getLastPageNumber() ?>
  93. <?php if ($_curPage > 1): ?>
  94. <button class="action-previous"
  95. type="button"
  96. onclick="<?= /* @escapeNotVerified */ $block->getJsObjectName() ?>.setPage('<?= /* @escapeNotVerified */ ($_curPage - 1) ?>');return false;">
  97. <span><?= /* @escapeNotVerified */ __('Previous page') ?></span>
  98. </button>
  99. <?php else: ?>
  100. <button type="button" class="action-previous disabled"><span><?= /* @escapeNotVerified */ __('Previous page') ?></span></button>
  101. <?php endif; ?>
  102. <input type="text"
  103. id="<?= $block->escapeHtml($block->getHtmlId()) ?>_page-current"
  104. name="<?= /* @escapeNotVerified */ $block->getVarNamePage() ?>"
  105. value="<?= /* @escapeNotVerified */ $_curPage ?>"
  106. class="admin__control-text"
  107. onkeypress="<?= /* @escapeNotVerified */ $block->getJsObjectName() ?>.inputPage(event, '<?= /* @escapeNotVerified */ $_lastPage ?>')" <?= /* @escapeNotVerified */ $block->getUiId('current-page') ?> />
  108. <label class="admin__control-support-text" for="<?= $block->escapeHtml($block->getHtmlId()) ?>_page-current">
  109. <?= /* @escapeNotVerified */ __('of %1', '<span>' . $block->getCollection()->getLastPageNumber() . '</span>') ?>
  110. </label>
  111. <?php if ($_curPage < $_lastPage): ?>
  112. <button type="button"
  113. title="<?= /* @escapeNotVerified */ __('Next page') ?>"
  114. class="action-next"
  115. onclick="<?= /* @escapeNotVerified */ $block->getJsObjectName() ?>.setPage('<?= /* @escapeNotVerified */ ($_curPage + 1) ?>');return false;">
  116. <span><?= /* @escapeNotVerified */ __('Next page') ?></span>
  117. </button>
  118. <?php else: ?>
  119. <button type="button" class="action-next disabled"><span><?= /* @escapeNotVerified */ __('Next page') ?></span></button>
  120. <?php endif; ?>
  121. </div>
  122. </div>
  123. <?php endif ?>
  124. </div>
  125. </div>
  126. <?php endif; ?>
  127. <div class="admin__data-grid-wrap admin__data-grid-wrap-static">
  128. <table class="data-grid" id="<?= $block->escapeHtml($block->getId()) ?>_table">
  129. <?php
  130. /* This part is commented to remove all <col> tags from the code. */
  131. /* foreach ($block->getColumns() as $_column): ?>
  132. <col <?= $_column->getHtmlProperty() ?> />
  133. <?php endforeach; */
  134. ?>
  135. <?php if ($block->getHeadersVisibility() || $block->getFilterVisibility()): ?>
  136. <thead>
  137. <?php if ($block->getHeadersVisibility()): ?>
  138. <tr>
  139. <?php foreach ($block->getColumns() as $_column): ?>
  140. <?php if ($_column->getHeaderHtml() == '&nbsp;'):?>
  141. <th class="data-grid-th" data-column="<?= /* @escapeNotVerified */ $_column->getId() ?>"
  142. <?= $_column->getHeaderHtmlProperty() ?>>&nbsp;</th>
  143. <?php else: ?>
  144. <?= $_column->getHeaderHtml() ?>
  145. <?php endif; ?>
  146. <?php endforeach; ?>
  147. </tr>
  148. <?php endif; ?>
  149. <?php if ($block->getFilterVisibility()): ?>
  150. <tr class="data-grid-filters" data-role="filter-form">
  151. <?php $i = 0;
  152. foreach ($block->getColumns() as $_column): ?>
  153. <td data-column="<?= /* @escapeNotVerified */ $_column->getId() ?>" <?= $_column->getHeaderHtmlProperty() ?>>
  154. <?= $_column->getFilterHtml() ?>
  155. </td>
  156. <?php endforeach; ?>
  157. </tr>
  158. <?php endif ?>
  159. </thead>
  160. <?php endif; ?>
  161. <?php if ($block->getCountTotals()): ?>
  162. <tfoot>
  163. <tr class="totals">
  164. <?php foreach ($block->getColumns() as $_column): ?>
  165. <th class="<?= /* @escapeNotVerified */ $_column->getCssProperty() ?>">
  166. <?= /* @escapeNotVerified */ ($_column->hasTotalsLabel()) ? $_column->getTotalsLabel() : $_column->getRowField($_column->getGrid()->getTotals()) ?>
  167. </th>
  168. <?php endforeach; ?>
  169. </tr>
  170. </tfoot>
  171. <?php endif; ?>
  172. <tbody>
  173. <?php if (($block->getCollection()->getSize() > 0) && (!$block->getIsCollapsed())): ?>
  174. <?php foreach ($block->getCollection() as $_index => $_item): ?>
  175. <tr title="<?= /* @escapeNotVerified */ $block->getRowUrl($_item) ?>"<?php if ($_class = $block->getRowClass($_item)): ?>
  176. class="<?= /* @escapeNotVerified */ $_class ?>"<?php endif; ?> ><?php
  177. $i = 0;
  178. foreach ($block->getColumns() as $_column):
  179. if ($block->shouldRenderCell($_item, $_column)):
  180. $_rowspan = $block->getRowspan($_item, $_column);
  181. ?>
  182. <td <?= ($_rowspan ? 'rowspan="' . $_rowspan . '" ' : '') ?>
  183. class="<?= /* @escapeNotVerified */ $_column->getCssProperty() ?>
  184. <?= /* @escapeNotVerified */ $_column->getId() == 'massaction' ? 'data-grid-checkbox-cell': '' ?>">
  185. <?= (($_html = $_column->getRowField($_item)) != '' ? $_html : '&nbsp;') ?>
  186. </td><?php
  187. if ($block->shouldRenderEmptyCell($_item, $_column)):
  188. ?>
  189. <td colspan="<?= /* @escapeNotVerified */ $block->getEmptyCellColspan($_item) ?>"
  190. class="last"><?= /* @escapeNotVerified */ $block->getEmptyCellLabel() ?></td><?php
  191. endif;
  192. endif;
  193. endforeach; ?>
  194. </tr>
  195. <?php if ($_multipleRows = $block->getMultipleRows($_item)): ?>
  196. <?php foreach ($_multipleRows as $_i): ?>
  197. <tr>
  198. <?php $i = 0;
  199. foreach ($block->getMultipleRowColumns($_i) as $_column): ?>
  200. <td class="<?= /* @escapeNotVerified */ $_column->getCssProperty() ?>
  201. <?= /* @escapeNotVerified */ $_column->getId() == 'massaction' ? 'data-grid-checkbox-cell': '' ?>">
  202. <?= (($_html = $_column->getRowField($_i)) != '' ? $_html : '&nbsp;') ?>
  203. </td>
  204. <?php endforeach; ?>
  205. </tr>
  206. <?php endforeach; ?>
  207. <?php endif; ?>
  208. <?php if ($block->shouldRenderSubTotal($_item)): ?>
  209. <tr class="subtotals">
  210. <?php $i = 0;
  211. foreach ($block->getSubTotalColumns() as $_column): ?>
  212. <td class="<?= /* @escapeNotVerified */ $_column->getCssProperty() ?>
  213. <?= /* @escapeNotVerified */ $_column->getId() == 'massaction' ? 'data-grid-checkbox-cell': '' ?>">
  214. <?php /* @escapeNotVerified */ echo($_column->hasSubtotalsLabel() ? $_column->getSubtotalsLabel() :
  215. $_column->getRowField($block->getSubTotalItem($_item))
  216. );
  217. ?>
  218. </td>
  219. <?php endforeach; ?>
  220. </tr>
  221. <?php endif; ?>
  222. <?php endforeach; ?>
  223. <?php elseif ($block->getEmptyText()): ?>
  224. <tr class="data-grid-tr-no-data">
  225. <td class="<?= /* @escapeNotVerified */ $block->getEmptyTextClass() ?>"
  226. colspan="<?= /* @escapeNotVerified */ $numColumns ?>"><?= /* @escapeNotVerified */ $block->getEmptyText() ?></td>
  227. </tr>
  228. <?php endif; ?>
  229. </tbody>
  230. </table>
  231. </div>
  232. <?php if ($block->canDisplayContainer()): ?>
  233. </div>
  234. <script>
  235. var deps = [];
  236. <?php if ($block->getDependencyJsObject()): ?>
  237. deps.push('uiRegistry');
  238. <?php endif; ?>
  239. <?php if (strpos($block->getRowClickCallback(), 'order.') !== false): ?>
  240. deps.push('Magento_Sales/order/create/form')
  241. <?php endif; ?>
  242. deps.push('mage/adminhtml/grid');
  243. <?php if (is_array($block->getRequireJsDependencies())): ?>
  244. <?php foreach ($block->getRequireJsDependencies() as $dependency): ?>
  245. deps.push('<?= /* @escapeNotVerified */ $dependency ?>');
  246. <?php endforeach; ?>
  247. <?php endif; ?>
  248. require(deps, function(<?= ($block->getDependencyJsObject() ? 'registry' : '') ?>){
  249. <?php //TODO: getJsObjectName and getRowClickCallback has unexpected behavior. Should be removed ?>
  250. //<![CDATA[
  251. <?php if ($block->getDependencyJsObject()): ?>
  252. registry.get('<?= /* @escapeNotVerified */ $block->getDependencyJsObject() ?>', function (<?= /* @escapeNotVerified */ $block->getDependencyJsObject() ?>) {
  253. <?php endif; ?>
  254. <?= /* @escapeNotVerified */ $block->getJsObjectName() ?> = new varienGrid(<?= /* @noEscape */ $this->helper('Magento\Framework\Json\Helper\Data')->jsonEncode($block->getId()) ?>, '<?= /* @escapeNotVerified */ $block->getGridUrl() ?>', '<?= /* @escapeNotVerified */ $block->getVarNamePage() ?>', '<?= /* @escapeNotVerified */ $block->getVarNameSort() ?>', '<?= /* @escapeNotVerified */ $block->getVarNameDir() ?>', '<?= /* @escapeNotVerified */ $block->getVarNameFilter() ?>');
  255. <?= /* @escapeNotVerified */ $block->getJsObjectName() ?>.useAjax = '<?= /* @escapeNotVerified */ $block->getUseAjax() ?>';
  256. <?php if ($block->getRowClickCallback()): ?>
  257. <?= /* @escapeNotVerified */ $block->getJsObjectName() ?>.rowClickCallback = <?= /* @escapeNotVerified */ $block->getRowClickCallback() ?>;
  258. <?php endif; ?>
  259. <?php if ($block->getCheckboxCheckCallback()): ?>
  260. <?= /* @escapeNotVerified */ $block->getJsObjectName() ?>.checkboxCheckCallback = <?= /* @escapeNotVerified */ $block->getCheckboxCheckCallback() ?>;
  261. <?php endif; ?>
  262. <?php if ($block->getRowInitCallback()): ?>
  263. <?= /* @escapeNotVerified */ $block->getJsObjectName() ?>.initRowCallback = <?= /* @escapeNotVerified */ $block->getRowInitCallback() ?>;
  264. <?= /* @escapeNotVerified */ $block->getJsObjectName() ?>.initGridRows();
  265. <?php endif; ?>
  266. <?php if ($block->getMassactionBlock() && $block->getMassactionBlock()->isAvailable()): ?>
  267. <?= /* @escapeNotVerified */ $block->getMassactionBlock()->getJavaScript() ?>
  268. <?php endif ?>
  269. <?= /* @escapeNotVerified */ $block->getAdditionalJavaScript() ?>
  270. <?php if ($block->getDependencyJsObject()): ?>
  271. });
  272. <?php endif; ?>
  273. //]]>
  274. });
  275. </script>
  276. <?php endif; ?>
  277. <?php endif ?>