Add repo header to project search
Bug: Issue 7921
Change-Id: Iec3d768e49bfc7a06a1ea143ced9967c3f481bd2
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
index 1728bc1..ceb4b4d 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
@@ -24,6 +24,9 @@
const USER_QUERY_PATTERN = /^owner:\s?("[^"]+"|[^ ]+)$/;
+ const REPO_QUERY_PATTERN =
+ /^project:\s?("[^"]+"|[^ ]+)(\sstatus\s?:(open|"open"))?$/;
+
const LIMIT_OPERATOR_PATTERN = /\blimit:(\d+)/i;
Polymer({
@@ -114,6 +117,12 @@
type: String,
value: null,
},
+
+ /** @type {?String} */
+ _repo: {
+ type: String,
+ value: null,
+ },
},
listeners: {
@@ -227,16 +236,22 @@
},
_changesChanged(changes) {
- if (!changes || !changes.length ||
- !USER_QUERY_PATTERN.test(this._query)) {
- this._userId = null;
+ this._userId = null;
+ this._repo = null;
+ if (!changes || !changes.length) {
return;
}
- this._userId = changes[0].owner.email;
+ if (USER_QUERY_PATTERN.test(this._query) && changes[0].owner.email) {
+ this._userId = changes[0].owner.email;
+ return;
+ }
+ if (REPO_QUERY_PATTERN.test(this._query)) {
+ this._repo = changes[0].project;
+ }
},
- _computeUserHeaderClass(userId) {
- return userId ? '' : 'hide';
+ _computeHeaderClass(id) {
+ return id ? '' : 'hide';
},
_computePage(offset, changesPerPage) {