parent
8697b6c835
commit
141b3af83b
1
NEWS
1
NEWS
|
@ -15,6 +15,7 @@ Bug fixes
|
||||||
- [web] fixed display of error when the mail editor is in a popup
|
- [web] fixed display of error when the mail editor is in a popup
|
||||||
- [web] attachments are not displayed on IOS (#4150)
|
- [web] attachments are not displayed on IOS (#4150)
|
||||||
- [web] fixed parsing of pasted email addresses from Spreadsheet (#4258)
|
- [web] fixed parsing of pasted email addresses from Spreadsheet (#4258)
|
||||||
|
- [web] messages list not accessible when changing mailbox in expanded mail view (#4269)
|
||||||
|
|
||||||
3.2.10 (2017-07-05)
|
3.2.10 (2017-07-05)
|
||||||
-------------------
|
-------------------
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
xmlns="http://www.w3.org/1999/xhtml"
|
xmlns="http://www.w3.org/1999/xhtml"
|
||||||
xmlns:var="http://www.skyrix.com/od/binding"
|
xmlns:var="http://www.skyrix.com/od/binding"
|
||||||
xmlns:label="OGo:label">
|
xmlns:label="OGo:label">
|
||||||
<div class="view-list" layout="column" ng-class="{'view-list--close': centerIsClose}">
|
<div class="view-list" layout="column" ng-class="{'view-list--close': mailbox.centerIsClose(centerIsClose)}">
|
||||||
|
|
||||||
<!-- in virtual mailbox mode -->
|
<!-- in virtual mailbox mode -->
|
||||||
<md-toolbar class="md-whiteframe-z1 md-hue-3"
|
<md-toolbar class="md-whiteframe-z1 md-hue-3"
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: javascript; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
|
|
||||||
/**
|
(function() {
|
||||||
* @type {angular.Module}
|
/* jshint validthis: true */
|
||||||
*/
|
|
||||||
(function () {
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -13,23 +11,43 @@
|
||||||
function navController($rootScope, $scope, $timeout, $interval, $http, $window, $mdSidenav, $mdToast, $mdMedia, $log, sgConstant, sgSettings, Resource, Alarm) {
|
function navController($rootScope, $scope, $timeout, $interval, $http, $window, $mdSidenav, $mdToast, $mdMedia, $log, sgConstant, sgSettings, Resource, Alarm) {
|
||||||
var resource = new Resource(sgSettings.baseURL(), sgSettings.activeUser());
|
var resource = new Resource(sgSettings.baseURL(), sgSettings.activeUser());
|
||||||
|
|
||||||
$scope.isPopup = sgSettings.isPopup;
|
this.$onInit = function() {
|
||||||
$scope.activeUser = sgSettings.activeUser();
|
$scope.isPopup = sgSettings.isPopup;
|
||||||
$scope.baseURL = sgSettings.baseURL();
|
$scope.activeUser = sgSettings.activeUser();
|
||||||
$scope.leftIsClose = !$mdMedia(sgConstant['gt-md']);
|
$scope.baseURL = sgSettings.baseURL();
|
||||||
// Don't hide the center list when on a small device
|
$scope.leftIsClose = !$mdMedia(sgConstant['gt-md']);
|
||||||
$scope.centerIsClose = !!$window.centerIsClose && !$scope.leftIsClose;
|
// Don't hide the center list when on a small device
|
||||||
|
$scope.centerIsClose = !!$window.centerIsClose && !$scope.leftIsClose;
|
||||||
|
|
||||||
// Show current day in top bar
|
// Show current day in top bar
|
||||||
$scope.currentDay = window.currentDay;
|
$scope.currentDay = window.currentDay;
|
||||||
$timeout(function() {
|
$timeout(function() {
|
||||||
// Update date when day ends
|
// Update date when day ends
|
||||||
$interval(function() {
|
$interval(function() {
|
||||||
$http.get('../date').then(function(data) {
|
$http.get('../date').then(function(data) {
|
||||||
$scope.currentDay = data;
|
$scope.currentDay = data;
|
||||||
});
|
});
|
||||||
}, 24 * 3600 * 1000);
|
}, 24 * 3600 * 1000);
|
||||||
}, window.currentDay.secondsBeforeTomorrow * 1000);
|
}, window.currentDay.secondsBeforeTomorrow * 1000);
|
||||||
|
|
||||||
|
// Track the 1024px window width threashold
|
||||||
|
$scope.$watch(function() {
|
||||||
|
return $mdMedia(sgConstant['gt-md']);
|
||||||
|
}, function(newVal) {
|
||||||
|
$scope.isGtMedium = newVal;
|
||||||
|
if (newVal) {
|
||||||
|
$scope.leftIsClose = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Listen to HTTP errors broadcasted from HTTP interceptor
|
||||||
|
$rootScope.$on('http:Error', onHttpError);
|
||||||
|
|
||||||
|
if (sgSettings.activeUser('path').calendar) {
|
||||||
|
// Fetch Calendar alarms
|
||||||
|
Alarm.getAlarms();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
$scope.toggleLeft = function() {
|
$scope.toggleLeft = function() {
|
||||||
if ($scope.isGtMedium) {
|
if ($scope.isGtMedium) {
|
||||||
|
@ -70,14 +88,6 @@
|
||||||
// var detail = angular.element(document.getElementById('detailView'));
|
// var detail = angular.element(document.getElementById('detailView'));
|
||||||
// detail.toggleClass('sg-close');
|
// detail.toggleClass('sg-close');
|
||||||
// };
|
// };
|
||||||
$scope.$watch(function() {
|
|
||||||
return $mdMedia(sgConstant['gt-md']);
|
|
||||||
}, function(newVal) {
|
|
||||||
$scope.isGtMedium = newVal;
|
|
||||||
if (newVal) {
|
|
||||||
$scope.leftIsClose = false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function leftIsClose() {
|
function leftIsClose() {
|
||||||
return !$mdSidenav('left').isOpen();
|
return !$mdSidenav('left').isOpen();
|
||||||
|
@ -106,14 +116,6 @@
|
||||||
else
|
else
|
||||||
$log.debug('untrap error');
|
$log.debug('untrap error');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Listen to HTTP errors broadcasted from HTTP interceptor
|
|
||||||
$rootScope.$on('http:Error', onHttpError);
|
|
||||||
|
|
||||||
if (sgSettings.activeUser('path').calendar) {
|
|
||||||
// Fetch Calendar alarms
|
|
||||||
Alarm.getAlarms();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
angular.module('SOGo.Common')
|
angular.module('SOGo.Common')
|
||||||
|
|
|
@ -117,6 +117,11 @@
|
||||||
return vm.selectedFolder.$compact();
|
return vm.selectedFolder.$compact();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.centerIsClose = function(navController_centerIsClose) {
|
||||||
|
// Allow the messages list to be hidden only if a message is selected
|
||||||
|
return this.selectedFolder.hasSelectedMessage() && !!navController_centerIsClose;
|
||||||
|
};
|
||||||
|
|
||||||
this.sort = function(field) {
|
this.sort = function(field) {
|
||||||
vm.selectedFolder.$filter({ sort: field });
|
vm.selectedFolder.$filter({ sort: field });
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue