@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
30 lines (26 loc) • 830 B
JavaScript
define(function (require) {
var _ = require('lodash');
var dateMath = require('ui/utils/dateMath');
require('ui/modules').get('kibana').directive('validateDateMath', function () {
return {
restrict: 'A',
require: 'ngModel',
scope: {
'ngModel': '='
},
link: function ($scope, elem, attr, ngModel) {
ngModel.$parsers.unshift(validateDateMath);
ngModel.$formatters.unshift(validateDateMath);
function validateDateMath(input) {
if (input == null || input === '') {
ngModel.$setValidity('validDateMath', true);
return null;
}
var moment = dateMath.parse(input);
ngModel.$setValidity('validDateMath', moment != null && moment.isValid());
return input;
}
}
};
});
});