import _ from "lodash"; export class ElasticConfigCtrl { static templateUrl = "public/app/plugins/datasource/elasticsearch/partials/config.html"; current: any; /** @ngInject */ constructor($scope) { this.current.jsonData.timeField = this.current.jsonData.timeField || "@timestamp"; this.current.jsonData.esVersion = this.current.jsonData.esVersion || 5; this.current.jsonData.maxConcurrentShardRequests = this.current.jsonData.maxConcurrentShardRequests || 256; } indexPatternTypes = [ { name: "No pattern", value: undefined }, { name: "Hourly", value: "Hourly", example: "[logstash-]YYYY.MM.DD.HH" }, { name: "Daily", value: "Daily", example: "[logstash-]YYYY.MM.DD" }, { name: "Weekly", value: "Weekly", example: "[logstash-]GGGG.WW" }, { name: "Monthly", value: "Monthly", example: "[logstash-]YYYY.MM" }, { name: "Yearly", value: "Yearly", example: "[logstash-]YYYY" } ]; esVersions = [ { name: "2.x", value: 2 }, { name: "5.x", value: 5 }, { name: "5.6+", value: 56 } ]; indexPatternTypeChanged() { var def = _.find(this.indexPatternTypes, { value: this.current.jsonData.interval }); this.current.database = def.example || "es-index-name"; } }