<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ ?> <?php /** * @var $block \Magento\Reports\Block\Adminhtml\Grid * @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */ ?> <?php if ($block->getCollection()): ?> <?php if ($block->canDisplayContainer()): ?> <div id="<?= $block->escapeHtmlAttr($block->getId()) ?>"><?php else: ?> <?= $block->getLayout()->getMessagesBlock()->getGroupedHtml() ?> <?php endif; ?> <?php if ($block->getStoreSwitcherVisibility() || $block->getDateFilterVisibility()): ?> <div class="admin__data-grid-header admin__data-grid-toolbar"><div class="admin__data-grid-header-row"><?php if ($block->getDateFilterVisibility()): ?> <div class="admin__filter-actions" data-role="filter-form" id="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_range')) ?>"><span class="field-row"><label for="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_from')) ?>" class="admin__control-support-text"><span><?= $block->escapeHtml(__('From')) ?>:</span></label> <input class="input-text no-changes required-entry admin__control-text" type="text" id="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_from')) ?>" name="report_from" value="<?= $block->escapeHtmlAttr($block->getFilter('report_from')) ?>"><span id="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_from_advice'))?>"></span></span> <span class="field-row"><label for="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_to')) ?>" class="admin__control-support-text"><span><?= $block->escapeHtml(__('To')) ?>:</span></label> <input class="input-text no-changes required-entry admin__control-text" type="text" id="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_to')) ?>" name="report_to" value="<?= $block->escapeHtmlAttr($block->getFilter('report_to')) ?>"/><span id="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_to_advice')) ?>"></span></span> <span class="field-row admin__control-filter"><label for="<?= $block->escapeHtmlAttr($block->getSuffixId('report_period')) ?>" class="admin__control-support-text"><span><?= $block->escapeHtml(__('Show By')) ?>:</span></label> <select name="report_period" id="<?= $block->escapeHtmlAttr($block->getSuffixId('report_period')) ?>" class="admin__control-select"><?php foreach ($block->getPeriods() as $_value => $_label): ?> <option value="<?= $block->escapeHtmlAttr($_value) ?>" <?php if ($block->getFilter('report_period') == $_value): ?> selected<?php endif; ?>><?= $block->escapeHtml($_label) ?></option><?php endforeach; ?></select> <?= $block->getRefreshButtonHtml() ?></span> <?php $scriptString = <<<script

                                require([
                                    "jquery",
                                    "mage/calendar"
                                ], function($){

                                    $("#{$block->escapeJs($block->getSuffixId('period_date_range'))}").dateRange({
                                        dateFormat:"{$block->escapeJs($block->getDateFormat())}",
                                        buttonText:"",
                                        from:{
                                            id:"{$block->escapeJs($block->getSuffixId('period_date_from'))}"
                                        },
                                        to:{
                                            id:"{$block->escapeJs($block->getSuffixId('period_date_to'))}"
                                        }
                                    });
                                });

script; ?> <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?></div><?php endif; ?> <?php if ($block->getChildBlock('grid.export')): ?> <?= $block->getChildHtml('grid.export') ?> <?php endif; ?></div></div><?php endif; ?> <div class="admin__data-grid-wrap admin__data-grid-wrap-static"><table class="data-grid" id="<?= $block->escapeHtmlAttr($block->getId()) ?>_table"><?= $block->getChildHtml('grid.columnSet') ?></table></div></div><?php if ($block->canDisplayContainer()): ?> <?php $useAjax = ''; if ($block->getUseAjax()): $useAjax = $block->escapeJs($block->getUseAjax()); endif; $scriptString = <<<script

            require([
                "jquery",
                "validation",
                "mage/mage",
                "mage/adminhtml/grid"
            ], function(jQuery){

                //<![CDATA[
                {$block->escapeJs($block->getJsObjectName())} = new varienGrid('{$block->escapeJs($block->getId())}',
                 '{$block->escapeJs($block->getGridUrl())}', '{$block->escapeJs($block->getVarNamePage())}',
                 '{$block->escapeJs($block->getVarNameSort())}', '{$block->escapeJs($block->getVarNameDir())}',
                 '{$block->escapeJs($block->getVarNameFilter())}');
                {$block->escapeJs($block->getJsObjectName())}.useAjax = '{$useAjax}';

script; ?> <?php if ($block->getDateFilterVisibility()): ?> <?php $scriptString .= <<<script

                    {$block->escapeJs($block->getJsObjectName())}.doFilterCallback = validateFilterDate;
                    var period_date_from = $('{$block->escapeJs($block->getSuffixId('period_date_from'))}');
                    var period_date_to = $('{$block->escapeJs($block->getSuffixId('period_date_to'))}');
                    period_date_from.adviceContainer =
                     $('{$block->escapeJs($block->getSuffixId('period_date_from_advice'))}');
                    period_date_to.adviceContainer =
                     $('{$block->escapeJs($block->getSuffixId('period_date_to_advice'))}');

                    var validateFilterDate = function() {
                        if (period_date_from && period_date_to) {
                            var valid = true;
                            jQuery(period_date_from).add(period_date_to).each(function() {
                                valid = Validation.validate(this) && valid;
                            });
                            return valid;
                        }
                        else {
                            return true;
                        }
                    }

script; ?> <?php endif;?> <?php if ($block->getStoreSwitcherVisibility()): ?> <?php $scriptString .= <<<script

                /* Overwrite function from switcher.phtml widget*/
                switchStore = function(obj) {
                    if (obj.options[obj.selectedIndex].getAttribute('website') == 'true') {
                        var selectionType = 'website';
                    } else if (obj.options[obj.selectedIndex].getAttribute('group') == 'true') {
                        var selectionType = 'group';
                    } else {
                        var selectionType = 'store';
                    }
                    var storeParam = obj.value ? selectionType + '/' + obj.value + '/' : '';
                    if (obj.switchParams) {
                        storeParam += obj.switchParams;
                    }
                    var formParam = new Array('{$block->escapeJs($block->getSuffixId('period_date_from'))}',
                     '{$block->escapeJs($block->getSuffixId('period_date_to'))}',
                     '{$block->escapeJs($block->getSuffixId('report_period'))}');
                    var paramURL = '';
                    var switchURL = '{$block->escapeJs($block->getAbsoluteGridUrl(['_current' => false]))}'
                    .replace(/(store|group|website)\/\d+\//, '');

                    for (var i = 0; i < formParam.length; i++) {
                        if ($(formParam[i]).value && $(formParam[i]).name) {
                            paramURL += $(formParam[i]).name + '=' + escape($(formParam[i]).value) + '&';
                        }
                    }
                    setLocation(switchURL + storeParam + '?' + paramURL);
                }

script; ?> <?php endif; ?> <?php $scriptString .= <<<script

                //]]>

            });

script; ?> <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?> <?php endif; ?> <?php endif; ?>