From 5951cf852a42931ac137bab826d0591d0fe7fb86 Mon Sep 17 00:00:00 2001 From: Andreas Hubel Date: Sat, 23 Feb 2019 17:34:56 +0100 Subject: [PATCH] add support for multi value template properties fixes #40 on client side --- main.js | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/main.js b/main.js index 934d543..276d530 100644 --- a/main.js +++ b/main.js @@ -139,11 +139,11 @@ function report(pageid, status, value, qid) { } else { value = escapeHTML(value); } - $('#' + pageid).next().after('' + qid + ' → added value ' + value + ''); + $('#' + pageid).next().after('' + qid + ' → added value ' + value + '
'); } else { delay = 500; cntError += 1; - $('#' + pageid).next().after('' + qid + ' → ' + value + ''); + $('#' + pageid).next().after('' + qid + ' → ' + value + '
'); } $('#' + pageid).parent().addClass(status); } @@ -725,7 +725,7 @@ function handleValue(pageid, qid, value) { if (job.wikisyntax) { res = value; } else { - report(pageid, 'error', 'no target page found', qid); + report(pageid, 'error', 'no target page found for value ' + value, qid); return 0; } } @@ -886,8 +886,21 @@ function proceedOnePage() { if (value !== false) { if (job.demo != 1 && bot === 0) { delay = 5000; + } + // handle multi value entries + if (value[0] === '*') { + var values = value.split('*') + // skip first entry: start from 1 instead of 0 + for (var i = 1; i < value.length; i++) { + if (values[i]) { + handleValue(id, qid, values[i].trim()); + sleep(delay); + } + } + // handle single value (default case) + } else { + handleValue(id, qid, value); } - handleValue(id, qid, value); } else { report(id, 'error', 'no value', qid); } @@ -1239,6 +1252,10 @@ function updateTemplateLink() { } } +function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); +} + $(document).ready(function() { prefillForm();