Как стать автором
Обновить

Как я создал Vanilla Calendar Pro — легкий и гибкий календарь на JavaScript с использованием TypeScript

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров18K
Всего голосов 92: ↑90 и ↓2+98
Комментарии80

Комментарии 80

Спасибо за ваши труды! Также разрабатываю открытую библиотеку https://github.com/fusorjs/dom которая помогает создавать и обновлять DOM декларативно и максимально нативно.

Здравствуйте! Было бы неплохо указать лицензию, чтобы понимать, возможно ли его использование в коммерческих продуктах.

Здравствуйте, в репозитории указана лицензия. MIT.

Вы без тестов разработку ведёте?)

Что то по последним MR и по коду не нашёл

Тесты cypress, в репозитории, но не много. Понимаю что хотелось бы больше, но тут уже как есть)

Спасибо за вклад в opensource. Не уверен что где то буду использовать этот календарь в ближайшее время, однако смотрится он неплохо. Документация довольно таки хороша

Большое спасибо, тоже использую. Правда смущает один момент - почему выбор времени так странно реализован? Планируется в будущем более классический вариант выбора времени? Наш дизайнер уже на стены лезет)

Что вы имеете ввиду говоря "более классический вариант"?)

что-то в таком духе

Если мы говорим про то чтобы это выглядело и работало как вы хотите "из коробки" то создайте issue с вашей идей в репозитории, ведь именно так появляются новые функции в плагинах open-source.

Но на самом деле это все можно реализовать и с текущими возможностями. Вместо того чтобы использовать встроенный выбор даты в календаре, вам необходимо изменить "Макет" в календаре и добавить свой селектор с опциями выбора времени и стилизовать как вам вздумается, ну или в крайнем случае встроить какой-то таймпикер из npm прямо в макет календаря.

НЛО прилетело и опубликовало эту надпись здесь

Ну хорошо, сделайте сами, пропустите этот "недоделанный" компонент. Я даже не вижу смысла как то отвечать или дискутировать на подобные комментарии. Я же вас не заставляю использовать этот календарь, я поделился тем что было полезно для меня и других людей, если это не решает вашу задачу, просто пройдите мимо.

НЛО прилетело и опубликовало эту надпись здесь

Из недовольных и "критикующих" пока только вы. Остальные благодарят автора или делятся положительными эмоциями и предложениями дополнить. Может стоит задуматься...

Не обращайте внимания на предыдущего оратора, спасибо за ваш труд.

НЛО прилетело и опубликовало эту надпись здесь

Вы сегодня ухой обедать изволили? Почему вы решили, что можете в такой предельно грубой форме что-то требовать от автора, который раздаёт результат своего труда бесплатно?

НЛО прилетело и опубликовало эту надпись здесь

Автор вроде бы тоже не требовал ему поклоняться, но, видимо, недостаточно явно.

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

Первый офигенно удобный, он был на андроиде и давал возможность в 2 тапа поставить время будильника. Он, кстати, как раз позволял точно задать время, вплоть до минут, конечно.

Но потом этот крайне удобный и удачный пикер выпилили в пользу двух селекторов, как во втором варианте. Скорее всего, это произошло потому, что современный пользователь не понимает аналоговые часы со стрелками.

Не знаю, чем конкретно руководствовались дизайнеры стандартной библиотеки компонентов андроида, но полагаю, что основная причина в том, что текстовые поля или вот такие вот spin buttons просто-напросто покрывают больше сценариев использования, и уровень доступности дают наивысший — работают и с тачем, и с клавиатурой, и с чем угодно ещё, и не требуют ни инструкций для пользователя, ни дополнительного дизайна/тестирования.

Хорошо бы иметь возможность добавить циферблат (или вот календарь) в тех редких случаях, когда они действительно нужны (для планирования дат поездок или быстрой установки будильника) в конкретное приложение или как вариант кастомизации, но в большинстве случаев компактный набор полей работает хорошо.

НЛО прилетело и опубликовало эту надпись здесь

Я считаю, что open source — это не про «работать бесплатно», а про создавать что-то полезное и делиться с миром. Да, корпорации используют open source, но разве это плохо, если благодаря этому мы сами получаем доступ к крутым инструментам бесплатно? Ценность — не только в деньгах. Иногда осознание того, что твоя работа помогает тысячам людей, важнее любого прайса.

