Skip to content
This repository has been archived by the owner on Jul 16, 2022. It is now read-only.

How should max and minimum date changed dynamically? #51

Closed
conmute opened this issue Jan 19, 2015 · 4 comments
Closed

How should max and minimum date changed dynamically? #51

conmute opened this issue Jan 19, 2015 · 4 comments

Comments

@conmute
Copy link

conmute commented Jan 19, 2015

Currently doing by fully re-initializing with previous state except few modifications.

@nazar-pc
Copy link
Owner

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.

@conmute
Copy link
Author

conmute commented Jan 21, 2015

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.

@nazar-pc
Copy link
Owner

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 nazar-pc closed this as completed Feb 7, 2015
@techgeeksquared
Copy link

@nazar-pc Perfect, thank you.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants