Skip to content

Commit ac2b8c9

Browse files
author
Joseph Atkins-Turkish
committed
Autofocus on the first form elems of IDE pages
1 parent 3e75d5d commit ac2b8c9

File tree

6 files changed

+18
-7
lines changed

6 files changed

+18
-7
lines changed

ide/static/ide/js/resources.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ CloudPebble.Resources = (function() {
468468
CloudPebble.ProgressBar.Hide();
469469
if(!data.success) return;
470470
var resource = data.resource;
471-
var pane = prepare_resource_pane();
471+
var pane = prepare_resource_pane({is_new: false});
472472

473473
var list_entry = $('#sidebar-pane-resource-' + resource.id);
474474
if(list_entry) {
@@ -860,7 +860,8 @@ CloudPebble.Resources = (function() {
860860
return textext.textext()[0];
861861
};
862862

863-
var prepare_resource_pane = function() {
863+
var prepare_resource_pane = function(options) {
864+
var is_new = options.is_new;
864865
var template = resource_template.clone();
865866
template.removeClass('hide');
866867
template.find('.font-only').addClass('hide');
@@ -880,6 +881,9 @@ CloudPebble.Resources = (function() {
880881
});
881882
});
882883

884+
template.find('#edit-resource-type').attr('autofocus', is_new);
885+
template.find('#edit-resource-file-name').attr('autofocus', !is_new);
886+
883887
// setTimeout is used because the textarea has to actually be visible when the textext tag editor is initialised
884888
setTimeout(function() {
885889
var textext = build_tags_editor(template, template.find("#new-resource-tags"), []);
@@ -904,7 +908,7 @@ CloudPebble.Resources = (function() {
904908
var create_new_resource = function() {
905909
CloudPebble.Sidebar.SuspendActive();
906910
if(CloudPebble.Sidebar.Restore('new-resource')) return;
907-
var pane = prepare_resource_pane();
911+
var pane = prepare_resource_pane({is_new: true});
908912
var form = pane.find('form');
909913

910914
form.submit(function(e) {

ide/static/ide/js/sidebar.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ CloudPebble.Sidebar = (function() {
3939
}
4040
};
4141

42+
var refocus_pane = function(pane) {
43+
pane.find('*[autofocus]').first().focus();
44+
};
45+
4246
var restore_suspended_pane = function(id) {
4347
var pane = suspended_panes[id] ;
4448
if(pane) {
@@ -55,13 +59,16 @@ CloudPebble.Sidebar = (function() {
5559
pane.data('pane-restore-function')();
5660
}
5761

62+
refocus_pane(pane);
63+
5864
return true;
5965
}
6066
return false;
6167
};
6268

6369
var set_main_pane = function(pane, id, restore_function, destroy_function) {
6470
$('#main-pane').append(pane).data('pane-id', id);
71+
refocus_pane(pane);
6572
if(restore_function) {
6673
$('#main-pane').data('pane-restore-function', restore_function);
6774
}

ide/templates/ide/project/compile.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ <h3>{% trans 'Last build' %}</h3>
5656
</div>
5757
<hr>
5858
<div class="build-buttons">
59-
<button class="btn btn-affirmative" id="compilation-run-build-button">{% trans 'Run build' %}</button>
59+
<button class="btn btn-affirmative" id="compilation-run-build-button" autofocus>{% trans 'Run build' %}</button>
6060
<a id="last-compilation-pbw" href="#" class="btn hide">{% trans 'Get PBW' %}</a>
6161
<a id="last-compilation-log" class="btn hide" href="#">{% trans 'Build log' %}</a>
6262
</div>

ide/templates/ide/project/github.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<div class="control-group">
88
<label class="control-label" for="github-repo">{% trans 'Github Repo' %}</label>
99
<div class="controls">
10-
<input type="text" class="span6" id="github-repo" pattern="(?:https?://|git@|git://)?(?:www\.)?github\.com[/:]([\w.-]+)/([\w.-]+?)(?:\.git|/|$)" placeholder="github.com/{{ project.owner.github.username }}/PebbleFace">
10+
<input type="text" class="span6" id="github-repo" pattern="(?:https?://|git@|git://)?(?:www\.)?github\.com[/:]([\w.-]+)/([\w.-]+?)(?:\.git|/|$)" placeholder="github.com/{{ project.owner.github.username }}/PebbleFace" autofocus>
1111
</div>
1212
</div>
1313
<div class="control-group">

ide/templates/ide/project/resource.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<div class="control-group">
88
<label class="control-label" for="edit-resource-type">{% trans 'Resource type' %}</label>
99
<div class="controls">
10-
<select id="edit-resource-type">
10+
<select id="edit-resource-type" autofocus>
1111
<option value="bitmap">{% trans 'Bitmap Image' %}</option>
1212
{% if project.project_type == 'native' %}
1313
<option value="font">{% trans 'TrueType font' %}</option>

ide/templates/ide/project/settings.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<div class="control-group">
88
<label class="control-label" for="settings-name">{% trans 'Project name' %}</label>
99
<div class="controls">
10-
<input type="text" id="settings-name">
10+
<input type="text" id="settings-name" autofocus>
1111
</div>
1212
</div>
1313
<div class="sdk-version native-only control-group">

0 commit comments

Comments
 (0)