Closed conmute closed 9 years ago
There is no such possibility out of the box if you want it straightforward.
However, you can try one of two workarounds:
1) Modify option directly on instance like $('...').data('pickmeup-options').mix = whatever
2) Another way is to handle render event and return {disabled: true}
when you need so
Second is preferable.
Ok. Can you suggest how you want me to do that exactly.
$('.date_picker').pickmeup({min: new Date()});
minDate = new Date() minDate.setMonth maxDate.getMonth() + 2
$('.date_picker').data('pickmeup-options').date = whatever Yet we need to launch redraw somehow, so i need to update. And $('.date_picker').pickmeup('update') is just screws all up.
How to work with render events, (this one launches on EACH day that is drawn), there is also no description.
I like this solution. Would be great to improve it.
render
event will be called on each single day (and month, year depending on view), so you can handle it like this:
var element = $(...).pickmeup({
...
render : function (current_date) {
if (current_date < min_date || current_date > max_date) {
return {disabled: true};
}
}
});
In this case current_date
, min_date
and max_date
are assumed to be regular Date
JS objects.
Then call element.pickmeup('update')
any time you change min/max dates.
Well, there was some bugs with update
method when using flat: true
instance, now it is fixed in PickMeUp 2.6.3, thanks for this!
Here is simple demo for you to show what I explained above: http://jsfiddle.net/z4fmvuzb/30/
Another way (hacking internal options of PickMeUp) is not recommended, it might be buggy, while this case is simple and documented.
@nazar-pc Perfect, thank you.
Currently doing by fully re-initializing with previous state except few modifications.