UNPKG

kibana-with-account

Version:

kibana-with-account is develop based kibana project

34 lines (29 loc) 864 B
define(function (require) { var _ = require('lodash'); var angular = require('angular'); require('ui/modules') .get('kibana') .directive('jsonInput', function () { return { restrict: 'A', require: 'ngModel', link: function (scope, $el, attrs, ngModelCntrl) { ngModelCntrl.$formatters.push(toJSON); ngModelCntrl.$parsers.push(fromJSON); function fromJSON(value) { try { value = JSON.parse(value); var validity = !scope.$eval(attrs.requireKeys) ? true : _.keys(value).length > 0; ngModelCntrl.$setValidity('json', validity); } catch (e) { ngModelCntrl.$setValidity('json', false); } return value; } function toJSON(value) { return angular.toJson(value, 2); } } }; }); });