diff --git a/UI/Templates/PreferencesUI/UIxPreferences.wox b/UI/Templates/PreferencesUI/UIxPreferences.wox
index 252b37523..bb9fc3044 100644
--- a/UI/Templates/PreferencesUI/UIxPreferences.wox
+++ b/UI/Templates/PreferencesUI/UIxPreferences.wox
@@ -748,11 +748,9 @@
-
+
diff --git a/UI/WebServerResources/js/Preferences/Preferences.service.js b/UI/WebServerResources/js/Preferences/Preferences.service.js
index deba14aa7..094089231 100644
--- a/UI/WebServerResources/js/Preferences/Preferences.service.js
+++ b/UI/WebServerResources/js/Preferences/Preferences.service.js
@@ -14,23 +14,38 @@
this.settings = {};
this.defaultsPromise = Preferences.$$resource.fetch("jsonDefaults").then(function(data) {
- // We swap $key -> _$key to avoid an Angular bug (https://github.com/angular/angular.js/issues/6266)
- var labels = _.object(_.map(data.SOGoMailLabelsColors, function(value, key) {
- if (key.charAt(0) == '$')
- return ['_' + key, value];
- return [key, value];
- }));
+ // We swap $key -> _$key to avoid an Angular bug (https://github.com/angular/angular.js/issues/6266)
+ var labels = _.object(_.map(data.SOGoMailLabelsColors, function(value, key) {
+ if (key.charAt(0) == '$')
+ return ['_' + key, value];
+ return [key, value];
+ }));
- data.SOGoMailLabelsColors = labels;
+ data.SOGoMailLabelsColors = labels;
- // We convert our list of autoReplyEmailAddresses/forwardAddress into a string.
- if (data.Vacation && data.Vacation.autoReplyEmailAddresses)
+ // We convert our list of autoReplyEmailAddresses/forwardAddress into a string.
+ // We also convert our date objects into real date, otherwise we'll have strings
+ // or undefined values and the md-datepicker does NOT like this.
+ if (data.Vacation) {
+ if (data.Vacation.endDate)
+ data.Vacation.endDate = new Date(parseInt(data.Vacation.endDate) * 1000);
+ else {
+ data.Vacation.endDateEnabled = 0;
+ data.Vacation.endDate = new Date();
+ }
+
+ if (data.Vacation.autoReplyEmailAddresses)
data.Vacation.autoReplyEmailAddresses = data.Vacation.autoReplyEmailAddresses.join(",");
+ } else {
+ data.Vacation = {};
+ data.Vacation.endDateEnabled = 0;
+ data.Vacation.endDate = new Date();
+ }
- if (data.Forward && data.Forward.forwardAddress)
- data.Forward.forwardAddress = data.Forward.forwardAddress.join(",");
+ if (data.Forward && data.Forward.forwardAddress)
+ data.Forward.forwardAddress = data.Forward.forwardAddress.join(",");
- angular.extend(_this.defaults, data);
+ angular.extend(_this.defaults, data);
return _this.defaults;
});
@@ -42,8 +57,6 @@
var match = /^(.+)\s<(\S+)>$/.exec(value);
return new Preferences.$User({uid: key, cn: match[1], c_email: match[2]});
});
- else
- data.Calendar.PreventInvitationsWhitelist = [];
angular.extend(_this.settings, data);
@@ -134,8 +147,15 @@
preferences.defaults.SOGoMailLabelsColors = labels;
- if (preferences.defaults.Vacation && preferences.defaults.Vacation.autoReplyEmailAddresses)
- preferences.defaults.Vacation.autoReplyEmailAddresses = preferences.defaults.Vacation.autoReplyEmailAddresses.split(",");
+ if (preferences.defaults.Vacation) {
+ if (preferences.defaults.Vacation.endDateEnabled)
+ preferences.defaults.Vacation.endDate = preferences.defaults.Vacation.endDate.getTime()/1000;
+ else
+ preferences.defaults.Vacation.endDate = 0;
+
+ if (preferences.defaults.Vacation.autoReplyEmailAddresses)
+ preferences.defaults.Vacation.autoReplyEmailAddresses = preferences.defaults.Vacation.autoReplyEmailAddresses.split(",");
+ }
if (preferences.defaults.Forward && preferences.defaults.Forward.forwardAddress)
preferences.defaults.Forward.forwardAddress = preferences.defaults.Forward.forwardAddress.split(",");
diff --git a/UI/WebServerResources/scss/components/datepicker/_extends-calendar.scss b/UI/WebServerResources/scss/components/datepicker/_extends-calendar.scss
new file mode 100644
index 000000000..45cf3950e
--- /dev/null
+++ b/UI/WebServerResources/scss/components/datepicker/_extends-calendar.scss
@@ -0,0 +1,2 @@
+/*! datepicker/_extends.scss - */
+@import '../../../angular-material/src/components/datepicker/calendar.scss';
diff --git a/UI/WebServerResources/scss/components/datepicker/_extends-datePicker.scss b/UI/WebServerResources/scss/components/datepicker/_extends-datePicker.scss
new file mode 100644
index 000000000..fb1a5b11e
--- /dev/null
+++ b/UI/WebServerResources/scss/components/datepicker/_extends-datePicker.scss
@@ -0,0 +1,2 @@
+/*! datepicker/_extends.scss - */
+@import '../../../angular-material/src/components/datepicker/datePicker.scss';
diff --git a/UI/WebServerResources/scss/components/datepicker/calendar.scss b/UI/WebServerResources/scss/components/datepicker/calendar.scss
new file mode 100644
index 000000000..165984b49
--- /dev/null
+++ b/UI/WebServerResources/scss/components/datepicker/calendar.scss
@@ -0,0 +1,2 @@
+/// calendar.scss -*- Mode: scss; indent-tabs-mode: nil; basic-offset: 2 -*-
+@import 'extends-calendar';
diff --git a/UI/WebServerResources/scss/components/datepicker/datePicker.scss b/UI/WebServerResources/scss/components/datepicker/datePicker.scss
new file mode 100644
index 000000000..c19bac426
--- /dev/null
+++ b/UI/WebServerResources/scss/components/datepicker/datePicker.scss
@@ -0,0 +1,2 @@
+/// datePicker.scss -*- Mode: scss; indent-tabs-mode: nil; basic-offset: 2 -*-
+@import 'extends-datePicker';
diff --git a/UI/WebServerResources/scss/components/menu/menu.scss b/UI/WebServerResources/scss/components/menu/menu.scss
index f3304506f..0d3914c8e 100644
--- a/UI/WebServerResources/scss/components/menu/menu.scss
+++ b/UI/WebServerResources/scss/components/menu/menu.scss
@@ -1,2 +1,2 @@
-/// menu..scss -*- Mode: scss; indent-tabs-mode: nil; basic-offset: 2 -*-
+/// menu.scss -*- Mode: scss; indent-tabs-mode: nil; basic-offset: 2 -*-
@import 'extends';
diff --git a/UI/WebServerResources/scss/core/variables.scss b/UI/WebServerResources/scss/core/variables.scss
index 325ae3684..c3e42b569 100644
--- a/UI/WebServerResources/scss/core/variables.scss
+++ b/UI/WebServerResources/scss/core/variables.scss
@@ -165,3 +165,9 @@ $swift-ease-in: all $swift-ease-in-duration $swift-ease-in-timing-function !defa
$swift-ease-in-out-duration: 0.5s !default;
$swift-ease-in-out-timing-function: cubic-bezier(0.35, 0, 0.25, 1) !default;
$swift-ease-in-out: all $swift-ease-in-out-duration $swift-ease-in-out-timing-function !default;
+
+// Fab Buttons (shared between buttons.scss and fab*.scss)
+// -------------------------------------------
+$button-fab-width: rem(5.600) !default;
+$button-fab-height: rem(5.600) !default;
+$button-fab-padding: rem(1.60) !default;
\ No newline at end of file
diff --git a/UI/WebServerResources/scss/styles.scss b/UI/WebServerResources/scss/styles.scss
index f146e9303..6ee0a4ed6 100755
--- a/UI/WebServerResources/scss/styles.scss
+++ b/UI/WebServerResources/scss/styles.scss
@@ -33,9 +33,11 @@
@import 'components/checkbox/checkbox';
@import 'components/chips/chips';
@import 'components/content/content';
+@import 'components/datepicker/calendar';
+@import 'components/datepicker/datePicker';
@import 'components/dialog/dialog';
@import 'components/divider/divider';
-//@import 'components/favActions/fabActions';
+//@import 'components/fabActions/fabActions';
@import 'components/fabSpeedDial/fabSpeedDial';
//@import 'components/fabToolbar/fabToolbar';
//@import 'components/fabTrigger/fabTrigger';