Search code examples
javascriptangularjsdatetimepickerbootstrap-datetimepicker

disable future dates in angular-bootstrap-datetimepicker


I am unable to disable future dates.

Using angular-bootstrap-datetimepicker

<datetimepicker data-ng-model="user.join_date" data-datetimepicker-config="{ startView:'day', minView:'day' }"    />

Tried adding this.future = false; inside DateObject() of directive without any success...

EDIT

Found that I can use before-render and then make selectable=false; for future dates.

Trying to implement.

Thanks for any help!


Solution

  • Done it.

    Used beforeRender function and disable future dates comparing utcDateValue with current date.

    Here is the code:

    $scope.beforeRender = function ($dates) {
        /* disable future dates */
        for(var i=0; i<$dates.length;i++) {
           if(new Date().getTime() < $dates[i].utcDateValue) {
              $dates[i].selectable = false;
           }
        }                
    };
    

    Added data-before-render="beforeRender($dates)" as well

    <datetimepicker data-ng-model="user.join_date" data-datetimepicker-config="{ startView:'day', minView:'day' }" data-before-render="beforeRender($dates)" />