Make suggest items clickable with the middle button.
Clicking on an item with the middle button leads the user to the page for this item. This lets users inspect items without selecting them. Closes #1934.
This commit is contained in:
parent
fea1efba41
commit
b068e18ada
@ -1299,6 +1299,20 @@
|
|||||||
name.append($("<span></span>").text(data.description));
|
name.append($("<span></span>").text(data.description));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we know of a view URL for this suggest service,
|
||||||
|
// clicking with the middle button sends the user to
|
||||||
|
// the view page.
|
||||||
|
if('view_url' in this.options && data.id) {
|
||||||
|
var view_url = this.options.view_url.replace('{{id}}', data.id);
|
||||||
|
li.on('mousedown', function(e) {
|
||||||
|
if (e.which == 2) {
|
||||||
|
var win = window.open(view_url, '_blank');
|
||||||
|
win.focus();
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
//console.log("create_item", li);
|
//console.log("create_item", li);
|
||||||
return li;
|
return li;
|
||||||
},
|
},
|
||||||
|
@ -200,6 +200,9 @@ DataTableCellUI.prototype._render = function() {
|
|||||||
var addSuggest = false;
|
var addSuggest = false;
|
||||||
if ((service) && (service.suggest) && (service.suggest.entity)) {
|
if ((service) && (service.suggest) && (service.suggest.entity)) {
|
||||||
suggestOptions = service.suggest.entity;
|
suggestOptions = service.suggest.entity;
|
||||||
|
if ('view' in service && 'url' in service.view && !('view_url' in suggestOptions)) {
|
||||||
|
suggestOptions.view_url = service.view.url;
|
||||||
|
}
|
||||||
addSuggest = true;
|
addSuggest = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,6 +85,9 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
|
|||||||
if (service && service.suggest && service.suggest.entity) {
|
if (service && service.suggest && service.suggest.entity) {
|
||||||
suggestOptions = $.extend({}, service.suggest.entity);
|
suggestOptions = $.extend({}, service.suggest.entity);
|
||||||
suggestOptions.query_param_name = "prefix";
|
suggestOptions.query_param_name = "prefix";
|
||||||
|
if ('view' in service && 'url' in service.view && !('view_url' in suggestOptions)) {
|
||||||
|
suggestOptions.formatter_url = service.view.url;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var frame = DialogSystem.createDialog();
|
var frame = DialogSystem.createDialog();
|
||||||
|
Loading…
Reference in New Issue
Block a user