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

onchange and show popup #77

Closed
faiwer opened this issue May 25, 2015 · 5 comments
Closed

onchange and show popup #77

faiwer opened this issue May 25, 2015 · 5 comments
Labels

Comments

@faiwer
Copy link

faiwer commented May 25, 2015

When calendar showing self popup, it change date to default (new Date). But that not "bubling" to change-callback, because inside used pickmeup('set_date', date).

Когда календарь показывает свой popup, он, при отсутствии значения, устанавливает новое (неплохо бы опцию добавить, чтобы он умел так не делать). Устанавливает новое он, используя pickmeup('set_date', date). Оный метод почему-то не вызывает change-callback. Что приводит к тому, что значение то установлено в <input/>, но оно не всплыло. Если используется knockoutjs или что-то в таком же духе, это приводит к тому, что в модели значения нет, а пользователь его видит.

change-callback вызывается только в update_date (options.change.apply(this, prepared_date);). Я так и не понял баг ли это или фича. Временно проблему решил так: ..., change: $el.change.bind($el), before_show: $el.change.bind($el), .... Спасает то, что before_show вызывается рядом же.

Или я что-то недопонял? :)

@faiwer
Copy link
Author

faiwer commented May 25, 2015

Почитал тут issues, понял что если установить в default_date false, то авто-значение не устанавливается. До этого пробовал null и оно помирало :) В остальном вопрос открытый.

@nazar-pc
Copy link
Owner

По поводу первого да, недавно было добавлено. По воводу второго - не понял что конкретно не так.
И да, лучше создавать два issue по одному на каждый вопрос, так проще следить.

@faiwer
Copy link
Author

faiwer commented May 25, 2015

Вот https://jsfiddle.net/gphnwbtv/
Как увидеть баг. Изначально input пуст. При клике по нему появится popup и default-ое значение. Раз появилось default значение, то должен быть вызван change. Он не вызывается. При blur-е (к примеру ткнуть просто в левую область, чтобы календарь исчез), тоже change не вызывается. А вызовется он только если выбрать дату мышью в календаре.

Ну а раз change при открытии календаря не вызывается, но по факту дата меняется, то мы и получаем рассинхронизацию модели и того, что пользователь видит на экране.

@nazar-pc
Copy link
Owner

Согласен, буду благодарен за PR.

@nazar-pc
Copy link
Owner

Should be fixed in 1a90a25

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

No branches or pull requests

2 participants