Files
mixtape/zero.Backoffice.UI/app/directives/v-max-lines.ts
T
2021-12-06 16:18:58 +01:00

21 lines
467 B
TypeScript

/**
* Limits an element to a maximum number of text lines (can be toggled with click)
*/
export default (el, binding) =>
{
if (binding.value !== binding.oldValue)
{
if (!el.__zero_maxlines)
{
el.__zero_maxlines = true;
el.addEventListener('click', e =>
{
el.classList.toggle('is-expanded');
});
}
el.classList.add('ui-maxlines');
el.style.webkitLineClamp = +binding.value > 0 ? +binding.value : null;
}
};