pipeline_variables.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import coreModule from 'app/core/core_module';
  2. import _ from 'lodash';
  3. export function elasticPipelineVariables() {
  4. return {
  5. templateUrl: 'public/app/plugins/datasource/elasticsearch/partials/pipeline_variables.html',
  6. controller: 'ElasticPipelineVariablesCtrl',
  7. restrict: 'E',
  8. scope: {
  9. onChange: '&',
  10. variables: '=',
  11. options: '=',
  12. },
  13. };
  14. }
  15. const newVariable = index => {
  16. return {
  17. name: 'var' + index,
  18. pipelineAgg: 'select metric',
  19. };
  20. };
  21. export class ElasticPipelineVariablesCtrl {
  22. constructor($scope) {
  23. $scope.variables = $scope.variables || [newVariable(1)];
  24. $scope.onChangeInternal = () => {
  25. $scope.onChange();
  26. };
  27. $scope.add = () => {
  28. $scope.variables.push(newVariable($scope.variables.length + 1));
  29. $scope.onChange();
  30. };
  31. $scope.remove = index => {
  32. $scope.variables.splice(index, 1);
  33. $scope.onChange();
  34. };
  35. }
  36. }
  37. coreModule.directive('elasticPipelineVariables', elasticPipelineVariables);
  38. coreModule.controller('ElasticPipelineVariablesCtrl', ElasticPipelineVariablesCtrl);