mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 01:53:33 -06:00
45 lines
1.0 KiB
JavaScript
45 lines
1.0 KiB
JavaScript
define([
|
|
"angular",
|
|
"lodash",
|
|
"moment",
|
|
],function (angular, _, moment) {
|
|
'use strict';
|
|
|
|
angular.
|
|
module("grafana.directives").
|
|
directive('inputDatetime', function () {
|
|
return {
|
|
restrict: 'A',
|
|
require: 'ngModel',
|
|
link: function ($scope, $elem, attrs, ngModel) {
|
|
var format = 'YYYY-MM-DD HH:mm:ss';
|
|
|
|
var fromUser = function (text) {
|
|
if (text.indexOf('now') !== -1) {
|
|
return text;
|
|
}
|
|
var parsed;
|
|
if ($scope.ctrl.isUtc) {
|
|
parsed = moment.utc(text, format);
|
|
} else {
|
|
parsed = moment(text, format);
|
|
}
|
|
|
|
return parsed.isValid() ? parsed : undefined;
|
|
};
|
|
|
|
var toUser = function (currentValue) {
|
|
if (moment.isMoment(currentValue)) {
|
|
return currentValue.format(format);
|
|
} else {
|
|
return currentValue;
|
|
}
|
|
};
|
|
|
|
ngModel.$parsers.push(fromUser);
|
|
ngModel.$formatters.push(toUser);
|
|
}
|
|
};
|
|
});
|
|
});
|