+12
-1
@@ -221,6 +221,12 @@
|
||||
}
|
||||
this.el.append(this.content_box);
|
||||
},
|
||||
grab_focus: function() {
|
||||
this.filter_box.toggleClass('hidden-xs', false);
|
||||
window.setTimeout(() => {
|
||||
this.search_entry.focus();
|
||||
}, 0);
|
||||
},
|
||||
set_text: function(value) {
|
||||
this.search_entry.val(value);
|
||||
this.bookmark_match();
|
||||
@@ -937,7 +943,8 @@
|
||||
return next_view;
|
||||
},
|
||||
switch_view: function(
|
||||
view_type=null, view_id=null, creatable=null, display=true) {
|
||||
view_type=null, view_id=null, creatable=null, searchable=null,
|
||||
display=true) {
|
||||
if (view_id !== null) {
|
||||
view_id = Number(view_id);
|
||||
}
|
||||
@@ -971,6 +978,10 @@
|
||||
if (creatable !== null) {
|
||||
result &= this.current_view.creatable == creatable;
|
||||
}
|
||||
if (searchable !== null) {
|
||||
result &= Boolean(~['tree', 'graph', 'calendar'].indexOf(
|
||||
this.current_view.view_type)) == searchable;
|
||||
}
|
||||
return result;
|
||||
};
|
||||
const _switch = () => {
|
||||
|
||||
+8
-8
@@ -987,14 +987,14 @@
|
||||
});
|
||||
},
|
||||
search: function() {
|
||||
var search_entry = this.screen.screen_container.search_entry;
|
||||
search_entry.parents('.filter-box').toggleClass('hidden-xs');
|
||||
if (search_entry.is(':visible')) {
|
||||
window.setTimeout(function() {
|
||||
search_entry.focus();
|
||||
}, 0);
|
||||
}
|
||||
return jQuery.when();
|
||||
return this.modified_save().then(() => {
|
||||
return this.screen.switch_view(
|
||||
null, null, null, true, false).then(() => {
|
||||
return this.screen.display().done(() => {
|
||||
this.screen.screen_container.grab_focus();
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
logs: function() {
|
||||
var record = this.screen.current_record;
|
||||
|
||||
@@ -556,9 +556,11 @@ class Form(TabContent):
|
||||
self.buttons['copy_url'].props.active = True
|
||||
|
||||
def sig_search(self, widget):
|
||||
search_container = self.screen.screen_container
|
||||
if hasattr(search_container, 'search_entry'):
|
||||
search_container.search_entry.grab_focus()
|
||||
if not self.modified_save():
|
||||
return
|
||||
self.screen.switch_view(searchable=True, display=False)
|
||||
self.screen.display()
|
||||
self.screen.screen_container.grab_focus()
|
||||
|
||||
def action_popup(self, widget):
|
||||
button, = widget.get_children()
|
||||
|
||||
@@ -559,7 +559,8 @@ class Screen:
|
||||
return next_view
|
||||
|
||||
def switch_view(
|
||||
self, view_type=None, view_id=None, creatable=None, display=True):
|
||||
self, view_type=None, view_id=None, creatable=None,
|
||||
searchable=None, display=True):
|
||||
if view_id is not None:
|
||||
view_id = int(view_id)
|
||||
if self.current_view:
|
||||
@@ -585,6 +586,9 @@ class Screen:
|
||||
result &= self.current_view.view_id == view_id
|
||||
if creatable is not None:
|
||||
result &= self.current_view.creatable == creatable
|
||||
if searchable is not None:
|
||||
result &= (self.current_view.view_type in {
|
||||
'tree', 'graph', 'calendar'}) == searchable
|
||||
return result
|
||||
for i in range(len(self.views) + len(self.view_to_load)):
|
||||
if len(self.view_to_load):
|
||||
|
||||
@@ -349,6 +349,9 @@ class ScreenContainer(object):
|
||||
|
||||
tooltips.enable()
|
||||
|
||||
def grab_focus(self):
|
||||
self.search_entry.grab_focus()
|
||||
|
||||
def widget_get(self):
|
||||
return self.vbox
|
||||
|
||||
|
||||
Reference in New Issue
Block a user