diff --git a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.html b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.html
index 465ecb77f3..dcc23e1b59 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.html
+++ b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.html
@@ -35,8 +35,10 @@ limitations under the License.
input {
width: 20em;
}
+ .hideItem {
+ display: none;
+ }
-
diff --git a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.js b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.js
index de1d0f854a..4d552f472b 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.js
+++ b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog.js
@@ -33,6 +33,7 @@
itemDetail: String,
_itemName: String,
_itemRevision: String,
+ _itemAnnotation: String,
},
behaviors: [
@@ -70,7 +71,8 @@
});
} else if (this.itemDetail === DETAIL_TYPES.tags) {
return this.$.restAPI.createProjectTag(this.projectName,
- this._itemName, {revision: USE_HEAD})
+ this._itemName,
+ {revision: USE_HEAD, message: this._itemAnnotation || null})
.then(itemRegistered => {
if (itemRegistered.status === 201) {
page.show(this._computeItemUrl(this.itemDetail));
@@ -78,5 +80,9 @@
});
}
},
+
+ _computeHideItemClass(type) {
+ return type === DETAIL_TYPES.branches ? 'hideItem' : '';
+ },
});
})();
diff --git a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.html b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.html
index 1ce6d8ab00..dd7457400e 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.html
+++ b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.html
@@ -87,5 +87,37 @@ limitations under the License.
assert.equal(element._itemRevision, 'HEAD');
});
+
+ test('tag created with annotations', () => {
+ sandbox.stub(element.$.restAPI, 'createProjectTag', () => {
+ return Promise.resolve({});
+ });
+
+ assert.isFalse(element.hasNewItemName);
+
+ element._itemName = 'test-tag';
+ element._itemAnnotation = 'test-message';
+ element.itemDetail = 'tags';
+
+ element.$.itemNameInput.bindValue = 'test-tag2';
+ element.$.itemAnnotationInput.bindValue = 'test-message2';
+ element.$.itemRevisionInput.bindValue = 'HEAD';
+
+ assert.isTrue(element.hasNewItemName);
+
+ assert.equal(element._itemName, 'test-tag2');
+
+ assert.equal(element._itemAnnotation, 'test-message2');
+
+ assert.equal(element._itemRevision, 'HEAD');
+ });
+
+ test('_computeHideItemClass returns hideItem if type is branches', () => {
+ assert.equal(element._computeHideItemClass('branches'), 'hideItem');
+ });
+
+ test('_computeHideItemClass returns strings if not branches', () => {
+ assert.equal(element._computeHideItemClass('tags'), '');
+ });
});