Commit 4fb74270 authored by luxcem's avatar luxcem

ajouts des sénateurs

parent 9968797d
......@@ -4,5 +4,6 @@ bower_components/
.tmp/
dist/
src/assets/deputes
src/assets/senateurs
src/assets/data
src/assets/logos
......@@ -102,7 +102,7 @@ angular.module('soussurveillance')
'Hautes-Pyrénées',
'Gard',
'Creuse',
'Polynésie Française',
'Polynésie-française',
'Nouvelle-Calédonie',
'Orne',
'Corse-du-Sud',
......@@ -114,6 +114,8 @@ angular.module('soussurveillance')
'Saint-Pierre-et-Miquelon'
])
.constant('Groupes', { "UMP":"Union pour un Mouvement Populaire", "SRC":"Socialiste, Républicain et Citoyen", "ECOLO":"Écologiste", "UDI":"Union des Démocrates et Indépendants", "RRDP":"Radical, Républicain, Démocrate et Progressiste", "GDR":"Gauche Démocrate et Républicaine", "NI":"Non Inscrits"})
.constant('Groupes', { "UMP":"Union pour un Mouvement Populaire", "SRC":"Socialiste, Républicain et Citoyen", "ECOLO":"Écologiste", "UDI":"Union des Démocrates et Indépendants", "RRDP":"Radical, Républicain, Démocrate et Progressiste", "GDR":"Gauche Démocrate et Républicaine", "NI":"Non Inscrits"})
.constant('GroupesSenat', {'CRC': "Groupe communiste, républicain et citoyen", "UMP":"Union pour un Mouvement Populaire", 'SOC': "Groupe socialiste", 'UDI': "Union des démocrates et indépendants", 'RDSE': "Rassemblement démocratique et social européen", 'ECO': "Groupe écologiste", 'NI': "Réunion administrative des sénateurs ne figurant sur la liste d'aucun groupe"})
;
......@@ -12,7 +12,7 @@
@opacity: 0.8;
@depute-height: 200px;
@depute-width: 156px;
@depute-width: 137px;
@import 'less/deputes.less';
@import 'less/countdown.less';
......
......@@ -63,38 +63,38 @@ angular.module('soussurveillance')
};
$scope.applySearch = function applySearch() {
var filteredDeputes = deputes;
if ($scope.search.group !== '') {
filteredDeputes = _.filter(filteredDeputes, function(depute) {
return depute.depute.groupe_sigle === $scope.search.group;
});
}
if ($scope.search.status !== '') {
filteredDeputes = _.filter(filteredDeputes, function(depute) {
return depute.infos.position === parseInt($scope.search.status, 10);
});
}
if ($scope.search.circ !== '') {
filteredDeputes = _.filter(filteredDeputes, function(depute) {
return depute.depute.nom_circo === $scope.search.circ;
});
}
if ($scope.search.name !== '') {
var search = $scope.search.name.toLowerCase();
filteredDeputes = _.filter(filteredDeputes, function(depute) {
return depute.depute.nom.toLowerCase().indexOf(search) > -1;
});
}
$scope.deputes = filteredDeputes;
hideCurrentDepute();
$scope.totalItems = $scope.deputes.length;
var filteredDeputes = deputes;
if ($scope.search.group !== '') {
filteredDeputes = _.filter(filteredDeputes, function(depute) {
return depute.depute.groupe_sigle === $scope.search.group;
});
}
if ($scope.search.status !== '') {
filteredDeputes = _.filter(filteredDeputes, function(depute) {
return depute.infos.position === parseInt($scope.search.status, 10);
});
}
if ($scope.search.circ !== '') {
filteredDeputes = _.filter(filteredDeputes, function(depute) {
return depute.depute.nom_circo === $scope.search.circ;
});
}
if ($scope.search.name !== '') {
var search = $scope.search.name.toLowerCase();
filteredDeputes = _.filter(filteredDeputes, function(depute) {
return depute.depute.nom.toLowerCase().indexOf(search) > -1;
});
}
$scope.deputes = _.sortBy(filteredDeputes, function(depute) { return depute.depute.nom_de_famille; });
hideCurrentDepute();
$scope.totalItems = $scope.deputes.length;
$scope.applyPaginate();
console.log($scope.deputes);
// console.log($scope.deputes);
};
$scope.applyPaginate = function applyPaginate() {
......
'use strict';
angular.module('soussurveillance')
.controller('SenateursCtrl', function ($scope, $http, _, Circonscriptions, GroupesSenat, $stateParams, $anchorScroll, $location) {
var senateurs = [];
$scope.search = {
'name': '',
'circ': '',
'group': '',
'status': ''
};
var currentSenateur = null;
var hideCurrentSenateur = function hideCurrentSenateur() {
if (currentSenateur) {
currentSenateur.show = false;
}
};
$scope.filteredSenateurs = [];
$scope.currentPage = 1;
$scope.numPerPage = 24;
$scope.totalItems = 0;
$scope.Circonscriptions = Circonscriptions;
$scope.Groupes = GroupesSenat;
$http.get('assets/data/senateurs_infos.json').success(function(senateursInfos){
$http.get('assets/data/senateurs_en_mandat.json').success(function(data){
senateurs = data.senateurs;
$scope.senateurs = _.shuffle(data.senateurs);
for (var i = 0; i < $scope.senateurs.length; i++) {
var slug = $scope.senateurs[i].senateur.slug;
$scope.senateurs[i].infos = senateursInfos[slug];
$scope.senateurs[i].show = false;
}
$scope.totalItems = data.senateurs.length;
$scope.applyPaginate();
if ($stateParams.param) {
if ($stateParams.param === 'pour') {
$scope.search.status = '2';
} else if ($stateParams.param === 'contre') {
$scope.search.status = '1';
}
$location.hash('senateurs');
$anchorScroll();
$scope.applySearch();
}
});
});
$scope.selectSenateur = function selectSenateur(senateur) {
if (senateur.show === true) {
senateur.show = false;
currentSenateur = null;
} else {
senateur.show = true;
hideCurrentSenateur();
currentSenateur = senateur;
}
};
$scope.applySearch = function applySearch() {
var filteredSenateurs = senateurs;
if ($scope.search.group !== '') {
filteredSenateurs = _.filter(filteredSenateurs, function(senateur) {
return senateur.senateur.groupe_sigle === $scope.search.group;
});
}
if ($scope.search.status !== '') {
filteredSenateurs = _.filter(filteredSenateurs, function(senateur) {
return senateur.infos.position === parseInt($scope.search.status, 10);
});
}
if ($scope.search.circ !== '') {
filteredSenateurs = _.filter(filteredSenateurs, function(senateur) {
return senateur.senateur.nom_circo === $scope.search.circ;
});
}
if ($scope.search.name !== '') {
var search = $scope.search.name.toLowerCase();
filteredSenateurs = _.filter(filteredSenateurs, function(senateur) {
return senateur.senateur.nom.toLowerCase().indexOf(search) > -1;
});
}
$scope.senateurs = _.sortBy(filteredSenateurs, function(senateur) { return senateur.senateur.nom_de_famille; });
hideCurrentSenateur();
$scope.totalItems = $scope.senateurs.length;
$scope.applyPaginate();
// console.log($scope.senateurs);
};
$scope.applyPaginate = function applyPaginate() {
var begin = (($scope.currentPage - 1) * $scope.numPerPage);
var end = begin + $scope.numPerPage;
$scope.filteredSenateures = $scope.senateurs.slice(begin, end);
};
$scope.colorMask = function colorMask(senateur) {
var status = senateur.infos.position;
if(status === 0) {
return 'unknown-mask';
} else if (status === 1) {
return 'green-mask';
} else {
return 'red-mask';
}
};
});
<div id="deputes" ng-controller="SenateursCtrl">
<h1>Refusez cette loi de surveillance</h1>
<form class="container-fluid">
<div class="row">
<div class="form-group col-md-4">
<label for="circonscriptionFilter">Circonscription</label>
<select id="circonscriptionFilter" class="form-control" ng-change="applySearch()" ng-model="search.circ">
<option></option>
<option ng-repeat="circ in Circonscriptions | orderBy:circ " value="{{circ}}">{{circ}}</option>
</select>
</div>
<div class="form-group col-md-4">
<label for="groupFilter">Groupe</label>
<select id="groupFilter" class="form-control" ng-change="applySearch()" ng-model="search.group">
<option></option>
<option ng-repeat="(groupe, nom) in Groupes | orderBy:groupe" value="{{ groupe }}">{{ groupe }} - {{ nom }}</option>
</select>
</div>
<div class="form-group col-md-4">
<label for="statusFilter">Position</label>
<select id="statusFilter" class="form-control" ng-change="applySearch()" ng-model="search.status">
<option></option>
<option value="0">Inconnue</option>
<option value="1">Opposé·e·s au texte</option>
<option value="2">Favorables au texte</option>
</select>
</div>
</div>
<div class="form-group">
<input type="text" ng-model="search.name" class="form-control" placeholder="Recherche…" ng-change="applySearch()">
</div>
</form>
<div class="container">
<div class="row">
<div id="deputes-list" class="col-md-12">
<div ng-repeat="senateur in filteredSenateures" class="depute-image">
<a href="" ng-click="selectSenateur(senateur)">
<figure class="mask" ng-class="colorMask(senateur)" fade-on-load>
<img ng-src="assets/senateurs/{{senateur.senateur.slug}}.png">
</figure>
<div class="depute-name">{{ senateur.senateur.nom }}</div>
</a>
<div class="depute-info" ng-show="senateur.show">
<h3>{{ senateur.senateur.nom }}</h3>
<p>{{ senateur.senateur.groupe_sigle}}</p>
<ul>
<li ng-if="senateur.infos.twitter">Twitter : <a ng-href="https://twitter.com/{{ senateur.infos.twitter }}">@{{ senateur.infos.twitter }}</a></li>
<li ng-repeat="email in senateur.senateur.emails">
<a ng-href="mailto:{{email.email}}">{{ email.email }}</a>
</li>
<li ng-if="senateur.infos.website"><a ng-href="{{ senateur.infos.website }}">{{ senateur.infos.website }}</a></li>
<!-- <li><a ng-href="{{senateur.senateur.url_an}}">{{ senateur.senateur.url_an }}</a></li> -->
<!-- <li><a ng-href="{{senateur.senateur.url_nossenateurs}}">{{ senateur.senateur.url_nossenateurs }}</a></li> -->
</ul>
<!-- Bloc piPhone -->
<p>
<strong>
<a href="http://piphone.lqdn.fr/campaign/call2/pjl_renseignement?setlang=fr">Appelez</a> vos députés&nbsp;!
</strong> <br>
Refusez cette loi de surveillance&nbsp;!
</p>
<p ng-if="senateur.infos.id_piphone">
<a class="btn btn-success"
href="https://piphone.lqdn.fr/campaign/call2/pjl_renseignement/{{ senateur.infos.id_piphone }}/#mep"
target="_blank" role="button">Appelez gratuitement</a>
</p>
<!-- <object data="https://piphone.lqdn.fr/campaign/widgetan/pjl_renseignement/verti/fr/{{ senateur.senateur.slug }}" width="215" height="380"></object> -->
</div>
</div>
</div>
Nombre de sénateurs : <strong>{{senateurs.length}}</strong>
</div>
<div class="clear"></div>
<div id="deputes-pagination">
<pagination
items-per-page="numPerPage" total-items="totalItems"
ng-model="currentPage" ng-change="applyPaginate()"
max-size="5" rotate="false">
</pagination>
</div>
<!--
<h2>Un député au hasard ?</h2>
<div style="text-align: center">
<object data="https://piphone.lqdn.fr/campaign/widgetan/pjl_renseignement/horiz/fr" width="630" height="200"></object>
</div>
<p class="link">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<a href="https://pad.lqdn.fr/p/PJLsenateurs">Mettez à jour les positions des députés</a>
</p>
-->
</div>
......@@ -24,7 +24,8 @@
<div ng-include="'app/main/components/description/description.html'"></div>
<!-- Deputes -->
<div ng-include="'app/main/components/deputes/deputes.html'"></div>
<!-- <div ng-include="'app/main/components/deputes/deputes.html'"></div> -->
<div ng-include="'app/main/components/senateurs/senateurs.html'"></div>
<h1>Qui s’y oppose ?</h1>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment