| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- ///<reference path="../../../headers/common.d.ts" />
- import moment from 'moment';
- import * as dateMath from 'app/core/utils/datemath';
- export function inputDateDirective() {
- 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) {
- if (!dateMath.isValid(text)) {
- ngModel.$setValidity("error", false);
- return undefined;
- }
- ngModel.$setValidity("error", true);
- return text;
- }
- var parsed;
- if ($scope.ctrl.isUtc) {
- parsed = moment.utc(text, format);
- } else {
- parsed = moment(text, format);
- }
- if (!parsed.isValid()) {
- ngModel.$setValidity("error", false);
- return undefined;
- }
- ngModel.$setValidity("error", true);
- return parsed;
- };
- var toUser = function (currentValue) {
- if (moment.isMoment(currentValue)) {
- return currentValue.format(format);
- } else {
- return currentValue;
- }
- };
- ngModel.$parsers.push(fromUser);
- ngModel.$formatters.push(toUser);
- }
- };
- }
|