31 lines
767 B
JavaScript
31 lines
767 B
JavaScript
'use strict';
|
|
|
|
angular.module('view-form').directive('keyToTruthy', ['$rootScope', function($rootScope){
|
|
return {
|
|
restrict: 'A',
|
|
scope: {
|
|
field: '='
|
|
},
|
|
link: function($scope, $element, $attrs) {
|
|
$element.bind('keydown keypress', function(event) {
|
|
var keyCode = event.which || event.keyCode;
|
|
var truthyKeyCode = $attrs.keyCharTruthy.charCodeAt(0) - 32;
|
|
var falseyKeyCode = $attrs.keyCharFalsey.charCodeAt(0) - 32;
|
|
|
|
if(keyCode === truthyKeyCode ) {
|
|
event.preventDefault();
|
|
$scope.$apply(function() {
|
|
$scope.field.fieldValue = 'true';
|
|
});
|
|
}else if(keyCode === falseyKeyCode){
|
|
event.preventDefault();
|
|
$scope.$apply(function() {
|
|
$scope.field.fieldValue = 'false';
|
|
});
|
|
}
|
|
});
|
|
}
|
|
};
|
|
}]);
|
|
|