Index: appengine/swarming/ui/res/imp/botlist/bot-filters.html |
diff --git a/appengine/swarming/ui/res/imp/botlist/bot-filters.html b/appengine/swarming/ui/res/imp/botlist/bot-filters.html |
index 3bdc6b009b231a4418b74741028375f09dc574bc..82028d427cf8c09805faf4c12d3e7655f3137ac2 100644 |
--- a/appengine/swarming/ui/res/imp/botlist/bot-filters.html |
+++ b/appengine/swarming/ui/res/imp/botlist/bot-filters.html |
@@ -28,12 +28,13 @@ |
// outputs |
columns: Array<String>, the columns that should be displayed. |
query_params: Object, The query params that will filter the query |
- server-side. This can have dimensions:Array<String>, quarantined:String |
- and is_dead: String. For example: |
+ server-side. This can have dimensions:Array<String>, quarantined:String, |
+ is_dead: String and is_mp: String. For example: |
{ |
"dimensions": ["pool:Skia", "device_type:Sprout"], |
"quarantined": "FALSE", // optional |
"is_dead": "TRUE", // optional |
+ "is_mp": "TRUE", // optional |
} |
For a full list of dimensions in the fleet, see the API call: |
https://[swarming_url]/api/swarming/v1/bots/dimensions |
@@ -190,7 +191,7 @@ the fleet."> |
</template> |
<script> |
(function(){ |
- // See query-column-filter for more documentation on these properties. |
+ // See SwarmingBehaviors.QueryColumnFilter for more documentation on these properties. |
var filterMap = { |
disk_space: function(bot, space) { |
return true; |
@@ -198,6 +199,14 @@ the fleet."> |
id: function(bot, id) { |
return true; |
}, |
+ is_mp_bot: function(bot, match) { |
+ if (match === "true") { |
+ return !!bot.lease_id; |
+ } else if (match === "false") { |
+ return !bot.lease_id; |
+ } |
+ return true; |
+ }, |
status: function(bot, status) { |
if (status === "quarantined") { |
return bot.quarantined; |
@@ -274,14 +283,13 @@ the fleet."> |
this._filters.forEach(function(f) { |
var split = f.split(this.FILTER_SEP, 1) |
var col = split[0]; |
+ var rest = f.substring(col.length + this.FILTER_SEP.length); |
if (this.dimensions.indexOf(col) !== -1) { |
- var rest = f.substring(col.length + this.FILTER_SEP.length); |
if (swarming.alias.DIMENSIONS_WITH_ALIASES.indexOf(col) !== -1) { |
rest = swarming.alias.unapply(rest); |
} |
dims.push(col + this.FILTER_SEP + rest) |
} else if (col === "status") { |
- var rest = f.substring(col.length + this.FILTER_SEP.length); |
if (rest === "alive") { |
params["is_dead"] = ["FALSE"]; |
params["quarantined"] = ["FALSE"]; |
@@ -290,6 +298,13 @@ the fleet."> |
} else if (rest === "dead") { |
params["is_dead"] = ["TRUE"]; |
} |
+ } else if (col === "is_mp_bot") { |
+ if (rest === "true") { |
+ params["is_mp"] = ["TRUE"]; |
+ } else if (rest === "false") { |
+ params["is_mp"] = ["FALSE"]; |
+ } |
+ // else if -- may be malformed, don't do anything. |
} |
}.bind(this)); |
params["dimensions"] = dims; |