mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-07-02 23:34:21 +00:00
fix(preferences(js)): fix validation of enabled days for vacation
Fixes #5469
This commit is contained in:
@@ -1196,7 +1196,7 @@
|
||||
<label class="pseudo-input-label"><var:string label:value="Enable auto reply on these days"/></label>
|
||||
<md-grid-list md-cols="7" md-row-height="2em" md-gutter="0.5em"
|
||||
ng-model="app.preferences.defaults.Vacation.days"
|
||||
ng-disabled="app.preferences.defaults.Vacation.weekdaysEnabled"
|
||||
ng-required="app.preferences.defaults.Vacation.weekdaysEnabled"
|
||||
sg-toggle-grid="sg-toggle-grid">
|
||||
<var:foreach list="shortWeekDaysList" item="item">
|
||||
<md-grid-tile var:value="numberForWeekDay"><var:string value="item"/></md-grid-tile>
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
var CLASS_ACTIVE = 'md-default-theme md-accent md-bg md-bdr';
|
||||
return function postLink(scope, element, attr, controllers) {
|
||||
var tiles = tElement.find('md-grid-tile'),
|
||||
label = tElement.parent().children()[0],
|
||||
tile,
|
||||
ngModelCtrl,
|
||||
i,
|
||||
@@ -40,6 +41,15 @@
|
||||
return !value || value.length === 0;
|
||||
};
|
||||
|
||||
scope.$watch(function() {
|
||||
return ngModelCtrl.$invalid;
|
||||
}, setInvalid);
|
||||
|
||||
tAttrs.$observe('required', function(value) {
|
||||
angular.element(label).toggleClass('md-required', !!value);
|
||||
ngModelCtrl.$validate();
|
||||
});
|
||||
|
||||
toggleClass = function() {
|
||||
// Toggle class on click event and call toggle function
|
||||
var tile = angular.element(this),
|
||||
@@ -69,11 +79,10 @@
|
||||
}
|
||||
});
|
||||
ngModelCtrl.$validate();
|
||||
setInvalid(ngModelCtrl.$invalid);
|
||||
}
|
||||
|
||||
function setInvalid(invalid) {
|
||||
var label = element.parent().children()[0];
|
||||
function setInvalid() {
|
||||
var invalid = ngModelCtrl.$invalid;
|
||||
if (invalid) {
|
||||
element.addClass('sg-toggle-grid-invalid');
|
||||
if (label.tagName == 'LABEL') {
|
||||
@@ -111,7 +120,6 @@
|
||||
ngModelCtrl.$setViewValue(modelDays);
|
||||
ngModelCtrl.$setDirty();
|
||||
ngModelCtrl.$validate();
|
||||
setInvalid(ngModelCtrl.$invalid);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user