НЛО прилетело и опубликовало эту надпись здесь

А вас не смущает, что вы сами, скорее всего, пользуетесь бесплатными open-source инструментами? 😀

НЛО прилетело и опубликовало эту надпись здесь

Т.е. Вы хотите, чтобы программисты делали бесполезную для человечества работу, повторно реализуя одинаковый код вновь и вновь, только для того, чтобы они могли заработать...

Простите, но это жуткий с точки зрения интересов человечества подход. Сильно замедляющий развитие. С таким подходом тормозят переход на электронные системы документооборота, ведь нельзя же бесполезных перекладывателей бумажек лишать возможности зарабатывать.

НЛО прилетело и опубликовало эту надпись здесь

Вовсе не обязательно, просто опенсорс можно продавать, а не делать его бесплатным.

Мне кажется, Вы путаете open source software и source-available software. Вы, конечно, можете потребовать деньги с первого покупателя open source software, но дальше он будет волен выложить исходники и отдавать всем бесплатно.

Кстати, это Вы минусы ставите, когда не согласны, да? ;)

НЛО прилетело и опубликовало эту надпись здесь

К сожалению, та статья не даёт однозначного ответа на вопрос, путаете ли Вы open source software и source-available software или нет, и как именно Вы призываете продавать open source software. Ряд других вещей путаете или заблуждаетесь, я там прокомментировал под статьёй.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Так с этого и надо было начинать, чтобы дальше ветку не читать.
Кстати, опенсоурс тоже западные службы спонсируют.

Но я посмотрел, и буквально один пост назад вы писали свой опенсоурсный компонент. Чудеса, прямо в воздухе одел галоши не снимая сапогов.

Я предполагаю, человек обиделся на комьюнити: его не признали, не оценили созданный им компонент (о чем он пишет в своей статье), а статью заминусовали. Теперь он в отместку, пишет необоснованные и эмоциональные претензии в адрес других open-source разработчиков, а всех кто с ним не согласен минусует в ответ.

НЛО прилетело и опубликовало эту надпись здесь

Какие могут быть претензии к open-source проекту? Вам никто и ничего не должен. Я буквально в начале статьи написал специально для таких как вы, перечитайте и очнитесь.

НЛО прилетело и опубликовало эту надпись здесь

А почему не React? Или Vue? Тоже ключевые и современные. И в вашем изначальном утверждении об отсутствии примеров Angular вообще не упоминался (как и вообще какой-либо фреймворк в принципе). Телепатов тут нет.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Вы уже ссылку на ваш "проект" 3 раза скинули здесь. Больше ссылок - больше денег. 😀 Продолжайте, вас ждет успех. 😀

НЛО прилетело и опубликовало эту надпись здесь

Где вы видели чтобы я вам какие то ссылки кидал? Ссылка только в статье, а вы на свой "проект" 😀, чуть ли не в каждом комментарии кидайте, ну это смешно, вы уже не знаете что ответить, хотя у вас и изначально не было конструктивных аргументов, одна чушь. Это был мой последний комментарий для вас, так как на вас даже жалко времени. 😀 Надеюсь у вас пена из-за рта не пойдет за такой резкий финал нашего общения. 😀

НЛО прилетело и опубликовало эту надпись здесь

То есть я правильно понял, что потратив один день, вы планировали стать известным человеком в опенсорсе, и сразу заработать деньги, желательно большие?
Минусы безразличны, но в карму мне поставили, конструктивно, справедливо, согласен.
Ну и не будет лишним сказать, что существуют страшные версии - а именно лицензии. Может некоторым на них все равно, но у юрлиц даже в РФ за пиратство притягивают очень внушительно. Иными словами, заработать на опенсорсе можно очень даже много, и я бы даже сказал, гораздо проще, чем распиарить свой платный проект. И вариантов монетизации валом - и оплаты коммерческих лицензий, и сертификация как у Vue, и платные версии софта с допфункциями, и донаты, и спонсорство.
А про сайт с графиками - сколько вы заплатили за ангуляр? А то получается взяли опенсорс, который люди делали на общее благо, воспользовались им бесплатно, а потом сказали, что опенсорс - фигня.

НЛО прилетело и опубликовало эту надпись здесь

