Choose a project:
'; 162 | form += ''; 163 | dialog.body.append(form); 164 | var self = this; 165 | $('#project-selector').autocomplete({ 166 | source: function(req, resp) { 167 | var matches = []; 168 | $.each(ks_projects, function(i, project) { 169 | if (project.project.identifier.indexOf(req.term) !== -1 || project.project.name.indexOf(req.term) !== -1) { 170 | matches.push({label: project.project.name, value: project.project.identifier}); 171 | } 172 | }); 173 | resp(matches); 174 | }, 175 | close: function() { 176 | self.selectorChange(); 177 | } 178 | }); 179 | $('#project-selector').focus(); 180 | $('#project-selector').on('keyup', function(e) { 181 | if (e.which != 40 && e.which != 38 && e.which != 13) self.selectorChange(); 182 | }); 183 | dialog.fixPosition(); 184 | }, 185 | 186 | selectorChange: function() { 187 | var choice = $('#project-selector').val(); 188 | $.each(ks_projects, function(i, project) { 189 | if (project.project.identifier == choice) { 190 | ks_dispatcher.go('projects/' + choice); 191 | } 192 | }); 193 | }, 194 | 195 | newIssue: function() { 196 | var new_issue_link = $('.new-issue'); 197 | if (new_issue_link.length > 0) { 198 | ks_dispatcher.go(new_issue_link.attr('href')); 199 | } 200 | }, 201 | 202 | viewAllIssues: function() { 203 | var issues_link = $('.issues'); 204 | if (issues_link.length > 0) { 205 | ks_dispatcher.go(issues_link.attr('href')); 206 | } 207 | }, 208 | 209 | viewHelp: function() { 210 | if (ks_dispatcher.dialog && $('.ks-help').length > 0) { 211 | ks_dispatcher.closeDialog(); 212 | return; 213 | } 214 | var dialog = ks_dispatcher.createDialog(); 215 | dialog.title.html('Keyboard Shortcuts'); 216 | $.each(ks_dispatcher.ks_managers, function(i, ksm) { 217 | dialog.body.append($('').html(ksm.description)); 218 | var help = '| ' + j + ' | ' + ksm.keys[j].description + ' |
j and k to move up and down, o to open
"; 560 | dialog.body.append(help); 561 | dialog.body.append(list); 562 | dialog.fixPosition(); 563 | this.issue_list = $('.ks-list li'); 564 | } 565 | 566 | }); 567 | 568 | var KsEditManager = Class.extend({ 569 | 570 | init: function() { 571 | this.description = "Keyboard Shortcuts for Bulk Issue Editor"; 572 | this.keys = { 573 | m: { 574 | press: this.changeProject.bind(this), 575 | description: "Change project", 576 | }, 577 | a: { 578 | press: this.assignIssues.bind(this), 579 | description: "Change assignee", 580 | allowInDialog: true 581 | }, 582 | s: { 583 | press: this.saveForm.bind(this), 584 | description: "Move Issues" 585 | } 586 | }; 587 | }, 588 | 589 | changeProject: function() { 590 | $('#issue_project_id').focus(); 591 | }, 592 | 593 | assignIssues: function() { 594 | $('#issue_assigned_to_id').focus(); 595 | }, 596 | 597 | saveForm: function() { 598 | $('#bulk_edit_form').submit(); 599 | } 600 | }); 601 | 602 | var KsDialog = Class.extend({ 603 | 604 | init: function() { 605 | var dialog = '