Регистрация  |  Вход

NgLightning Datepicker на стероидах

По воле случая клиент в одном проекте пожелал использовать
Datepicker из NG Lightning

Но как часто бывает о стандартных возможностях либы мало кто задумывается и следующим таском прилетело требование добавить разрешенные даты и подсветка определенных дат при определенных условиях.
Искать новую либу которая поддерживает данную логику и гемороиться со стилями не очень хотелось, поэтому поступил как часто приходится поступать - полез ковыряться в кишках либы. Вытягивая сам компонент столкнулся с парой интересных проблемок:
- автор либы ng-lightning тот еще извращенец и вместо html темплейтов использует Pug шаблоны. Благо проблем с конвертацией не было благодаря онлайн конверторам. Завелось без бубнов.
- Сам компонент datepicker использовал другие компоненты поменьше которые автор либы посчитал необходимым скрыть от внешних глаз исключив из из массива export в модуле. Напрямую объявить их тоже не получилось потому что ангуляр ругался на то что данные компоненты уже используются самой либой. Пришлось тоже вытянуть пару штук.

Но все заработало и теперь появилась возможность кастомизировать datepicker как душе угодно. Вот к примеру видел диапазон дат и подсвечены две даты

(похватсался)

По воле случая клиент в одном проекте пожелал использовать 
[url=http://ng-lightning.github.io/ng-lightning/#/components]Datepicker из NG Lightning[/url]
[img]/pics/159/original_b1.png[/img]

Но как часто бывает о стандартных возможностях либы мало кто задумывается и следующим таском прилетело требование добавить разрешенные даты и подсветка определенных дат при определенных условиях. 
Искать новую либу которая поддерживает данную логику и гемороиться со стилями не очень хотелось, поэтому поступил как часто приходится поступать - полез ковыряться в кишках либы. Вытягивая сам компонент столкнулся с парой интересных проблемок:
- автор либы ng-lightning тот еще извращенец и вместо html темплейтов использует [url=https://pugjs.org/api/getting-started.html]Pug шаблоны[/url]. Благо проблем с конвертацией не было благодаря онлайн конверторам. Завелось без бубнов.
- Сам компонент datepicker использовал другие компоненты поменьше которые автор либы посчитал необходимым скрыть от внешних глаз исключив из из массива export в модуле. Напрямую объявить их тоже не получилось потому что ангуляр ругался на то что данные компоненты уже используются самой либой. Пришлось тоже вытянуть пару штук. 

Но все заработало и теперь появилась возможность кастомизировать datepicker как душе угодно. Вот к примеру видел диапазон дат и подсвечены две даты :)

[img]/pics/158/original_b2.png[/img]

(похватсался) :D