У меня в профиле написано, что до 2023 года работал с Википедией, а в 2023-м начал новый проект на её основе, российский. По итогу, что в Википедии, что в РУВИКИ политические темы составляют мизерный процент, и даже если признать их никуда негодными, как минимум остальной контент крайне полезен и для читателей, и для обучения больших языковых моделей. Википедия включена в обучающую выборку большинства ведущих БЯМ. Благодаря её многоязычности, эти БЯМ с ходу сносно владели множеством языков.

НЛО прилетело и опубликовало эту надпись здесь

Да нет, не поэтому. Во-первых, в обучающих выборках БЯМ множество материалов, куда более смещённых, чем Википедия. Во-вторых, БЯМ вручную дообучали, чтобы они не говорили то, из-за чего у организации-производителя в её стране регистрации могут быть проблемы.

НЛО прилетело и опубликовало эту надпись здесь

Я считаю, программирование для программиста - не столько работа, сколько хобби. Если это не так для какого-то человека, он не может считаться хорошим специалистом. Я бы даже сказал, что для любого рода деятельности справедливо это утверждение

Если бы не open source, мы бы не могли как в том постк про астрофизика - просто скачать нужную библиотеку и дальше писать бизнес-логику. Все компании создавали бы свои кастомные решения НА ВСË: фреймворки, библиотеки, библиотеки стилей и тд и тп. В итоге переход между компаниями был бы в разы сложнее из-за разных технологий, процесс разработки замедлился бы в десятки раз из-за необходимости все мелочи писать самим, дефицит кадров был бы больше, в сферу шло бы меньше людей, а самое главное - у бизнеса не было бы такого быстрого профита от продукта, а значит никто не платил бы разработчикам такие зарплаты, как сейчас. Хотя что спорить с человеком, который встал не с той ноги...

НЛО прилетело и опубликовало эту надпись здесь

Просто не обращайте внимания. Его мнение должно заставить всех задуматься... о том, как далеко может зайти логика в своём отсутствии. Я бы сказал, это философия уровня avent-garde, но с экономией на смысле, шедевр сюрреализма, достойный отдельной выставки. Если бы его мнение можно было монетизировать, это был бы лучший пример инфляции ценности.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Я буквально на днях тестировал его с последней версий ангуляр, работал без нареканий) Попробуйте, если будут проблемы, создайте issue в репозитории.

НЛО прилетело и опубликовало эту надпись здесь

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

НЛО прилетело и опубликовало эту надпись здесь

Открою огромный секрет - ранее закрытые issues лежат в там же, в разделе Closed

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

Жирнющий лайк за документацию проекта, как же этого порой не хватает в опенсорс проектах, респект автору!

Спасибо 😊

Выражаю огромную благодарность автору за: 1.саму идею использовать ванильный js в проекте,2.api и мануалы проекта. 3. За сам проект.

Спасибо 😊

Большое спасибо. Можно я его адаптирую к своему проекту Laravel?

Вам не нужно спрашивать разрешение на использование open-source продукта, адаптируйте конечно. У календаря MIT лицензия.

Спасибо, забираю! ;)

НЛО прилетело и опубликовало эту надпись здесь

Спасибо ✌️

Замечательно, но для кадровиков расчет отпуска, т.е. например отпуск ХХ дней. Указали начальный день, а потом находим дату с помощью пикера, и видим количество дней от начальной даты. Праздники не берем, хотя тоже интересно.

Как-то понадобился выбор даты для телеграм бота, сделал отдельное приложение которое можно показать как web app, а при подтверждении формы данные отправляются на адрес указанный в query параметрах.

Использовал вашу библиотеку поскольку большинсво параметров задаются декларативно.

Звучит не плохо) Рад что календарь был полезен)

Очень нужная вещь! Сохранил себе
Года два назад тоже столкнулся с проблемой с календарем, никакие дата пикеры для проекта не подходили, пришлось тоже писать свой но на React
И как то до ума это дело не довел

Тоже хочется поблагодарить за столь проработанный проект. Сейчас делаю пет-проект на реакте с возможностью бронирования отелей, думаю, попробую использовать ваш календарь в нем. <3

Какая классная вдохновляющая история! Датапикеры действительно боль( особенно понравилось, что такой разнообразный функционал и разные темы, доступность и тд. Подпишусь на вас и тоже поставлю звёздочку! Успехов в дальнейшем!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации