Как добавить смещение к дате [max] выбора ампер-даты, когда оно основано на выбранном значении другого выбора даты - PullRequest
1 голос
/ 09 мая 2019

Я пытаюсь установить дату [max] для одного amp-date-picker на основе значения другого, но со смещением в 28 дней.

Я пытался использовать event.date(offset=28), но я просто получаюошибка ниже, потому что я пытаюсь применить ее к переменной даты, а не к функции date-picker.today.

error.js:205 %s %s amp-bind: Expression eval failed

Я также попытался добавить смещение к дате, используя amp-bind-macro, но дата анализируется как строка, поэтому я получаю NaN (в примере кода ниже)

<!--/* Start date */-->
<amp-date-picker
    type="single"
    layout="container"
    format="YYYY-MM-DD"
    input-selector="[name=startDate]"
    on="
        select:
            AMP.setState({
                binding: {
                    startDate: event.date,
                    maxEndDate: maxEndDateFunc(event.date, 3)
                }
            })">
    <input name="startDate" placeholder="Start date">

</amp-date-picker>

<amp-bind-macro id="maxEndDateFunc" 
    arguments="maxEndDate, maxDays"
    expression="maxEndDate*1+maxDays" />

<!--/* End date */-->
<amp-date-picker
        type="single"
        mode="overlay"
        layout="container"
        format="YYYY-MM-DD"
        input-selector="[name=endDate]"
        [min]="binding.startDate"
        [max]="binding.maxEndDate" 
        on="
            select:
                AMP.setState({
                    binding: {
                        endDate: event.date
                    }
                })">
    <input name="endDate" placeholder="End date">
</amp-date-picker>

Когда я выбираю 1 мая 2019 года в начале date-picker, я ожидаю, что он установит максимальное значение конца date-picker до 28 мая 2019 года со смещением n дней.

Есть ли способ сделать это без использования типа диапазона, так как установка максимальных ночей ограничивает выбранные минимальные и максимальные даты?

...