Example #1
0
    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;
    };
Example #2
0
    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;
    };
Example #3
0
HeaderViewModel.prototype.submitPath = function() {
  navigation.browseTo('repository?path=' + encodeURIComponent(this.path()));
}
Example #4
0
 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));
 });