|
23 | 23 | <table v-if="format === 'grid' && showTable" :class="{ compact: compactDetails }"> |
24 | 24 | <thead ref="thead"> |
25 | 25 | <th>ID</th> |
26 | | - <th>Type</th> |
| 26 | + <th>Type <v-select |
| 27 | + class="eventType" |
| 28 | + value="All" |
| 29 | + :options="eventTypes" |
| 30 | + :on-change="setEventType" |
| 31 | + :searchable="false" |
| 32 | + /> |
| 33 | + |
| 34 | + </th> |
27 | 35 | <th> |
28 | 36 | <a class="elapsed" :href="tsFormat === 'elapsed' ? null : '#'" @click.prevent="setTsFormat('elapsed')">Elapsed</a> / |
29 | 37 | <a class="ts" :href="tsFormat === 'elapsed' ? '#' : null" @click.prevent="setTsFormat('ts')">Time</a> |
|
35 | 43 | </thead> |
36 | 44 | <div class="spacer"></div> |
37 | 45 | <tbody> |
38 | | - <tr v-for="(he, i) in $parent.results" |
| 46 | + <tr v-for="(he, i) in filteredEvents" |
39 | 47 | :key="he.eventId" |
40 | 48 | :data-event-type="he.eventType" |
41 | 49 | :data-event-id="he.eventId" |
@@ -100,6 +108,16 @@ export default { |
100 | 108 | tsFormat: localStorage.getItem(`${this.$route.params.domain}:history-ts-col-format`) || 'elapsed', |
101 | 109 | compactDetails: localStorage.getItem(`${this.$route.params.domain}:history-compact-details`) === 'true', |
102 | 110 | splitEnabled: false, |
| 111 | + eventType: "", |
| 112 | + eventTypes: [ |
| 113 | + { value: 'All', label: 'All' }, |
| 114 | + { value: 'Decision', label: 'Decision' }, |
| 115 | + { value: 'Activity', label: 'Activity' }, |
| 116 | + { value: 'Signal', label: 'Signal' }, |
| 117 | + { value: 'Timer', label: 'Timer' }, |
| 118 | + { value: 'ChildWorkflow', label: 'ChildWorkflow' }, |
| 119 | + { value: 'Workflow', label: 'Workflow' }, |
| 120 | + ], |
103 | 121 | splitSizes: [20, 80] |
104 | 122 | } |
105 | 123 | }, |
@@ -155,9 +173,22 @@ export default { |
155 | 173 | }, |
156 | 174 | exportFilename() { |
157 | 175 | return `${this.$route.params.workflowId.replace(/[\\~#%&*{}\/:<>?|\"-]/g, ' ')} - ${this.$route.params.runId}.json` |
| 176 | + }, |
| 177 | + filteredEvents() { |
| 178 | + if (this && this.eventType && this.eventType != "All") { |
| 179 | + var et = this.eventType |
| 180 | + return this.$parent.results.filter(function (u) { |
| 181 | + return u.eventType.includes(et) |
| 182 | + }) |
| 183 | + } else { |
| 184 | + return this.$parent.results |
| 185 | + } |
158 | 186 | } |
159 | 187 | }, |
160 | 188 | methods: { |
| 189 | + setEventType(et){ |
| 190 | + this.eventType = et.value |
| 191 | + }, |
161 | 192 | setFormat(format) { |
162 | 193 | this.$router.replace({ |
163 | 194 | query: Object.assign({}, this.$route.query, { format }) |
@@ -307,6 +338,10 @@ section.history |
307 | 338 | z-index 2 |
308 | 339 | th |
309 | 340 | display inline-block |
| 341 | + & > .v-select.eventType |
| 342 | + margin-left 10px |
| 343 | + display: inline-block |
| 344 | + width: 150px |
310 | 345 | & + .spacer |
311 | 346 | width 100% |
312 | 347 | height 38px |
|
0 commit comments