import {module} from '../module'; /** * Sets the focus and selects the text on the input. */ export function directive() { return { restrict: 'A', link: function($scope, $element, $attrs) { $scope.$watch('', function() { let input = $element[0]; let selector = 'input, textarea, button, submit'; if(!input.matches(selector)) input = input.querySelector(selector); if(!input) { console.warn(`vnFocus: Can't find a focusable element`); return; } input.focus(); if(input.select) input.select(); }); } }; } module.directive('vnFocus', directive);