Commit 2b29c5fb by Thomas Young

scroll to newly created section and make first input element active on creation…

scroll to newly created section and make first input element active on creation of a new textbook in the textbooks list page (fix for https://openedx.atlassian.net/browse/TNL-130)
parent d94c0ab1
define(["js/views/baseview", "jquery", "js/views/edit_textbook", "js/views/show_textbook"], define(["js/views/baseview", "jquery", "js/views/edit_textbook", "js/views/show_textbook", "js/views/utils/view_utils"],
function(BaseView, $, EditTextbookView, ShowTextbookView) { function(BaseView, $, EditTextbookView, ShowTextbookView, ViewUtils) {
var ListTextbooks = BaseView.extend({ var ListTextbooks = BaseView.extend({
initialize: function() { initialize: function() {
this.emptyTemplate = this.loadTemplate('no-textbooks'); this.emptyTemplate = this.loadTemplate('no-textbooks');
...@@ -32,7 +32,15 @@ define(["js/views/baseview", "jquery", "js/views/edit_textbook", "js/views/show_ ...@@ -32,7 +32,15 @@ define(["js/views/baseview", "jquery", "js/views/edit_textbook", "js/views/show_
}, },
addOne: function(e) { addOne: function(e) {
if(e && e.preventDefault) { e.preventDefault(); } if(e && e.preventDefault) { e.preventDefault(); }
this.collection.add([{editing: true}]); this.collection.add([{editing: true}]); // (render() call triggered here)
// find the outer 'section' tag for the newly added textbook
$sectionEl = this.$el.find('section:last');
// scroll to put this at top of viewport
ViewUtils.setScrollOffset($sectionEl, 0);
// find the first input element in this section
$inputEl = $sectionEl.find('input:first');
// activate the text box (so user can go ahead and start typing straight away)
$inputEl.focus().select();
}, },
handleDestroy: function(model, collection, options) { handleDestroy: function(model, collection, options) {
collection.remove(model); collection.remove(model);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment