GUACAMOLE-630: Do not contain entire field nor entire header within <label>.

Enclosing the entire field within the <label> results in problems when
the field is large and when the field contains multiple interactive
elements. Clicking within interactive elements of a complex field
triggers the <label>, refocusing the first input element. If the field
is large, the <label> will contain empty space which also refocuses the
input field upon being clicked, despite appearing to be the background
of the page.
This commit is contained in:
Michael Jumper
2019-08-06 23:18:50 -07:00
parent a1a8be6fe5
commit 038f5ba0c5
16 changed files with 65 additions and 17 deletions

View File

@@ -1,7 +1,12 @@
<div class="text-field">
<input type="text" ng-model="model" autocorrect="off" autocapitalize="off" ng-attr-list="{{ dataListId }}"/>
<datalist ng-if="dataListId" id="{{ dataListId }}">
<input type="text"
ng-attr-id="{{ fieldId }}"
ng-attr-list="{{ dataListId }}"
ng-model="model"
autocorrect="off"
autocapitalize="off"/>
<datalist ng-if="dataListId" ng-attr-id="{{ dataListId }}">
<option ng-repeat="option in field.options | orderBy: option"
value="{{ option }}">{{ getFieldOption(option) | translate }}</option>
</datalist>
</div>
</div>