Cleaned up the code a bit

This commit is contained in:
Dennis Ploeger 2018-10-13 11:04:58 +02:00
parent e23beaf831
commit d8dbe0464f
3 changed files with 28 additions and 15 deletions

View File

@ -9,6 +9,7 @@ const Logger = require('../util/logger');
const Locale = require('../util/locale');
const Timeouts = require('../const/timeouts');
const AppSettingsModel = require('../models/app-settings-model');
const AutoTypeSequenceType = require('../const/autotype-sequencetype');
const logger = new Logger('auto-type');
const clearTextAutoTypeLog = localStorage.autoTypeDebug;
@ -53,8 +54,8 @@ const AutoType = {
}
},
runAndHandleResult(entry) {
this.run(entry, err => {
runAndHandleResult(result) {
this.run(result, err => {
if (err) {
Alerts.error({
header: Locale.autoTypeError,
@ -68,15 +69,15 @@ const AutoType = {
}
},
run(entry, callback) {
run(result, callback) {
this.running = true;
var sequence;
if (entry.autoTypeOption === 'password') {
let sequence;
if (result.sequenceType === AutoTypeSequenceType.PASSWORD) {
sequence = '{PASSWORD}';
} else if (entry.autoTypeOption === 'username') {
} else if (result.sequenceType === AutoTypeSequenceType.USERNAME) {
sequence = '{USERNAME}';
} else {
sequence = entry.getEffectiveAutoTypeSeq();
sequence = result.entry.getEffectiveAutoTypeSeq();
}
logger.debug('Start', sequence);
const ts = logger.ts();
@ -84,14 +85,14 @@ const AutoType = {
const parser = new AutoTypeParser(sequence);
const runner = parser.parse();
logger.debug('Parsed', this.printOps(runner.ops));
runner.resolve(entry, err => {
runner.resolve(result.entry, err => {
if (err) {
this.running = false;
logger.error('Resolve error', err);
return callback && callback(err);
}
logger.debug('Resolved', this.printOps(runner.ops));
if (entry.autoTypeObfuscation) {
if (result.entry.autoTypeObfuscation) {
try {
runner.obfuscate();
} catch (e) {

View File

@ -0,0 +1,7 @@
const AutoTypeSequenceType = {
DEFAULT: 0,
USERNAME: 1,
PASSWORD: 2
};
module.exports = AutoTypeSequenceType;

View File

@ -5,6 +5,7 @@ const Locale = require('../../util/locale');
const AppSettingsModel = require('../../models/app-settings-model');
const EntryPresenter = require('../../presenters/entry-presenter');
const Scrollable = require('../../mixins/scrollable');
const AutoTypeSequenceType = require('../../const/autotype-sequencetype');
const AutoTypePopupView = Backbone.View.extend({
el: 'body',
@ -83,8 +84,14 @@ const AutoTypePopupView = Backbone.View.extend({
this.trigger('result', this.result);
},
closeWithResult() {
this.trigger('result', this.result);
closeWithResult(sequenceType) {
if (!sequenceType) {
sequenceType = AutoTypeSequenceType.DEFAULT;
}
this.trigger('result', {
entry: this.result,
sequenceType: sequenceType
});
},
escPressed() {
@ -100,13 +107,11 @@ const AutoTypePopupView = Backbone.View.extend({
},
actionEnterPressed() {
this.result.autoTypeOption = 'password';
this.closeWithResult();
this.closeWithResult(AutoTypeSequenceType.PASSWORD);
},
optEnterPressed() {
this.result.autoTypeOption = 'username';
this.closeWithResult();
this.closeWithResult(AutoTypeSequenceType.USERNAME);
},
upPressed(e) {