Skip to content

Commit

Permalink
Add keybinds 'e' (edit), 'ctrl+esc' (cancel edit), 'ctrl+enter' (save…
Browse files Browse the repository at this point in the history
… edit) and 's' || '/' (search)
  • Loading branch information
TobiasDeBruijn committed Feb 20, 2024
1 parent 0b94a01 commit e20a099
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 4 deletions.
14 changes: 14 additions & 0 deletions app/javascript/src/admin/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,20 @@ $(document).on("ready page:load turbolinks:load", function () {
return confirm(I18n.t("admin.general.confirmation"));
});

$(window)
.on('keydown', evt => {
if (evt.target.type === 'input') {
return;
}

// Select the search bar on '/'
if (evt.key === 's' || evt.key === '/') {
evt.preventDefault();

$("#search")?.focus();
}
})

$(".page.search .input-group ul.dropdown-menu")
.find("li")
.on("mouseenter", function () {
Expand Down
24 changes: 24 additions & 0 deletions app/javascript/src/admin/members.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,30 @@ import { setup_intl_tel_input } from "../intl_tel_number";
$(document).on("ready page:load turbolinks:load", function () {
setup_intl_tel_input();

$(window)
.on('keydown', evt => {
if (evt.target.type === 'input') {
return;
}

// Click the edit button on the 'e' keypress
if (evt.key === 'e') {
// Do something
document.getElementById('member-btn-edit')?.click();
return;
}

// Cancel editing on Ctrl+Esc
if(evt.key === 'Escape' && evt.ctrlKey) {
document.getElementById('admin-member-edit-btn-cancel')?.click();
}

// Save editing user on ctrl+enter
if(evt.key === 'Enter' && evt.ctrlKey) {
document.getElementById("admin-member-edit-btn-save")?.click();
}
})

$(".education label a.close").bind("click", function () {
var row = $(".education .copyable:last")
.clone()
Expand Down
4 changes: 2 additions & 2 deletions app/views/admin/members/edit.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,6 @@
.col-md-12
.card
.card-body
%button.btn.btn-success{type: 'submit'}= I18n.t('editing.save')
= link_to I18n.t('editing.cancel'), member_path, { :class => 'button btn btn-default' }
%button.btn.btn-success#admin-member-edit-btn-save{type: 'submit'}= I18n.t('editing.save')
= link_to I18n.t('editing.cancel'), member_path, { :class => 'button btn btn-default', :id => "admin-member-edit-btn-cancel" }
= link_to I18n.t('editing.delete'), member_path(@member.id), { :class => 'button btn btn-danger float-right', 'data-method' => :delete }
2 changes: 1 addition & 1 deletion app/views/admin/members/show.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@
.card-body
.btn-group
= link_to I18n.t('editing.cancel'), :back, { :class => 'btn btn-primary' }
= link_to I18n.t('editing.edit'), edit_member_path(@member.id), { :class => 'btn btn-warning' }
= link_to I18n.t('editing.edit'), edit_member_path(@member.id), { :class => 'btn btn-warning', :id => 'member-btn-edit' }

.btn-group
%button.btn.btn-primary.dropdown-toggle{ 'data-toggle' => 'dropdown', :type => 'button' }
Expand Down
2 changes: 1 addition & 1 deletion app/views/layouts/partials/_search.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
%section.panel.panel-default
.panel-body
= form_tag members_path, :method => 'get' do
.input-group
.input-group#search-bar
= search_field_tag :search, params[:search], placeholder: I18n.t('layouts.partials.search.placeholder'), class: 'form-control', :autocomplete => 'off'

%ul.dropdown-menu{ :name => 'studies' }
Expand Down

0 comments on commit e20a099

Please sign in to comment.