25 lines
596 B
TypeScript
25 lines
596 B
TypeScript
/* @ngInject */
|
|
export function lowercase() {
|
|
return {
|
|
require: 'ngModel',
|
|
link: function (
|
|
scope: ng.IScope,
|
|
_: JQLite,
|
|
attrs: any,
|
|
ctrl: any
|
|
) {
|
|
const lowercase = (inputValue: string) => {
|
|
if (inputValue === undefined) inputValue = '';
|
|
const lowercased = inputValue.toLowerCase();
|
|
if (lowercased !== inputValue) {
|
|
ctrl.$setViewValue(lowercased);
|
|
ctrl.$render();
|
|
}
|
|
return lowercased;
|
|
};
|
|
ctrl.$parsers.push(lowercase);
|
|
lowercase((scope as any)[attrs.ngModel]);
|
|
}
|
|
};
|
|
}
|