Improve mail (Sieve) filter editor

- Used 'controller as' syntax;
- Don't create new filter if user cancels the edition;
- Set default values for new filter.
This commit is contained in:
Francis Lachapelle
2015-10-05 10:45:30 -04:00
parent a393128d7a
commit 9fa9b7acab
5 changed files with 75 additions and 62 deletions

View File

@@ -125,14 +125,11 @@
}
function addMailFilter(ev) {
if (!vm.preferences.defaults.SOGoSieveFilters)
vm.preferences.defaults.SOGoSieveFilters = [];
vm.preferences.defaults.SOGoSieveFilters.push({});
var filter = _.last(vm.preferences.defaults.SOGoSieveFilters);
var filter = { match: 'all' };
$mdDialog.show({
controller: 'FiltersDialogController',
templateUrl: 'editFilter?filter=new',
controller: 'FiltersDialogController',
controllerAs: 'filterEditor',
targetEvent: ev,
locals: {
filter: filter,
@@ -140,15 +137,20 @@
labels: vm.preferences.defaults.SOGoMailLabelsColors,
sieveCapabilities: window.sieveCapabilities
}
}).then(function() {
if (!vm.preferences.defaults.SOGoSieveFilters)
vm.preferences.defaults.SOGoSieveFilters = [];
vm.preferences.defaults.SOGoSieveFilters.push(filter);
});
}
function editMailFilter(index) {
function editMailFilter(ev, index) {
var filter = angular.copy(vm.preferences.defaults.SOGoSieveFilters[index]);
$mdDialog.show({
controller: 'FiltersDialogController',
templateUrl: 'editFilter?filter=' + index,
controller: 'FiltersDialogController',
controllerAs: 'filterEditor',
targetEvent: null,
locals: {
filter: filter,