cob-cli 2.14.0 → 2.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -79,19 +79,40 @@
79
79
  // Só vale a pena reagir aos eventos de mudança de filtro no Kibana
80
80
  if(event && event.data && event.data.filters) {
81
81
  var filters = []
82
- for(let filter of event.data.filters) {
83
- var queryStr;
84
- var negateStr = filter.meta.negate ? "-" : "";
85
- var enabled = !filter.meta.disabled;
82
+ for (let filter of event.data.filters) {
83
+ let queryStr = "";
84
+ let negateStr = filter.meta.negate ? "-" : "";
85
+ let enabled = !filter.meta.disabled;
86
+ let key;
86
87
 
87
- if(filter.query.query_string) {
88
- queryStr = filter.query.query_string.query;
89
- } else if (filter.query.match_phrase) {
90
- var key = Object.keys(filter.query.match_phrase)[0];
91
- queryStr = key + ':"' + filter.query.match_phrase[key] + '"';
88
+ let query = filter.query;
89
+
90
+ if (query.query_string) {
91
+ // condições incluídas no próprio dashboard via query DSL
92
+ queryStr = query.query_string.query;
93
+
94
+ } else if (query.query) {
95
+ queryStr = query.query;
96
+
97
+ } else if (query.match) {
98
+ key = Object.keys(query.match)[0];
99
+ queryStr = key + ':"' + query.match[key] + '"';
100
+
101
+ } else if (query.match_phrase) {
102
+ key = Object.keys(query.match_phrase)[0];
103
+ let _phrase = query.match_phrase[key];
104
+ queryStr = key + ':"' + (_phrase instanceof Object ? _phrase.query : _phrase) + '"';
105
+
106
+ } else if (query.bool && query.bool.must.length === 1 && query.bool.must[0].query_string) {
107
+ // filtros adicionados a partir de visualizações com splits por filtros
108
+ queryStr = query.bool.must[0].query_string.query;
109
+
110
+ } else {
111
+ window.console.error('COB', "unknown filter, can't send to RM", filter);
92
112
  }
93
- if (enabled) filters.push(negateStr + "(" +queryStr + ")");
94
- };
113
+
114
+ if (enabled) filters.push(negateStr + "(" + queryStr + ")");
115
+ }
95
116
  this.outputFilter = filters.length > 0 ? filters.join(" AND ") : ""
96
117
  this.$set(this.component.vars, this.outputVar, this.outputFilter)
97
118
  }