%PDF- %PDF-
Direktori : /var/www/projetos/suporte.iigd.com.br.old/templates/components/search/ |
Current File : //var/www/projetos/suporte.iigd.com.br.old/templates/components/search/controls.html.twig |
{# # --------------------------------------------------------------------- # # GLPI - Gestionnaire Libre de Parc Informatique # # http://glpi-project.org # # @copyright 2015-2022 Teclib' and contributors. # @copyright 2003-2014 by the INDEPNET Development Team. # @licence https://www.gnu.org/licenses/gpl-3.0.html # # --------------------------------------------------------------------- # # LICENSE # # This file is part of GLPI. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. # # --------------------------------------------------------------------- #} <div class="d-inline-flex search-controls"> {% if showmassiveactions and count > 0 %} {% do call('Html::showMassiveActions', [massiveactionparams]) %} {% endif %} {% if may_be_located and (count > 0 or data['search']['as_map'] == 1) %} <label class="form-check form-switch btn btn-sm btn-ghost-info me-0 me-sm-1 px-1 mb-0 flex-column-reverse flex-sm-row" data-bs-toggle="tooltip" data-bs-placement="bottom" title="{{ __('Show as map') }}"> <input type="checkbox" class="form-check-input ms-0 me-1 mt-0" role="button" name="as_map" value="1" autocomplete="off" onclick="toogle('as_map','','',''); document.forms['searchform{{ itemtype|lower }}'].submit();" {{ data['search']['as_map'] == 1 ? 'checked' : '' }} /> <span class="form-check-label mb-1 mb-sm-0"> <i class="ti fa-lg ti-map-2"></i> </span > </label> {% endif %} {% if may_be_browsed %} <label class="form-check form-switch btn btn-sm btn-ghost-info me-0 me-sm-1 px-1 mb-0 flex-column-reverse flex-sm-row" data-bs-toggle="tooltip" data-bs-placement="bottom" title="{{ __('Toggle browse') }}"> <input type="checkbox" class="form-check-input ms-0 me-1 mt-0" role="button" name="browse" value="1" autocomplete="off" onclick="toogle('browse','','',''); document.forms['searchform{{ itemtype|lower }}'].submit();" {{ data['search']['browse'] == 1 ? 'checked' : '' }} /> <span class="form-check-label mb-1 mb-sm-0"> <i class="ti fa-lg ti-subtask"></i> </span> </label> {% endif %} {% if may_be_deleted %} <label class="form-check form-switch btn btn-sm btn-ghost-danger me-0 me-sm-1 px-1 mb-0 flex-column-reverse flex-sm-row" data-bs-toggle="tooltip" data-bs-placement="bottom" title="{{ __('Show the trashbin') }}"> <input type="checkbox" class="form-check-input ms-0 me-1 mt-0" role="button" name="is_deleted" value="1" autocomplete="off" onclick="toogle('is_deleted','','',''); document.forms['searchform{{ itemtype|lower }}'].submit();" {{ data['search']['is_deleted'] == 1 ? 'checked' : '' }} /> <span class="form-check-label mb-1 mb-sm-0"> <i class="ti fa-lg ti-trash"></i> </span> </label> {% endif %} <label class="form-check form-switch btn btn-sm btn-ghost-secondary me-0 me-sm-1 px-1 mb-0 flex-column-reverse flex-sm-row" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-trigger="hover" title="{{ __('Toggle search filters') }}"> <input type="checkbox" class="form-check-input ms-0 me-1 mt-0 fold-search" role="button" {{ session('glpifold_search') ? '' : 'checked' }} autocomplete="off" /> <span class="form-check-label mb-1 mb-sm-0"> <i class="ti fa-lg ti-search"></i> </span> </label> <div class="d-inline-flex" role="group"> {% if can_config and count > 0 %} <button class="btn btn-sm btn-icon btn-ghost-secondary show_displaypreference_modal me-0 me-sm-1" title="{{ __('Select default items to show') }}" data-bs-toggle="tooltip" data-bs-placement="bottom"> <i class="ti fa-lg ti-tool"></i> </button> {% endif %} {% if count > 0 %} <button class="dropdown-toggle btn btn-sm btn-icon btn-ghost-secondary" type="button" id="dropdown-export" data-bs-toggle="dropdown" aria-expanded="false" > <span class="py-1 px-2 my-n1 mx-n2"data-bs-toggle="tooltip" data-bs-placement="bottom" title="{{ _x('button', 'Export') }}"> <i id="export_dropdown_icon" class="ti fa-lg ti-file-download"></i> </span> </button> {% set exporthref = path('/front/report.dynamic.php') ~ '?item_type=' ~ itemtype ~ '&start=' ~ start ~ '&' ~ posthref %} <ul class="dropdown-menu" aria-labelledby="dropdown-export"> <li><a class="dropdown-item" href="{{ exporthref ~ '&display_type=' ~ constant('Search::PDF_OUTPUT_LANDSCAPE') }}"> <i class="far fa-lg fa-file-pdf"></i> {{ __('Current page in landscape PDF') }} </a></li> <li><a class="dropdown-item" href="{{ exporthref ~ '&display_type=' ~ constant('Search::PDF_OUTPUT_PORTRAIT') }}"> <i class="far fa-lg fa-file-pdf"></i> {{ __('Current page in portrait PDF') }} </a></li> <li><a class="dropdown-item" href="{{ exporthref ~ '&display_type=' ~ constant('Search::SYLK_OUTPUT') }}"> <i class="far fa-lg fa-file-excel"></i> {{ __('Current page in SLK') }} </a></li> <li><a class="dropdown-item" href="{{ exporthref ~ '&display_type=' ~ constant('Search::CSV_OUTPUT') }}"> <i class="fas fa-lg fa-file-csv"></i> {{ __('Current page in CSV') }} </a></li> <li><a class="dropdown-item" href="{{ exporthref ~ '&display_type=-' ~ constant('Search::PDF_OUTPUT_LANDSCAPE') }}"> <i class="far fa-lg fa-file-pdf"></i> {{ __('All pages in landscape PDF') }} </a></li> <li><a class="dropdown-item" href="{{ exporthref ~ '&display_type=-' ~ constant('Search::PDF_OUTPUT_PORTRAIT') }}"> <i class="far fa-lg fa-file-pdf"></i> {{ __('All pages in portrait PDF') }} </a></li> <li><a class="dropdown-item" href="{{ exporthref ~ '&display_type=-' ~ constant('Search::SYLK_OUTPUT') }}"> <i class="far fa-lg fa-file-excel"></i> {{ __('All pages in SLK') }} </a></li> <li><a class="dropdown-item" href="{{ exporthref ~ '&display_type=-' ~ constant('Search::CSV_OUTPUT') }}"> <i class="fas fa-lg fa-file-csv"></i> {{ __('All pages in CSV') }} </a></li> {% if itemtype != 'Stat' %} <li id="copy_names_to_clipboard"><a class="dropdown-item" href="{{ exporthref ~ '&display_type=-' ~ constant('Search::NAMES_OUTPUT') }}"> <i class="far fa-lg fa-copy"></i> {{ __('Copy names to clipboard') }} </a></li> {% endif %} </ul> {% endif %} </div> </div> <script type="text/javascript"> $(document).ready(function() { $('.show_displaypreference_modal').click(function(e) { e.preventDefault(); var modal = '<div class="modal fade" id="displayprefence_modal{{ rand }}" role="dialog">'; modal += '<div class="modal-dialog modal-lg">'; modal += '<div class="modal-content">'; modal += '<div class="modal-header">'; modal += '<h4 class="modal-title">{{ __('Select default items to show') }}</h4>'; modal += '<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="{{ __('Close modal') }}"></button>'; modal += '</div>'; modal += '<div class="modal-body">'; modal += '<div class="ratio ratio-4x3">'; modal += '<iframe src="{{ path('front/displaypreference.form.php?itemtype=' ~ itemtype|escape('url')) }}"></iframe>' modal += '</div>'; modal += '</div>'; modal += '</div>'; modal += '</div>'; // remove old modal $('#displayprefence_modal{{ rand }}').remove(); // create new one $('body').append(modal); $('#displayprefence_modal{{ rand }}').modal('show'); }); $("body").on('hide.bs.modal', '#displayprefence_modal{{ rand }}', function() { location.reload(); }); $('.fold-search').change(function(event) { var show_search = $(this).is(":checked"); // hide tooltips (issue maybe ?) $('[data-toggle="tooltip"]').tooltip('hide'); event.preventDefault(); $.ajax({ url: '{{ path('/ajax/search.php') }}', type: 'POST', datatype: 'json', data: { 'action': 'fold_search', 'show_search': (show_search ? 1 : 0), }, success: function() { toggle_fold_search(show_search); // scroll to top to display the change if (show_search) { $("html, body, .search-container").animate({ scrollTop: 0 }); } } }); }); // Callbacks for copy success/failure function copy_success() { glpi_toast_info(__('Results copied to clipboard')); $('#export_dropdown_icon').removeClass('fa-circle-notch'); $('#export_dropdown_icon').removeClass('fa-spin'); $('#export_dropdown_icon').addClass('fa-file-download'); $('#export_dropdown_icon').parent().parent().addClass('dropdown-toggle'); } function copy_error() { glpi_toast_error(__('Unexpected error')); $('#export_dropdown_icon').removeClass('fa-circle-notch'); $('#export_dropdown_icon').removeClass('fa-spin'); $('#export_dropdown_icon').addClass('fa-file-download'); $('#export_dropdown_icon').parent().parent().addClass('dropdown-toggle'); } $('#copy_names_to_clipboard').click(function(e) { // Get target link var link = $(this).find('a').prop('href'); // Show loading indicator $('#export_dropdown_icon').removeClass('fa-file-download'); $('#export_dropdown_icon').addClass('fa-circle-notch'); $('#export_dropdown_icon').addClass('fa-spin'); $('#export_dropdown_icon').parent().parent().removeClass('dropdown-toggle'); // Prevent link from working e.preventDefault(); // Get data using ajax $.get(link, function (data) { navigator.clipboard.writeText(data).then(copy_success, copy_error); }).fail(copy_error); }); }); </script>