diff --git a/app/assets/javascripts/templateFolderForm.js b/app/assets/javascripts/templateFolderForm.js
index d15721af2..0db522984 100644
--- a/app/assets/javascripts/templateFolderForm.js
+++ b/app/assets/javascripts/templateFolderForm.js
@@ -76,45 +76,61 @@
this.addCancelButton = function(state) {
let selector = `[value=${state.key}]`;
- let $cancel = this.makeButton('Cancel', () => {
+ let $cancel = this.makeButton('Cancel', {
+ 'onclick': () => {
- // clear existing data
- state.$el.find('input:radio').prop('checked', false);
- state.$el.find('input:text').val('');
+ // clear existing data
+ state.$el.find('input:radio').prop('checked', false);
+ state.$el.find('input:text').val('');
- // go back to action buttons
- this.selectActionButtons(selector);
- }, selector);
+ // go back to action buttons
+ this.selectActionButtons(selector);
+ },
+ 'cancelSelector': selector,
+ 'nonvisualText': "this step"
+ });
state.$el.find('[type=submit]').after($cancel);
};
this.addClearButton = function(state) {
let selector = 'button[value=add-new-template]';
- let $clear = this.makeButton('Clear', () => {
+ let $clear = this.makeButton('Clear', {
+ 'onclick': () => {
- // uncheck all templates and folders
- this.$form.find('input:checkbox').prop('checked', false);
+ // uncheck all templates and folders
+ this.$form.find('input:checkbox').prop('checked', false);
- // go back to action buttons
- this.selectActionButtons(selector);
+ // go back to action buttons
+ this.selectActionButtons(selector);
+ },
+ 'nonvisualText': "selection"
});
state.$el.find('.template-list-selected-counter').append($clear);
};
- this.makeButton = (text, fn, cancelSelector) => $('')
- .html(text)
- .addClass('js-cancel')
- .data('target', cancelSelector) // isn't set if cancelSelector is undefined
- .attr('tabindex', '0')
- .on('click keydown', event => {
- // space, enter or no keyCode (must be mouse input)
- if ([13, 32, undefined].indexOf(event.keyCode) > -1) {
- event.preventDefault();
- fn();
+ this.makeButton = (text, opts) => {
+ let $btn = $('')
+ .html(text)
+ .addClass('js-cancel')
+ // isn't set if cancelSelector is undefined
+ .data('target', opts.cancelSelector || undefined)
+ .attr('tabindex', '0')
+ .on('click keydown', event => {
+ // space, enter or no keyCode (must be mouse input)
+ if ([13, 32, undefined].indexOf(event.keyCode) > -1) {
+ event.preventDefault();
+ if (opts.hasOwnProperty('onclick')) { opts.onclick(); }
+ }
+ });
+
+ if (opts.hasOwnProperty('nonvisualText')) {
+ $btn.append(` ${opts.nonvisualText}`);
}
- });
+
+ return $btn;
+ };
this.selectActionButtons = function (targetSelector) {
// If we want to show one of the grey choose actions state, we can pretend we're in the choose actions state,