|
|
@ -23,6 +23,7 @@ |
|
|
|
|
|
|
|
|
let daysArr = [] |
|
|
let daysArr = [] |
|
|
let navDate = new Date() |
|
|
let navDate = new Date() |
|
|
|
|
|
|
|
|
const weekdayMap = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"] |
|
|
const weekdayMap = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"] |
|
|
|
|
|
|
|
|
export let _bb |
|
|
export let _bb |
|
|
@ -50,6 +51,7 @@ |
|
|
let year = getYear(navDate) |
|
|
let year = getYear(navDate) |
|
|
date = new Date(year, month, dayOfMonth) |
|
|
date = new Date(year, month, dayOfMonth) |
|
|
handleSelect(date) |
|
|
handleSelect(date) |
|
|
|
|
|
openCalendar(false) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function dateFieldChange(value) { |
|
|
function dateFieldChange(value) { |
|
|
@ -77,12 +79,13 @@ |
|
|
instance.open = isOpen === undefined ? !instance.open : isOpen |
|
|
instance.open = isOpen === undefined ? !instance.open : isOpen |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$: safeDate = !!date ? date : new Date() |
|
|
$: dateMonthEnds = endOfMonth(navDate).getDate() |
|
|
$: dateMonthEnds = endOfMonth(navDate).getDate() |
|
|
$: dateMonthBegins = startOfMonth(navDate).getDay() |
|
|
$: dateMonthBegins = startOfMonth(navDate).getDay() |
|
|
$: dayStart = dateMonthBegins + 1 //1 = sunday |
|
|
$: dayStart = dateMonthBegins + 1 //1 = sunday |
|
|
$: monthAndYear = format(navDate, "MMMM y") |
|
|
$: monthAndYear = format(navDate, "MMMM y") |
|
|
$: selectedDate = format(date, "dd/MM/yyyy") |
|
|
$: selectedDate = format(safeDate, "dd/MM/yyyy") |
|
|
$: dayOfSelectedDate = getDate(date) |
|
|
$: dayOfSelectedDate = getDate(safeDate) |
|
|
$: for (let d = 1; d <= dateMonthEnds; d++) { |
|
|
$: for (let d = 1; d <= dateMonthEnds; d++) { |
|
|
if (d === 1) { |
|
|
if (d === 1) { |
|
|
daysArr = [d] |
|
|
daysArr = [d] |
|
|
@ -93,7 +96,8 @@ |
|
|
$: rowRepeater = |
|
|
$: rowRepeater = |
|
|
dateMonthBegins > 5 && daysArr[daysArr.length - 1] > 30 ? 6 : 5 |
|
|
dateMonthBegins > 5 && daysArr[daysArr.length - 1] > 30 ? 6 : 5 |
|
|
$: sameMonthAndYear = |
|
|
$: sameMonthAndYear = |
|
|
getMonth(date) === getMonth(navDate) && getYear(date) === getYear(navDate) |
|
|
getMonth(safeDate) === getMonth(navDate) && |
|
|
|
|
|
getYear(safeDate) === getYear(navDate) |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<div class="mdc-menu-surface--anchor"> |
|
|
<div class="mdc-menu-surface--anchor"> |
|
|
@ -107,10 +111,7 @@ |
|
|
iconButtonClick={openCalendar} |
|
|
iconButtonClick={openCalendar} |
|
|
icon="calendar_today" /> |
|
|
icon="calendar_today" /> |
|
|
|
|
|
|
|
|
<div |
|
|
<div bind:this={menu} class="mdc-menu mdc-menu-surface bbmd-menu"> |
|
|
bind:this={menu} |
|
|
|
|
|
class="mdc-menu mdc-menu-surface bbmd-menu" |
|
|
|
|
|
style={`margin-top: 70px`}> |
|
|
|
|
|
<div class="calendar-container"> |
|
|
<div class="calendar-container"> |
|
|
<div class="month-picker"> |
|
|
<div class="month-picker"> |
|
|
<div> |
|
|
<div> |
|
|
@ -155,6 +156,7 @@ |
|
|
width: 330px; |
|
|
width: 330px; |
|
|
height: auto; |
|
|
height: auto; |
|
|
padding: 5px; |
|
|
padding: 5px; |
|
|
|
|
|
margin-top: 70px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.month-picker { |
|
|
.month-picker { |
|
|
|