отключено не работает с директивой элемента angularjs в daterangepicker для опции выбора одной даты - PullRequest
0 голосов
/ 14 ноября 2018

Я использую одно средство выбора даты для плагина daterangepicker с angularjs. Я создал директиву элемента для выбора даты. Все работает нормально, но отключена единая дата выбора не работает.

Я использую флажок для управления выбором даты. Когда я выбираю флажок, выбор даты должен быть отключен. Отключенное свойство применяется, но нажмите на отключенное средство выбора даты, раскрывающийся список также открывается. Это проблема. Как мы можем предотвратить событие click для отключенного средства выбора даты в пользовательской директиве.

Я добавлю код ниже.

источник даты: http://www.daterangepicker.com/

директива элемента в html

<single-datepicker ng-model="endDate" ng-disabled="noEndDate" class="w-100"></single-datepicker> 

флажок для контроля выбора даты окончания

<input type="checkbox" class="custom-control-input" ng-model="noEndDate" id="no-end-date" name="example1">

пользовательская директива для одного средства выбора даты

angular.module('tar').directive('singleDatepicker', function() {
return {
         require : 'ngModel',
         restrict: 'E',
         transclude: true,
         scope:{
     bindModel:'=ngModel',bindDisabled:'=ngDisabled'
},
template:'<input ng-model="bindModel" ng-disabled="bindDisabled" class="form-control schedule-text-box"/>',
         link : function (scope, element, attrs, ngModel) {                  

                         element.daterangepicker({
                            singleDatePicker: true,
                            showDropdowns: true,
                            minYear: 1901,
                            opens: 'left',
                            maxYear: parseInt(moment().format('YYYY'),10)},
                                 function (start, end, label) {
                                         scope.$apply(function(){                                                    
                                                 scope.bindModel = start.format('MM/DD/YYYY');     
                                                 console.log(scope.bindDisabled);                                               
                                         });
                                 }
                         );



         }
 }

});

...