PolyGerrit: Show wip and private status on change list

Bug: Issue 6758
Change-Id: Icf1d211c72ff273cd517b409b0f13b2922b86599
This commit is contained in:
Paladox none
2017-07-17 23:51:56 +00:00
parent a7cfa81268
commit 30a3d847f7
2 changed files with 92 additions and 4 deletions

View File

@@ -116,19 +116,33 @@ limitations under the License.
status === this.ChangeStatus.DRAFT; status === this.ChangeStatus.DRAFT;
}, },
wipOrPrivateStatus(change) {
if (change.work_in_progress && change.is_private) {
return ' (Private) (WIP)';
} else if (change.work_in_progress) {
return ' (WIP)';
} else if (change.is_private) {
return ' (Private)';
}
return '';
},
changeStatusString(change) { changeStatusString(change) {
// "Closed" states should take precedence over "open" ones. // "Closed" states should take precedence over "open" ones.
if (change.status === this.ChangeStatus.MERGED) { if (change.status === this.ChangeStatus.MERGED) {
return 'Merged'; return 'Merged' + this.wipOrPrivateStatus(change);
} }
if (change.status === this.ChangeStatus.ABANDONED) { if (change.status === this.ChangeStatus.ABANDONED) {
return 'Abandoned'; return 'Abandoned' + this.wipOrPrivateStatus(change);
} }
if (change.mergeable === false) { if (change.mergeable === false) {
return 'Merge Conflict'; return 'Merge Conflict' + this.wipOrPrivateStatus(change);
} }
if (change.status === this.ChangeStatus.DRAFT) { if (change.status === this.ChangeStatus.DRAFT) {
return 'Draft'; return 'Draft' + this.wipOrPrivateStatus(change);
}
if (change.status === this.ChangeStatus.NEW) {
return this.wipOrPrivateStatus(change);
} }
return ''; return '';
}, },

View File

@@ -75,5 +75,79 @@ limitations under the License.
test('changePath', () => { test('changePath', () => {
assert.deepEqual(element.changePath('1'), '/r/c/1'); assert.deepEqual(element.changePath('1'), '/r/c/1');
}); });
test('Open status', () => {
const change = {
change_id: 'Iad9dc96274af6946f3632be53b106ef80f7ba6ca',
revisions: {
rev1: {_number: 1},
},
current_revision: 'rev1',
status: 'NEW',
labels: {},
};
const status = element.changeStatusString(change);
assert.equal(status, '');
});
test('Merged status', () => {
const change = {
change_id: 'Iad9dc96274af6946f3632be53b106ef80f7ba6ca',
revisions: {
rev1: {_number: 1},
},
current_revision: 'rev1',
status: 'MERGED',
labels: {},
};
const status = element.changeStatusString(change);
assert.equal(status, 'Merged');
});
test('Abandoned status', () => {
const change = {
change_id: 'Iad9dc96274af6946f3632be53b106ef80f7ba6ca',
revisions: {
rev1: {_number: 1},
},
current_revision: 'rev1',
status: 'ABANDONED',
labels: {},
};
const status = element.changeStatusString(change);
assert.equal(status, 'Abandoned');
});
test('Open status with private and wip', () => {
const change = {
change_id: 'Iad9dc96274af6946f3632be53b106ef80f7ba6ca',
revisions: {
rev1: {_number: 1},
},
current_revision: 'rev1',
status: 'NEW',
is_private: true,
work_in_progress: true,
labels: {},
};
const status = element.changeStatusString(change);
assert.equal(status, ' (Private) (WIP)');
});
test('Abandoned status with private and wip', () => {
const change = {
change_id: 'Iad9dc96274af6946f3632be53b106ef80f7ba6ca',
revisions: {
rev1: {_number: 1},
},
current_revision: 'rev1',
status: 'ABANDONED',
is_private: true,
work_in_progress: true,
labels: {},
};
const status = element.changeStatusString(change);
assert.equal(status, 'Abandoned (Private) (WIP)');
});
}); });
</script> </script>