@spalger/kibana
Version:
Kibana is an open source (Apache Licensed), browser based analytics and search dashboard for Elasticsearch. Kibana is a snap to setup and start using. Kibana strives to be easy to get started with, while also being flexible and powerful, just like Elastic
34 lines (30 loc) • 914 B
JavaScript
define(function (require) {
var _ = require('lodash');
var CidrMask = require('ui/utils/CidrMask');
require('ui/modules').get('kibana').directive('validateCidrMask', function () {
return {
restrict: 'A',
require: 'ngModel',
scope: {
'ngModel': '='
},
link: function ($scope, elem, attr, ngModel) {
ngModel.$parsers.unshift(validateCidrMask);
ngModel.$formatters.unshift(validateCidrMask);
function validateCidrMask(mask) {
if (mask == null || mask === '') {
ngModel.$setValidity('cidrMaskInput', true);
return null;
}
try {
mask = new CidrMask(mask);
ngModel.$setValidity('cidrMaskInput', true);
return mask.toString();
} catch (e) {
ngModel.$setValidity('cidrMaskInput', false);
}
}
}
};
});
});