[Libreoffice-commits] online.git: 2 commits - cypress_test/integration_tests loleaflet/css loleaflet/src

Tamás Zolnai (via logerrit) logerrit at kemper.freedesktop.org
Mon May 11 18:14:31 UTC 2020


 cypress_test/integration_tests/desktop/writer/form_field_spec.js |   15 +++
 loleaflet/css/loleaflet.css                                      |    4 -
 loleaflet/src/layer/FormFieldButtonLayer.js                      |   38 ++++++----
 3 files changed, 44 insertions(+), 13 deletions(-)

New commits:
commit 166c6d87f790d0f0a4d5731431914278ad47ccd8
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Mon May 11 17:18:50 2020 +0200
Commit:     Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Mon May 11 20:14:21 2020 +0200

    MSForms: add a small padding to the list items.
    
    Change-Id: I4ba449a1c82ab046454a87d09f351879b5ac9f26
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/93981
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>

diff --git a/loleaflet/css/loleaflet.css b/loleaflet/css/loleaflet.css
index b2f788141..3ec71f0f1 100644
--- a/loleaflet/css/loleaflet.css
+++ b/loleaflet/css/loleaflet.css
@@ -562,7 +562,9 @@ body {
 }
 
 .drop-down-field-list-item {
-	width: 100%;
+	width: calc(100% - 10px);
+	padding-left: 5px;
+	padding-right: 5px;
 }
 
 .drop-down-field-list-item.selected {
commit f7bf4d5cdd5e97a7a11745ce9839db676ea9bbc4
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Mon May 11 13:40:05 2020 +0200
Commit:     Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Mon May 11 20:14:13 2020 +0200

    MSForms: display placeholder text, when there is no items.
    
    Change-Id: I8acd29d734820f6ddc36871c7777fefd2956c213
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/93962
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>

diff --git a/cypress_test/integration_tests/desktop/writer/form_field_spec.js b/cypress_test/integration_tests/desktop/writer/form_field_spec.js
index 8fbc268fb..def301989 100644
--- a/cypress_test/integration_tests/desktop/writer/form_field_spec.js
+++ b/cypress_test/integration_tests/desktop/writer/form_field_spec.js
@@ -227,6 +227,21 @@ describe('Form field button tests.', function() {
 		buttonShouldExist();
 
 		cy.get('.drop-down-field-list-item')
+			.should('have.text', 'No Item specified');
+
+		cy.get('.drop-down-field-list-item.selected')
+			.should('not.exist');
+
+		cy.get('.form-field-button')
+			.click();
+
+		cy.get('.drop-down-field-list')
+			.should('be.visible');
+
+		cy.contains('.drop-down-field-list-item', 'No Item specified')
+			.click();
+
+		cy.get('.drop-down-field-list-item.selected')
 			.should('not.exist');
 	});
 });
diff --git a/loleaflet/src/layer/FormFieldButtonLayer.js b/loleaflet/src/layer/FormFieldButtonLayer.js
index 0acaabce5..fcd826c28 100644
--- a/loleaflet/src/layer/FormFieldButtonLayer.js
+++ b/loleaflet/src/layer/FormFieldButtonLayer.js
@@ -104,20 +104,30 @@ L.FormFieldButton = L.Layer.extend({
 
 		var itemList = this._buttonData.params.items;
 		var selected = parseInt(this._buttonData.params.selected);
+
 		for (var i = 0; i < itemList.length; ++i) {
-			var option = L.DomUtil.create('div', 'drop-down-field-list-item', dropDownList);
-			option.innerHTML = itemList[i];
+			this._buildListItem(dropDownList, itemList[i], i === selected);
+		}
+
+		if (this._buttonData.params.items.length === 0) {
+			this._buildListItem(dropDownList, this._buttonData.params.placeholderText, false);
+		}
+	},
 
-			option.addEventListener('click', this._onListItemSelect);
-			option.map = this.map;
+	_buildListItem: function(parent, text, selected) {
+		var option = L.DomUtil.create('div', 'drop-down-field-list-item', parent);
+		option.innerHTML = text;
 
-			// Stop propagation to the main document
-			option.addEventListener('mouseup', function(event) {event.stopPropagation();});
-			option.addEventListener('mousedown', function(event) {event.stopPropagation();});
+		option.addEventListener('click', this._onListItemSelect);
+		option.map = this.map;
+		option._buttonData = this._buttonData;
 
-			if (i === selected)
-				option.classList.add('selected');
-		}
+		// Stop propagation to the main document
+		option.addEventListener('mouseup', function(event) {event.stopPropagation();});
+		option.addEventListener('mousedown', function(event) {event.stopPropagation();});
+
+		if (selected === true)
+			option.classList.add('selected');
 	},
 
 	onRemove: function () {
@@ -131,16 +141,20 @@ L.FormFieldButton = L.Layer.extend({
 
 	_onListItemSelect: function(event) {
 		$('.drop-down-field-list').hide();
+		event.stopPropagation();
+
+		if (this._buttonData.params.items.length === 0)
+			return;
+
 		$('.drop-down-field-list-item.selected').removeClass('selected');
 		event.target.classList.add('selected');
 
-		event.stopPropagation();
 
 		// Find item index
 		var index = $(event.target).index();
 
 		var message = 'formfieldevent {\"type\": \"drop-down\",' +
-				      '\"cmd\": \"selected\",' +
+					  '\"cmd\": \"selected\",' +
 					  '\"data\":\"' + index.toString() + '\"}';
 
 		// Apply selection in the document.


More information about the Libreoffice-commits mailing list