167 lines
5.7 KiB
JavaScript
167 lines
5.7 KiB
JavaScript
|
// Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
|
|||
|
//
|
|||
|
// 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/>.
|
|||
|
// or see https://www.gnu.org/
|
|||
|
|
|||
|
//
|
|||
|
// \file htdocs/core/js/listview.js
|
|||
|
// \brief File that include javascript functions for lists
|
|||
|
//
|
|||
|
var Listview_include = true;
|
|||
|
|
|||
|
function Listview_OrderDown(idListe, column) {
|
|||
|
var base_url = document.location.href;
|
|||
|
|
|||
|
base_url = Listview_recup_form_param(idListe,base_url);
|
|||
|
base_url = Listview_removeParam(base_url,'Listview['+encodeURIComponent(idListe)+'][orderBy]');
|
|||
|
|
|||
|
base_url = Listview_removeParam(base_url,'get-all-for-export');
|
|||
|
|
|||
|
document.location.href=Listview_modifyUrl(base_url,"Listview["+encodeURIComponent(idListe)+"][orderBy]["+encodeURIComponent(column)+"]","DESC");
|
|||
|
}
|
|||
|
function Listview_OrderUp(idListe, column) {
|
|||
|
|
|||
|
var base_url = document.location.href;
|
|||
|
|
|||
|
base_url = Listview_recup_form_param(idListe,base_url);
|
|||
|
base_url = Listview_removeParam(base_url,'Listview['+encodeURIComponent(idListe)+'][orderBy]');
|
|||
|
|
|||
|
base_url = Listview_removeParam(base_url,'get-all-for-export');
|
|||
|
|
|||
|
document.location.href=Listview_modifyUrl(base_url,"Listview["+encodeURIComponent(idListe)+"][orderBy]["+encodeURIComponent(column)+"]","ASC");
|
|||
|
}
|
|||
|
function Listview_modifyUrl(strURL,paramName,paramNewValue){
|
|||
|
if (strURL.indexOf(paramName+'=')!=-1){
|
|||
|
|
|||
|
var strFirstPart=strURL.substring(0,strURL.indexOf(paramName+'=',0))+paramName+'=';
|
|||
|
var strLastPart="";
|
|||
|
if (strURL.indexOf('&',strFirstPart.length-1)>0)
|
|||
|
strLastPart=strURL.substring(strURL.indexOf('&',strFirstPart.length-1),strURL.length);
|
|||
|
strURL=strFirstPart+paramNewValue+strLastPart;
|
|||
|
}
|
|||
|
else{
|
|||
|
if (strURL.search('=')!=-1) // permet de verifier s'il y a dej<65> des param<61>tres dans l'URL
|
|||
|
strURL+='&'+paramName+'='+paramNewValue;
|
|||
|
else
|
|||
|
strURL+='?'+paramName+'='+paramNewValue;
|
|||
|
}
|
|||
|
|
|||
|
return strURL;
|
|||
|
}
|
|||
|
function Listview_removeParam(strURL, paramMask) {
|
|||
|
var cpt=0;
|
|||
|
var url = '';
|
|||
|
|
|||
|
while(strURL.indexOf(paramMask)!=-1 && cpt++ <50){
|
|||
|
var strFirstPart= strURL.substring(0,strURL.indexOf(paramMask)-1);
|
|||
|
|
|||
|
var strLastPart='';
|
|||
|
if (strURL.indexOf('&',strFirstPart.length+1)>0) {
|
|||
|
strLastPart = strURL.substring(strURL.indexOf('&',strFirstPart.length+1),strURL.length);
|
|||
|
}
|
|||
|
|
|||
|
url = strFirstPart+strLastPart;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
if(url=='')url = strURL;
|
|||
|
|
|||
|
return url;
|
|||
|
}
|
|||
|
|
|||
|
function Listview_recup_form_param(idListe,base_url) {
|
|||
|
|
|||
|
$('#'+idListe+' tr.barre-recherche [listviewtbs],#'+idListe+' tr.barre-recherche-head input,#'+idListe+' tr.barre-recherche-head select,#'+idListe+' div.tabsAction input[listviewtbs]').each(function(i,item) {
|
|||
|
if($(item).attr("name")) {
|
|||
|
base_url = Listview_modifyUrl(base_url, $(item).attr("name") , $(item).val());
|
|||
|
}
|
|||
|
|
|||
|
});
|
|||
|
|
|||
|
return base_url;
|
|||
|
}
|
|||
|
|
|||
|
function Listview_GoToPage(idListe,pageNumber){
|
|||
|
|
|||
|
var base_url = document.location.href;
|
|||
|
|
|||
|
base_url = Listview_recup_form_param(idListe,base_url);
|
|||
|
base_url =Listview_modifyUrl(base_url,"Listview["+encodeURIComponent(idListe)+"][page]",pageNumber);
|
|||
|
|
|||
|
base_url = Listview_removeParam(base_url,'get-all-for-export');
|
|||
|
|
|||
|
document.location.href=base_url;
|
|||
|
}
|
|||
|
function Listview_submitSearch(obj) {
|
|||
|
|
|||
|
$form = $(obj).closest('form');
|
|||
|
console.log($form);
|
|||
|
if($form.length>0){
|
|||
|
$form.submit();
|
|||
|
}
|
|||
|
}
|
|||
|
function Listview_launch_downloadAs(mode,url,token,session_name) {
|
|||
|
$('#listviewdAS_export_form').remove();
|
|||
|
|
|||
|
$form = $('<form action="'+url+'" method="post" name="listviewdAS_export_form" id="listTBSdAS_export_form"></form>');
|
|||
|
$form.append('<input type="hidden" name="mode" value="'+mode+'" />');
|
|||
|
$form.append('<input type="hidden" name="token" value="'+token+'" />');
|
|||
|
$form.append('<input type="hidden" name="session_name" value="'+session_name+'" />');
|
|||
|
|
|||
|
$('body').append($form);
|
|||
|
|
|||
|
$('#listviewdAS_export_form').submit();
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
function Listview_downloadAs(obj, mode,url,token,session_name) {
|
|||
|
|
|||
|
$form = $(obj).closest('form');
|
|||
|
$div = $form.find('div.tabsAction');
|
|||
|
$div.append('<input type="hidden" listviewtbs="hidden" name="token" value="'+token+'" />');
|
|||
|
$div.append('<input type="hidden" listviewtbs="hidden" name="mode" value="'+mode+'" />');
|
|||
|
$div.append('<input type="hidden" listviewtbs="hidden" name="url" value="'+url+'" />');
|
|||
|
$div.append('<input type="hidden" listviewtbs="hidden" name="session_name" value="'+session_name+'" />');
|
|||
|
$div.append('<input type="hidden" listviewtbs="hidden" name="get-all-for-export" value="1" />');
|
|||
|
|
|||
|
Listview_submitSearch(obj);
|
|||
|
}
|
|||
|
|
|||
|
$(document).ready(function() {
|
|||
|
$('tr.barre-recherche input').keypress(function(e) {
|
|||
|
if(e.which == 13) {
|
|||
|
|
|||
|
var id_list = $(this).closest('table').attr('id');
|
|||
|
|
|||
|
$('#'+id_list+' .list-search-link').click();
|
|||
|
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
var $_GET = {};
|
|||
|
|
|||
|
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
|
|||
|
function decode(s) {
|
|||
|
return decodeURIComponent(s.split("+").join(" "));
|
|||
|
}
|
|||
|
|
|||
|
$_GET[decode(arguments[1])] = decode(arguments[2]);
|
|||
|
});
|
|||
|
|
|||
|
if(typeof $_GET["get-all-for-export"] != "undefined") {
|
|||
|
Listview_launch_downloadAs($_GET['mode'],$_GET['url'],$_GET['token'],$_GET['session_name']);
|
|||
|
}
|
|||
|
|
|||
|
});
|