Commit 7bc5455e authored by Anthony Geourjon's avatar Anthony Geourjon
Browse files

Merge branch 'EDCAMPUS-21-participation-a-un-evenement-dun-projet' into 'master'

Edcampus 21 participation a un evenement dun projet

See merge request !14
parents 59f2b907 f6f9fe95
This diff is collapsed.
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<ul class="top"> <ul class="top">
<li class="year" style='width: 100; text-align: center;margin-bottom:5px;'> <li class="year" style='width: 100; text-align: center;margin-bottom:5px;'>
<div data-calendar-nav="prev" class="project-icon"><i class="fa fa-chevron-left"></i></div> <div data-calendar-nav="prev" class="project-icon"><i class="fa fa-chevron-left"></i></div>
<span id="" ng-model="currentDate.year">{{currentDate.year}}</span> <span id="" ng-model="currentDate.year">{{currentDate.year}}</span>
<div data-calendar-nav="next" class="project-icon"><i style="margin-left:2px;" class="fa fa-chevron-right"></i></div> <div data-calendar-nav="next" class="project-icon"><i style="margin-left:2px;" class="fa fa-chevron-right"></i></div>
</li> </li>
</ul> </ul>
<ul class="middle "> <ul class="middle ">
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<span>{{month.label}}</span> <span>{{month.label}}</span>
</li> </li>
</ul> </ul>
<div > <div >
<div id="calendar"></div> <div id="calendar"></div>
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<div class="form-group has-error"> <div class="form-group has-error">
<label for="inputLabel">{{::_labels.titleEvent}}</label><span class="required-item"> *</span> <label for="inputLabel">{{::_labels.titleEvent}}</label><span class="required-item"> *</span>
<input type="text" name="title" id="inputLabel" placeholder="{{::_labels.enterTitleEvent}}" ng-model="newEventCtrl.newEvent.title" required=true></input> <input type="text" name="title" id="inputLabel" placeholder="{{::_labels.enterTitleEvent}}" ng-model="newEventCtrl.newEvent.title" required=true></input>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="inputLocation">{{::_labels.location}}</label> <label for="inputLocation">{{::_labels.location}}</label>
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
</div> </div>
</div>--> </div>-->
<div class="col-md-6" selected-value="newEventCtrl.newEvent.timeBegin" time-picker> <div class="col-md-6" selected-value="newEventCtrl.newEvent.timeBegin" time-picker>
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
</div> --> </div> -->
</div> </div>
</div> </div>
<div class="separator"></div> <div class="separator"></div>
<div class="hide"> <div class="hide">
...@@ -78,9 +78,9 @@ ...@@ -78,9 +78,9 @@
<select ng-model="newEventCtrl.newEvent.invitationJobs" ng-options="model.name for model in newEventCtrl.projectJobs" ng-change="newEventCtrl.newEvent.invitationByJob=true"></select> <select ng-model="newEventCtrl.newEvent.invitationJobs" ng-options="model.name for model in newEventCtrl.projectJobs" ng-change="newEventCtrl.newEvent.invitationByJob=true"></select>
</div> </div>
<div class="clearfixbutton"></div> <div class="clearfixbutton"></div>
<div class="WelcomeCtrlBtns" style="right: 10px;bottom: 10px;text-align: right"> <div class="WelcomeCtrlBtns" style="right: 10px;bottom: 10px;text-align: right">
<button class="WelcomeCtrlBtn cancel" type="button" ng-click="newEventCtrl.cancelManager()">{{::_labels.cancelBtn}}</button> <button class="WelcomeCtrlBtn cancel" type="button" ng-click="newEventCtrl.cancelManager()">{{::_labels.cancelBtn}}</button>
<button class="WelcomeCtrlBtn primary" type="submit" >{{::_labels.editModeOn}}</button> <button class="WelcomeCtrlBtn primary" type="submit" >{{::_labels.editModeOn}}</button>
</div> </div>
</form> </form>
</div> </div>
...@@ -118,7 +118,7 @@ ...@@ -118,7 +118,7 @@
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<label for="inputDate">{{::_labels.time}}</label><span class="required-item"> *</span> <label for="inputDate">{{::_labels.time}}</label><span class="required-item"> *</span>
<minutes-picker selected-value="newEventCtrl.newEvent.myBeginMinutes" required=true></minute-picker > <minutes-picker selected-value="newEventCtrl.newEvent.myBeginMinutes" required=true></minute-picker >
</div> </div>
</div> </div>
</div> </div>
...@@ -140,14 +140,14 @@ ...@@ -140,14 +140,14 @@
</div> </div>
</div> </div> </div> </div>
</div> </div>
<div class="separator"></div> <div class="separator"></div>
<div class="clearfixbutton"></div> <div class="clearfixbutton"></div>
<div class="WelcomeCtrlBtns" style="right: 10px;bottom: 10px;text-align: right"> <div class="WelcomeCtrlBtns" style="right: 10px;bottom: 10px;text-align: right">
<button class="WelcomeCtrlBtn cancel" type="button" ng-click="newEventCtrl.cancelManager()">{{::_labels.cancelBtn}}</button> <button class="WelcomeCtrlBtn cancel" type="button" ng-click="newEventCtrl.cancelManager()">{{::_labels.cancelBtn}}</button>
<button class="WelcomeCtrlBtn primary" type="submit" >{{::_labels.editModeOn}}</button> <button class="WelcomeCtrlBtn primary" type="submit" >{{::_labels.editModeOn}}</button>
</div> </div>
</form> </form>
</div> </div>
...@@ -156,9 +156,9 @@ ...@@ -156,9 +156,9 @@
<div class="sepator" style="background: #f08317; height: 2px; width: 200px; margin: 0 auto 20px auto;"></div> <div class="sepator" style="background: #f08317; height: 2px; width: 200px; margin: 0 auto 20px auto;"></div>
<div> <div>
<div class="col-md-12" style="margin-bottom: 10px;"> <div class="col-md-12" style="margin-bottom: 10px;">
<label><i class="fa fa-user"></i> {{_formatUser(newEventCtrl.newEvent.organizer).shortName}} </label> <label><i class="fa fa-user"></i> {{_formatUser(newEventCtrl.newEvent.organizer).shortName}} </label>
<br> <br>
<label><i class="fa fa-clock-o"></i> {{newEventCtrl.newEvent.date | formatDate}} </label> <label><i class="fa fa-clock-o"></i> {{newEventCtrl.newEvent.date | formatDate}} </label>
...@@ -167,11 +167,11 @@ ...@@ -167,11 +167,11 @@
</span> </span>
<p>{{newEventCtrl.newEvent.description}}</p> <p>{{newEventCtrl.newEvent.description}}</p>
</div> </div>
<div class=""> <div class="">
<div class="col-md-6"> <div class="col-md-6">
<div class="event-options"> <div class="event-options">
<h6>{{::_labels.eventInvitedUsers}}:</h6> <h6>{{::_labels.eventInvitedUsers}}:</h6>
<div ng-if='newEventCtrl.newEvent.organizer.id==_getSession().user'> <div ng-if='newEventCtrl.newEvent.organizer.id==_getSession().user'>
<!--<div class="separator"></div> <!--<div class="separator"></div>
...@@ -195,16 +195,16 @@ ...@@ -195,16 +195,16 @@
<div class=""> <div class="">
<label>{{::_labels.externalUsers}}</label> <label>{{::_labels.externalUsers}}</label>
<div ng-repeat="user in newEventCtrl.newEvent.details.invitedExternal" class="media-object thumb" style="margin: 5px;"> <div ng-repeat="user in newEventCtrl.newEvent.details.invitedExternal" class="media-object thumb" style="margin: 5px;">
<user label="true" labelPosition="right" user="user" size="25"></user> <user label="true" labelPosition="right" user="user" size="25"></user>
</div> </div>
</div> </div>
<div class="media-object thumb" style="margin: 5px;" ng-if="!newEventCtrl.newEvent.details.invited.length"> <div class="media-object thumb" style="margin: 5px;" ng-if="!newEventCtrl.newEvent.details.invited.length">
<p>{{::_labels.noneP}}</p> <p>{{::_labels.noneP}}</p>
</div> </div>
<div class="clearfix"></div> <div class="clearfix"></div>
</div> </div>
</div> </div>
...@@ -228,7 +228,7 @@ ...@@ -228,7 +228,7 @@
<div class="clearfix"></div> <div class="clearfix"></div>
</div> </div>
<div class="clearfixbutton"></div> <div class="clearfixbutton"></div>
<div class="WelcomeCtrlBtns" style="right: 10px;bottom: 10px;text-align: right"> <div class="WelcomeCtrlBtns" style="right: 10px;bottom: 10px;text-align: right">
<button class="WelcomeCtrlBtn" ng-click="newEventCtrl.cancelManager()">{{::_labels.closeBtn}}</button> <button class="WelcomeCtrlBtn" ng-click="newEventCtrl.cancelManager()">{{::_labels.closeBtn}}</button>
</div> </div>
......
...@@ -3,19 +3,19 @@ ...@@ -3,19 +3,19 @@
/* Controllers */ /* Controllers */
root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactory','$userFactory', '$state','$languageFactory', function($scope, $http,$stateParams, $eventsFactory,$userFactory, $state,$languageFactory) { root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactory','$userFactory', '$state','$languageFactory', function($scope, $http,$stateParams, $eventsFactory,$userFactory, $state,$languageFactory) {
var newEventCtrl=this; var newEventCtrl=this;
newEventCtrl.shortName = $stateParams.projectName; newEventCtrl.shortName = $stateParams.projectName;
//newEventCtrl.file = $stateParams.action; //newEventCtrl.file = $stateParams.action;
newEventCtrl.section = "eventNew"; newEventCtrl.section = "eventNew";
newEventCtrl.currentStep = 0; newEventCtrl.currentStep = 0;
newEventCtrl.eventTypes = []; newEventCtrl.eventTypes = [];
newEventCtrl.steps = [1,2]; newEventCtrl.steps = [1,2];
newEventCtrl.newEvent = {title:"",fixedDate:1}; newEventCtrl.newEvent = {title:"",fixedDate:1};
newEventCtrl.newEvent.commonDates = [{id:1,value:""}]; newEventCtrl.newEvent.commonDates = [{id:1,value:""}];
newEventCtrl.newEvent.url = $scope._urls.root+"#/e/"+$scope._hashCode(newEventCtrl.shortName+(new Date()).getTime(),10) newEventCtrl.newEvent.url = $scope._urls.root+"#/e/"+$scope._hashCode(newEventCtrl.shortName+(new Date()).getTime(),10)
...@@ -23,19 +23,19 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor ...@@ -23,19 +23,19 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor
newEventCtrl.newEvent.myBeginHours="12"; newEventCtrl.newEvent.myBeginHours="12";
newEventCtrl.newEvent.myEndMinutes="00"; newEventCtrl.newEvent.myEndMinutes="00";
newEventCtrl.newEvent.myEndHours="12"; newEventCtrl.newEvent.myEndHours="12";
var session = $scope._getSession(); var session = $scope._getSession();
newEventCtrl.cancelManager=function(value){ newEventCtrl.cancelManager=function(value){
if(value) $eventsFactory.set_popupState(false, true); if(value) $eventsFactory.set_popupState(false, true);
else $eventsFactory.set_popupState(false); else $eventsFactory.set_popupState(false);
} }
newEventCtrl.getCategories = function(){ newEventCtrl.getCategories = function(){
$eventsFactory.getEventCategories(function(data){ $eventsFactory.getEventCategories(function(data){
if(data.status == "success"){ if(data.status == "success"){
...@@ -57,11 +57,11 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor ...@@ -57,11 +57,11 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor
newEventCtrl.newEvent.myDateEnd = $("#myDateEnd" ).val(); newEventCtrl.newEvent.myDateEnd = $("#myDateEnd" ).val();
}}); }});
}) })
} }
newEventCtrl.addEvent = function(){ newEventCtrl.addEvent = function(){
var data = {}; var data = {};
...@@ -74,16 +74,16 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor ...@@ -74,16 +74,16 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor
else data.event.endDate = newEventCtrl.newEvent.myDateEnd+" "+myTimeEnd;//tbl[0]["value"]; else data.event.endDate = newEventCtrl.newEvent.myDateEnd+" "+myTimeEnd;//tbl[0]["value"];
$eventsFactory.addEvent($scope._getProject(),data.event,function(data){ $eventsFactory.addEvent($scope._getProject(),data.event,function(data){
if(data.status == "success"){ if(data.status == "success"){
newEventCtrl.joinEvent({eventId:data.details},1, 'newEvent'); newEventCtrl.joinEvent({eventId:data.details},1, 'newEvent');
$scope._showAlert({status:1,message:$languageFactory._labels.alerts_addEventSuccess}); $scope._showAlert({status:1,message:$languageFactory._labels.alerts_addEventSuccess});
} }
else{ else{
$scope._showAlert({status:3,message:$languageFactory._labels.alerts_addEventFailure}); $scope._showAlert({status:3,message:$languageFactory._labels.alerts_addEventFailure});
} }
}) })
} }
newEventCtrl.updateEvent=function(){ newEventCtrl.updateEvent=function(){
...@@ -102,54 +102,53 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor ...@@ -102,54 +102,53 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor
newEventCtrl.cancelManager(true); newEventCtrl.cancelManager(true);
} }
else{ else{
$scope._showAlert({status:3,message:$languageFactory._labels.alerts_deleteEventFailure}); $scope._showAlert({status:3,message:$languageFactory._labels.alerts_deleteEventFailure});
} }
}) })
} }
newEventCtrl.getEventDetails = function(event){ newEventCtrl.getEventDetails = function(event){
$eventsFactory.getEventDetails($scope._getProject(),newEventCtrl.newEvent.eventId, function(data){
$eventsFactory.getEventDetails($scope._getProject,event.eventId, function(data){
if(data.status == "success"){ if(data.status == "success"){
$scope._showAlert({status:1,message:""}); $scope._showAlert({status:1,message:""});
var invited = []; var invited = [];
var externalInvited = []; var externalInvited = [];
var participants = []; var participants = [];
var myId = $scope._getSession().user; var myId = $scope._getSession().user;
event.iParticipate = false; newEventCtrl.newEvent.iParticipate = false;
for(var i=0;i<data.details.invited.length;i++){ for(var i=0;i<data.details.invited.length;i++){
var index = $scope._arrayObjectIndexOf(newEventCtrl.members,data.details.invited[i].id,"id"); var index = $scope._arrayObjectIndexOf(newEventCtrl.members,data.details.invited[i].id,"id");
if(index>=0){ if(index>=0){
//var label = newEventCtrl.members[index].firstName||newEventCtrl.members[index].lastName?newEventCtrl.members[index].firstName+" "+newEventCtrl.members[index].lastName:newEventCtrl.members[index].shortName // var label = newEventCtrl.members[index].firstName||newEventCtrl.members[index].lastName?newEventCtrl.members[index].firstName+" "+newEventCtrl.members[index].lastName:newEventCtrl.members[index].shortName
invited.push(data.details.invited[i]); invited.push(data.details.invited[i]);
} }
else{ else{
externalInvited.push(data.details.invited[i]) externalInvited.push(data.details.invited[i])
} }
} }
for(i=0;i<data.details.participants.length;i++){ for(i=0;i<data.details.participants.length;i++){
var index = $scope._arrayObjectIndexOf(newEventCtrl.members,data.details.participants[i].id,"id"); var index = $scope._arrayObjectIndexOf(newEventCtrl.members,data.details.participants[i].id,"id");
participants.push(data.details.participants[i]); participants.push(data.details.participants[i]);
if(data.details.participants[i].id==myId){ if(data.details.participants[i].id==myId){
event.iParticipate = true; newEventCtrl.newEvent.iParticipate = true;
} }
} }
event.details = {invited:invited,participants:participants,invitedExternal:externalInvited}; newEventCtrl.newEvent.details = {invited:invited,participants:participants,invitedExternal:externalInvited};
} }
else{ else{
$scope._showAlert({status:3,message:""}); $scope._showAlert({status:3,message:""});
} }
}) })
} }
newEventCtrl.joinEvent = function(event,value, mode){ newEventCtrl.joinEvent = function(event,value, mode){
console.log("on va rejoindre"); console.log("on va rejoindre");
$eventsFactory.joinEvent($scope._getProject(), event.eventId,value,function(data){ $eventsFactory.joinEvent(newEventCtrl.newEvent.eventId,$scope._getSession().user, value,function(data){
if(data.status == "success"){ if(data.status == "success"){
if(mode){ if(mode){
$eventsFactory.newEvent(); $eventsFactory.newEvent();
...@@ -161,12 +160,12 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor ...@@ -161,12 +160,12 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor
newEventCtrl.getEventDetails(event); newEventCtrl.getEventDetails(event);
console.log("y avait pas de mode"); console.log("y avait pas de mode");
} }
$scope._showAlert({status:1,message:""}); $scope._showAlert({status:1,message:""});
} }
}) })
} }
//$("#inputLocation").geocomplete(); //$("#inputLocation").geocomplete();
newEventCtrl.changeSearchMembers=function(){ newEventCtrl.changeSearchMembers=function(){
...@@ -189,7 +188,7 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor ...@@ -189,7 +188,7 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor
if(data.status == "success"){ if(data.status == "success"){
newEventCtrl.members = data.details; newEventCtrl.members = data.details;
var pos=newEventCtrl.members.map(function(item) { return item.login }); var pos=newEventCtrl.members.map(function(item) { return item.login });
newEventCtrl.positionsBlood = new Bloodhound({ newEventCtrl.positionsBlood = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace, datumTokenizer: Bloodhound.tokenizers.whitespace,
...@@ -206,26 +205,26 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor ...@@ -206,26 +205,26 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor
{ {
name: 'positions', name: 'positions',
source: newEventCtrl.positionsBlood.ttAdapter(), source: newEventCtrl.positionsBlood.ttAdapter(),
}); });
typeahead.on('typeahead:selected',function(evt,data){ typeahead.on('typeahead:selected',function(evt,data){
var index=$scope._arrayObjectIndexOf(newEventCtrl.members, data, "login"); var index=$scope._arrayObjectIndexOf(newEventCtrl.members, data, "login");
if(index > -1){ if(index > -1){
newEventCtrl.newRecipient=newEventCtrl.members[index]; newEventCtrl.newRecipient=newEventCtrl.members[index];
} }
//newEventCtrl.newRecipient=data; //newEventCtrl.newRecipient=data;
newEventCtrl.newEvent.recipient=""; newEventCtrl.newEvent.recipient="";
}); });
setTimeout(function() { $('#inputMembers').focus(); }, 0); setTimeout(function() { $('#inputMembers').focus(); }, 0);
} }
else{ else{
...@@ -238,7 +237,9 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor ...@@ -238,7 +237,9 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor
var event = newEventCtrl.newEvent; var event = newEventCtrl.newEvent;
$eventsFactory.inviteUserToEvent($scope._getProject(),event.eventId,newEventCtrl.newRecipient.id,function(data){ $eventsFactory.inviteUserToEvent($scope._getProject(),event.eventId,newEventCtrl.newRecipient.id,function(data){
if(data.status == "success"){
if(data.status == "success"){
newEventCtrl.getEventDetails(event); newEventCtrl.getEventDetails(event);
$('.typeahead').typeahead('val',''); $('.typeahead').typeahead('val','');
$("#inputMembers").typeahead('val',''); $("#inputMembers").typeahead('val','');
...@@ -263,7 +264,7 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor ...@@ -263,7 +264,7 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor
myDate=newEventCtrl.eventPopup.event.endDate.split(" "); myDate=newEventCtrl.eventPopup.event.endDate.split(" ");
newEventCtrl.newEvent.myDateEnd=myDate["0"]; newEventCtrl.newEvent.myDateEnd=myDate["0"];
var myDateEndTime=myDate[1]; var myDateEndTime=myDate[1];
newEventCtrl.newEvent.timeBegin=myDateBeginTime; newEventCtrl.newEvent.timeBegin=myDateBeginTime;
var tempBeginTime=myDateBeginTime.split(":"); var tempBeginTime=myDateBeginTime.split(":");
...@@ -276,7 +277,7 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor ...@@ -276,7 +277,7 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor
newEventCtrl.newEvent.myEndHours=tempEndTime[0]; newEventCtrl.newEvent.myEndHours=tempEndTime[0];
newEventCtrl.newEvent.myEndMinutes=tempEndTime[1]; newEventCtrl.newEvent.myEndMinutes=tempEndTime[1];
} }
} }
if(newEventCtrl.eventPopup.mode=="details"){ if(newEventCtrl.eventPopup.mode=="details"){
...@@ -288,6 +289,6 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor ...@@ -288,6 +289,6 @@ root.controller('EventNewCtrl', ['$scope','$http' ,'$stateParams','$eventsFactor
} }
newEventCtrl.init(); newEventCtrl.init();
}]); }]);
<div class="clearfix group-overview"> <div class="clearfix group-overview">
<div> <div>
<div class="group-overview-title"> <div class="group-overview-title">
<h4 style="text-align: center"><span ng-bind="::_labels.calendar"></span></h4> <h4 style="text-align: center"><span ng-bind="::_labels.calendar"></span></h4>
<div class="sepator" style="background: #f08317; height: 2px; width: 200px; margin: 0 auto 20px auto;"></div> <div class="sepator"
</div> style="background: #f08317; height: 2px; width: 200px; margin: 0 auto 20px auto;"></div>
</div>
<div class="ajouters"> <div class="ajouters">
<div style="margin-bottom:20px;height:40px"> <div style="margin-bottom:20px;height:40px">
<div class="pull-left" id="switchCalendarView" style="border: 1px solid lightgray;padding: 2px 5px;"> <div class="pull-left" id="switchCalendarView" style="border: 1px solid lightgray;padding: 2px 5px;">
<div class="custom-tooltip"> <div class="custom-tooltip">
<i class="fa fa-calendar" aria-hidden="true" ng-click="eventsCtrl.switchView('calendar')" ng-class="{'active':eventsCtrl.screen=='calendar'}"></i><span class="tooltiptext">Vue globale</span> <i aria-hidden="true" class="fa fa-calendar" ng-class="{'active':eventsCtrl.screen=='calendar'}"
</div> ng-click="eventsCtrl.switchView('calendar')"></i><span
<div class="custom-tooltip"> class="tooltiptext">Vue globale</span>
<i class="fa fa-th-large" aria-hidden="true" ng-click="eventsCtrl.switchView('details')" ng-class="{'active':eventsCtrl.screen=='details'}" style="margin-left:8px"> </div>
<div class="custom-tooltip">
<i aria-hidden="true" class="fa fa-th-large" ng-class="{'active':eventsCtrl.screen=='details'}"
ng-click="eventsCtrl.switchView('details')" style="margin-left:8px">
</i> </i>
<span class="tooltiptext" ng-bind="::_labels.detailledView"></span> <span class="tooltiptext" ng-bind="::_labels.detailledView"></span>
</div>