Subversion Repositories eFlore/Applications.cel

Rev

Rev 3829 | Rev 3961 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3829 Rev 3960
Line 42... Line 42...
42
	$( '.bouton-fermer-filtres', $thisGalerie ).on( 'click', function( event ) {
42
	$( '.bouton-fermer-filtres', $thisGalerie ).on( 'click', function( event ) {
43
		event.preventDefault();
43
		event.preventDefault();
44
		$( '.autres-filtres, .bouton-plus-filtres .moins', $thisGalerie ).addClass( 'hidden' );
44
		$( '.autres-filtres, .bouton-plus-filtres .moins', $thisGalerie ).addClass( 'hidden' );
45
		$( '.bouton-plus-filtres .plus', $thisGalerie ).removeClass( 'hidden' );
45
		$( '.bouton-plus-filtres .plus', $thisGalerie ).removeClass( 'hidden' );
46
	});
46
	});
-
 
47
 
-
 
48
	lthis.rechercher();
-
 
49
};
-
 
50
 
-
 
51
WidgetPhoto.prototype.rechercher = function(){
-
 
52
	const lthis = this;
-
 
53
	$("#bouton-rechercher-1").click(function(event){
-
 
54
		event.preventDefault();
-
 
55
		var rechercheValue = $('#champ-recherche-1').val();
-
 
56
		lthis.lancerLaRecherche(rechercheValue, "recherche");
-
 
57
	})
-
 
58
 
-
 
59
	$("#champ-recherche-1").keyup(function(event) {
-
 
60
		if (event.key === "Enter") {
-
 
61
			event.preventDefault();
-
 
62
			var rechercheValue = $('#champ-recherche-1').val();
-
 
63
			lthis.lancerLaRecherche(rechercheValue, "recherche");
-
 
64
		}
-
 
65
	});
-
 
66
 
-
 
67
	$(".bloc-filtre input").keyup(function (event){
-
 
68
		if (event.key === "Enter") {
-
 
69
			event.preventDefault();
-
 
70
			var rechercheValue = $(this).val();
-
 
71
			var filterName = $(this).attr('name');
-
 
72
			lthis.lancerLaRecherche(rechercheValue, filterName);
-
 
73
		}
-
 
74
	})
-
 
75
 
-
 
76
	$(".bloc-filtre #referentiel").on("change", function (event){
-
 
77
		event.preventDefault();
-
 
78
		var rechercheValue = $(this).val();
-
 
79
		var filterName = $(this).attr('name');
-
 
80
		lthis.lancerLaRecherche(rechercheValue, filterName);
-
 
81
	})
-
 
82
 
-
 
83
	$(".bloc-filtre #date_deb").on("change", function (event){
-
 
84
		event.preventDefault();
-
 
85
		var rechercheValue = $(this).val();
-
 
86
		lthis.lancerLaRecherche(rechercheValue, "date_deb");
-
 
87
	})
-
 
88
 
-
 
89
	$(".bloc-filtre #date_fin").on("change", function (event){
-
 
90
		event.preventDefault();
-
 
91
		var rechercheValue = $(this).val();
-
 
92
		lthis.lancerLaRecherche(rechercheValue, "date_fin");
-
 
93
	})
-
 
94
 
-
 
95
	$(".bloc-filtre input[type='checkbox']").change(function() {
-
 
96
		var filterName = $(this).attr('name');
-
 
97
		var isChecked = $(this).is(':checked');
-
 
98
		if (isChecked) {
-
 
99
			lthis.updateURLWithCheckboxValue(isChecked, filterName);
-
 
100
		} else {
-
 
101
			lthis.removeURLParameter(filterName);
-
 
102
		}
-
 
103
	});
-
 
104
}
-
 
105
 
-
 
106
WidgetPhoto.prototype.lancerLaRecherche = function(rechercheValue, filterName){
-
 
107
	var url = window.location.href;
-
 
108
	var parameter = filterName + "=" + encodeURIComponent( rechercheValue );
-
 
109
 
-
 
110
	// Utiliser une expression régulière pour rechercher le paramètre "recherche=" dans l'URL
-
 
111
	var regex = new RegExp('(\\?|&)+' + filterName + '=([^&]*)');
-
 
112
 
-
 
113
	// Vérifier si le paramètre "recherche=" existe dans l'URL initial
-
 
114
	if (regex.test(url)) {
-
 
115
		// Remplacer le paramètre existant par le nouveau paramètre
-
 
116
		url = url.replace(regex, "$1" + parameter);
-
 
117
	} else {
-
 
118
		// Ajouter le nouveau paramètre à la fin de l'URL
-
 
119
		url.indexOf("?") !== -1 ? url += "&" + parameter : url += "?" + parameter;
-
 
120
	}
-
 
121
 
-
 
122
	// Recharger la page avec le nouvel URL
-
 
123
	window.location.replace(url);
-
 
124
}
-
 
125
 
-
 
126
WidgetPhoto.prototype.updateURLWithCheckboxValue = function(isChecked, filterName) {
-
 
127
	var url = window.location.href;
-
 
128
	var parameter = filterName + "=" + (isChecked ? "true" : "false");
-
 
129
	var regex = new RegExp('(\\?|&)+' + filterName + '=(true|false)');
-
 
130
 
-
 
131
	if (regex.test(url)) {
-
 
132
		url = url.replace(regex, "$1" + parameter);
-
 
133
	} else {
-
 
134
		url.indexOf("?") !== -1 ? url += "&" + parameter : url += "?" + parameter;
-
 
135
	}
-
 
136
 
-
 
137
	// Rediriger vers la nouvelle URL
-
 
138
	window.location.replace(url);
-
 
139
}
-
 
140
 
-
 
141
WidgetPhoto.prototype.removeURLParameter = function(filterName) {
-
 
142
	var url = window.location.href;
-
 
143
	var regex = new RegExp('(\\?|&)' + filterName + '=(true|false)(\\?|&|$)');
-
 
144
 
-
 
145
	url = url.replace(regex, function(match, p1, p2, p3) {
-
 
146
		switch (p1){
-
 
147
			case "?":
-
 
148
				return p3 === '&' ? '?' : '';
-
 
149
			case "&":
-
 
150
				return p3 === '&' ? '&' : '';
-
 
151
			default :
-
 
152
				return match;
-
 
153
		}
-
 
154
	});
-
 
155
 
-
 
156
	// Rediriger vers la nouvelle URL
-
 
157
	window.location.replace(url);
47
};
158
};