var handleKeyEvent = function(event) { var lastChar = $(element).val().slice(-1); if(lastChar == '/' || lastChar == '\\'){ // When "/" or "\" server.get('/fs/listDirectories', {term: $(element).val()}, function(err, directoryList) { if (err) { if (err.errorCode == 'read-dir-failed') return true; else return false; } else { $(element).autocomplete({ source: directoryList, messages: { noResults: '', results: function() {} } }); $(element).autocomplete("search", $(element).val()); } }); } else if(event.keyCode == 39){ $(element).val($(element).val() + ungit.config.fileSeparator); } else if(event.keyCode == 13){ event.preventDefault(); navigation.browseTo('repository?path=' + encodeURIComponent($(element).val())); } return true; };
const handleKeyEvent = (event) => { const value = $(element).val(); const lastChar = value.slice(-1); if (lastChar == ungit.config.fileSeparator) { // When file separator is entered, list what is in given path, and rest auto complete options server.getPromise('/fs/listDirectories', {term: value}).then((directoryList) => { const currentDir = directoryList.shift(); $(element).val(currentDir.endsWith(ungit.config.fileSeparator) ? currentDir : currentDir + ungit.config.fileSeparator); setAutoCompleteOptions(directoryList) $(element).autocomplete('search', value); }).catch((err) => { if (!err.errorSummary.startsWith('ENOENT: no such file or directory') && err.errorCode !== 'read-dir-failed') { throw err; } }); } else if (event.keyCode === 13) { // enter key is struck, navigate to the path event.preventDefault(); navigation.browseTo(`repository?path=${encodeURIComponent(value)}`); } else if (value === '' && storage.getItem('repositories')) { // if path is emptied out, show save path options const folderNames = JSON.parse(storage.getItem('repositories')).map((value) => { return { value: value, label: value.substring(value.lastIndexOf(ungit.config.fileSeparator) + 1) }; }); setAutoCompleteOptions(folderNames); $(element).autocomplete('search', ''); } return true; };
HeaderViewModel.prototype.submitPath = function() { navigation.browseTo('repository?path=' + encodeURIComponent(this.path())); }
this.server.post('/clone', { path: this.path, url: this.cloneUrl(), destinationDir: dest }, function(err, res) { self.cloningProgressBar.stop(); if (err) return; navigation.browseTo('repository?path=' + encodeURIComponent(res.path)); });