acha-framework
Version:
is a modular framework on both client (angular.js) and server (node.js) side, it provides security, orm, ioc, obfuscation and ...
52 lines • 1.7 kB
JavaScript
(function ($, angular, underscore, window, document, undefined) {
'use strict';
var directives = angular.module('frontend.directives');
directives.directive('showPanel', [function () {
return {
restrict: 'A',
link: function (scope, element, attr) {
var options = scope.$eval(attr.showPanel) || {};
var parent = element.parent();
var top = parent.height() + (parent.offset().top || options.top || 0);
element.css({
position: 'fixed',
right: options.right || 0,
width: parent.width() || options.width || '100%',
height: options.height || 200,
top: top
});
}
};
}]);
directives.directive('onEnter', function () {
return function (scope, element, attr) {
element.bind('keydown keypress', function (event) {
if (event.which === 13) {
scope.$apply(function () {
scope.$eval(attr.onEnter, { 'event': event });
});
event.preventDefault();
}
});
};
});
directives.directive('numberOnly', function () {
return {
require: 'ngModel',
link: function (scope, element, attr, ngModelCtrl) {
function fromUser(text) {
if (text) {
var transformedInput = text.replace(/[^0-9]/g, '');
if (transformedInput !== text) {
ngModelCtrl.$setViewValue(transformedInput);
ngModelCtrl.$render();
}
return transformedInput;
}
return undefined;
}
ngModelCtrl.$parsers.push(fromUser);
}
};
});
}(jQuery, angular, _, window, document));