module.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. angular.module('kibana.fields', [])
  2. .controller('fields', function($scope, eventBus) {
  3. var _id = _.uniqueId();
  4. // Set and populate defaults
  5. var _d = {
  6. group : "default",
  7. style : {"font-size":"85%","line-height":"15px"},
  8. }
  9. _.defaults($scope.panel,_d);
  10. $scope.init = function() {
  11. $scope.fields = [];
  12. eventBus.register($scope,'fields', function(event, fields) {
  13. $scope.panel.sort = _.clone(fields.sort);
  14. $scope.fields = _.union(fields.all,$scope.fields);
  15. $scope.active = _.clone(fields.active);
  16. });
  17. }
  18. $scope.toggle_sort = function() {
  19. $scope.panel.sort[1] = $scope.panel.sort[1] == 'asc' ? 'desc' : 'asc';
  20. }
  21. $scope.toggle_field = function(field) {
  22. if (_.indexOf($scope.active,field) > -1)
  23. $scope.active = _.without($scope.active,field)
  24. else
  25. $scope.active.push(field)
  26. eventBus.broadcast($scope.$id,$scope.panel.group,"selected_fields",$scope.active)
  27. }
  28. $scope.is_active = function(field) {
  29. return _.indexOf($scope.active,field) > -1 ? 'active' : '';
  30. }
  31. $scope.init();
  32. })