Skip to content

Commit 3c9ce75

Browse files
author
annisa prida rachmadianty
committed
fix disable hidden date
1 parent 41e5fa8 commit 3c9ce75

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

src/RangedatePicker.vue

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
</ul>
1818
<ul v-for="r in 6" :class="[s.days]" :key="r">
1919
<li :class="[{[s.daysSelected]: isDateSelected(r, i, 'first', startMonthDay, endMonthDate),
20-
[s.daysInRange]: isDateInRange(r, i, 'first', startMonthDay, endMonthDate)}]" v-for="i in numOfDays" :key="i" v-html="getDayCell(r, i, startMonthDay, endMonthDate)"
20+
[s.daysInRange]: isDateInRange(r, i, 'first', startMonthDay, endMonthDate),
21+
[s.dateDisabled]: isDateDisabled(r, i, startMonthDay, endMonthDate)}]" v-for="i in numOfDays" :key="i" v-html="getDayCell(r, i, startMonthDay, endMonthDate)"
2122
@click="selectFirstItem(r, i)"></li>
2223
</ul>
2324
</div>
@@ -31,7 +32,9 @@
3132
</ul>
3233
<ul v-for="r in 6" :class="[s.days]" :key="r">
3334
<li :class="[{[s.daysSelected]: isDateSelected(r, i, 'second', startNextMonthDay, endNextMonthDate),
34-
[s.daysInRange]: isDateInRange(r, i, 'second', startNextMonthDay, endNextMonthDate)}]" v-for="i in numOfDays" :key="i" v-html="getDayCell(r, i, startNextMonthDay, endNextMonthDate)"
35+
[s.daysInRange]: isDateInRange(r, i, 'second', startNextMonthDay, endNextMonthDate),
36+
[s.dateDisabled]: isDateDisabled(r, i, startNextMonthDay, endNextMonthDate)}]"
37+
v-for="i in numOfDays" :key="i" v-html="getDayCell(r, i, startNextMonthDay, endNextMonthDate)"
3538
@click="selectSecondItem(r, i)"></li>
3639
</ul>
3740
</div>
@@ -204,6 +207,9 @@
204207
background: #eee;
205208
color: #000;
206209
}
210+
li.calendar_days--disabled{
211+
pointer-events: none;
212+
}
207213
208214
li.calendar_days_selected {
209215
background: #005a82;

src/js/rangedate-picker.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ const defaultStyle = {
4343
daysInRange: 'calendar_days_in-range',
4444
firstDate: 'calendar_month_left',
4545
secondDate: 'calendar_month_right',
46-
presetRanges: 'calendar_preset-ranges'
46+
presetRanges: 'calendar_preset-ranges',
47+
dateDisabled: 'calendar_days--disabled'
4748
}
4849

4950
const defaultPresets = function (i18n = defaultI18n) {
@@ -331,6 +332,11 @@ export default {
331332
return (this.dateRange.start && this.dateRange.start.getTime() < currDate.getTime()) &&
332333
(this.dateRange.end && this.dateRange.end.getTime() > currDate.getTime())
333334
},
335+
isDateDisabled (r, i, startMonthDay, endMonthDate) {
336+
const result = this.getDayIndexInMonth(r, i, startMonthDay)
337+
// bound by > 0 and < last day of month
338+
return !(result > 0 && result <= endMonthDate)
339+
},
334340
goPrevMonth () {
335341
const prevMonth = new Date(this.activeYearStart, this.activeMonthStart, 0)
336342
this.activeMonthStart = prevMonth.getMonth()

0 commit comments

Comments
 (0)