Як вибрати календар

12-22-2018

Как выбрать календарь
У цій задачі мені допомогли getter’и і setter’и. Наприклад, при зміні місяці просто присвоюється нова відображається дата із зміненим номером місяця, і всередині геттера викликається метод перемальовування тіла і навігації календаря. Незважаючи на те, що можна було б обійтися і без них, мені даний підхід видається більш красивим.
Також хочемо вам порекомендувати rmprint.com.ua
Це означає, що елемент в разі необхідності може як збільшуватися, так і зменшуватися, але при цьому розміри всіх сусідів будуть однакові. Коли кнопка одна, вона розширюється на всю ширину, коли дві, вони пропорційно зменшуються і займають по 50%, і т. д. Можна додавати скільки завгодно елементів, у всіх них будуть однакові розміри, і в сумі вони будуть займати всю ширину батьків.
Для того, щоб додати анімацію «подъезжания» до текстового поля, я додав допоміжні класи, які говорять з якого боку треба починати анімацію. В даному випадку цей клас виглядав би як .-from-top-. За анімацію відповідають css transition і css transform. Це дозволяє досягти плавності, а також додавати кастомні переходи.
Так, зараз немає роботи з подіями клавіатури, планую додати дещо. Але тим не менш відстежувати зміни досить складно, тому що, наприклад, якщо формат дати «Сьогодні dd число, yy рік і ще що-небудь», відстежити валідність буде важко, якщо взагалі можливо. Я думаю в таких випадках краще використовувати «readonly» атрибут у текстового поля.
Чомусь всі велосипедостроители, думають, що їх творінням будуть користуватися тільки мишкою. Використовувати клавіатуру з цим календариків неможливо. Фокус не ставиться, навігація стрілочками не працює. Навіть набрав «20.12.2014» — реакції немає, виділений сьогоднішній день. А як вашим календарем будуть користуватися незрячі? Aria-розмітка відсутня як клас. Навіть мишкою, діапазон дат, як вже сказали, не вибрати. Вибір дати народження, скажімо, вимагає занадто багато кліків. Простіше ввести її руками.
Ні, треба написати 100500 календарик зі стандартними граблями. Користувачі повинні страждати! А все чому? Тому що не сформульовані навіть базові вимоги та граничні умови. Надішліть того ж Лебедєву на Лінч, він вам теж отсыпет (якщо взагалі визнає гідним взяти). Передпроектна робота — це половина справи. Тут вона практично не проведена.