diff --git a/front/src/css/index.css b/front/src/css/index.css index fa05717..8bcc1ff 100644 --- a/front/src/css/index.css +++ b/front/src/css/index.css @@ -34,7 +34,8 @@ font-size: 1em; } .settings input[type=text], -.settings input[type=password] { +.settings input[type=password], +.settings textarea { width: 100%; min-width: 4em; } diff --git a/front/src/js/services/apiService.js b/front/src/js/services/apiService.js index 0482748..95aad1e 100644 --- a/front/src/js/services/apiService.js +++ b/front/src/js/services/apiService.js @@ -14,20 +14,22 @@ apiService.factory('API', ['$location', 'Runs', 'Results', function($location, R waitForSelector: settings.waitForSelector, cookie: settings.cookie, authUser: settings.authUser, - authPass: settings.authPass + authPass: settings.authPass, + blockDomain: settings.blockDomain, + allowedDomains: settings.allowedDomains, + noExternals: settings.noExternals }; - if (settings.waitForSelector && settings.waitForSelector !== '') { - runObject.waitForSelector = settings.waitForSelector; - } - - if (settings.cookie && settings.cookie !== '') { - runObject.cookie = settings.cookie; - } - - if (settings.authUser && settings.authUser !== '' && settings.authPass && settings.authPass !== '') { - runObject.authUser = settings.authUser; - runObject.authPass = settings.authPass; + + if (settings.domainsBlackOrWhite === 'black') { + runObject.blockDomain = this.parseDomains(settings.domains); + } else if (settings.domainsBlackOrWhite === 'white') { + var allowedDomains = this.parseDomains(settings.domains); + if (allowedDomains.length > 0) { + runObject.allowDomain = allowedDomains; + } else { + runObject.noExternals = true; + } } Runs.save(runObject, function(data) { @@ -43,6 +45,17 @@ apiService.factory('API', ['$location', 'Runs', 'Results', function($location, R relaunchTest: function(result) { this.launchTest(result.params.url, result.params.options); + }, + + parseDomains: function(textareaContent) { + var lines = textareaContent.split('\n'); + + function removeEmptyLines (line) { + return line.trim() !== ''; + } + + // Remove empty lines + return lines.filter(removeEmptyLines).join(','); } }; diff --git a/front/src/less/index.less b/front/src/less/index.less index 5c665b4..bbc8b4d 100644 --- a/front/src/less/index.less +++ b/front/src/less/index.less @@ -38,7 +38,7 @@ font-size: 1em; } - input[type=text], input[type=password] { + input[type=text], input[type=password], textarea { width: 100%; min-width: 4em; } diff --git a/front/src/views/dashboard.html b/front/src/views/dashboard.html index f5dfa2c..430af91 100644 --- a/front/src/views/dashboard.html +++ b/front/src/views/dashboard.html @@ -1,6 +1,13 @@