diff --git a/NEWS b/NEWS
index 6be09f19f..deb58e3a3 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,7 @@ Enhancements
- [web] added Junk handling feature from v2
- [web] updated Material Icons font to version 2.1.3
- [web] don't offer forward/vacation options in filters if not enabled
+ - [web] mail filters are now sortable
Bug fixes
- [web] handle birthday dates before 1970
diff --git a/UI/Templates/PreferencesUI/UIxPreferences.wox b/UI/Templates/PreferencesUI/UIxPreferences.wox
index 57d751225..8c16d575c 100644
--- a/UI/Templates/PreferencesUI/UIxPreferences.wox
+++ b/UI/Templates/PreferencesUI/UIxPreferences.wox
@@ -8,7 +8,7 @@
xmlns:label="OGo:label"
className="UIxPageFrame"
title="title"
- const:jsFiles="Common.js, Preferences.js, Preferences.services.js, Mailer.services.js, Contacts.services.js, vendor/ckeditor/ckeditor.js, vendor/ckeditor/ck.js">
+ const:jsFiles="Common.js, vendor/ng-sortable.js, Preferences.js, Preferences.services.js, Mailer.services.js, Contacts.services.js, vendor/ckeditor/ckeditor.js, vendor/ckeditor/ck.js">
@@ -612,11 +612,12 @@
-
+
+ ng-repeat="item in app.preferences.defaults.SOGoSieveFilters track by $index">
+
+ drag_handle
+
=2.4.2"
},
"resolutions": {
diff --git a/UI/WebServerResources/js/Preferences/Preferences.app.js b/UI/WebServerResources/js/Preferences/Preferences.app.js
index e3c6bd9c3..cf8b8e6fc 100644
--- a/UI/WebServerResources/js/Preferences/Preferences.app.js
+++ b/UI/WebServerResources/js/Preferences/Preferences.app.js
@@ -4,7 +4,7 @@
(function() {
'use strict';
- angular.module('SOGo.PreferencesUI', ['ui.router', 'ck', 'SOGo.Common', 'SOGo.MailerUI', 'SOGo.ContactsUI', 'SOGo.Authentication'])
+ angular.module('SOGo.PreferencesUI', ['ui.router', 'ck', 'SOGo.Common', 'SOGo.MailerUI', 'SOGo.ContactsUI', 'SOGo.Authentication', 'ng-sortable'])
.config(configure)
.run(runBlock);
diff --git a/UI/WebServerResources/scss/components/list/list.scss b/UI/WebServerResources/scss/components/list/list.scss
index 8b1134a9d..6d5093b00 100644
--- a/UI/WebServerResources/scss/components/list/list.scss
+++ b/UI/WebServerResources/scss/components/list/list.scss
@@ -202,6 +202,21 @@ div.md-tile-left {
margin: 1px 2px;
}
}
+
+ /* Classes for ng-sortable */
+ &-sortable-grip {
+ &:hover {
+ cursor: move;
+ }
+ }
+
+ &-sortable-ghost {
+ opacity: 0.5;
+ }
+
+ &-sortable-chosen {
+ background-color: white;
+ }
}
.card-picture {