diff options
-rw-r--r-- | css/codeq/hint.css | 3 | ||||
-rw-r--r-- | index.html | 1 | ||||
-rw-r--r-- | js/codeq/hint.js | 14 |
3 files changed, 14 insertions, 4 deletions
diff --git a/css/codeq/hint.css b/css/codeq/hint.css new file mode 100644 index 0000000..76090b2 --- /dev/null +++ b/css/codeq/hint.css @@ -0,0 +1,3 @@ +a.hint-static-link { + cursor: pointer; +}
\ No newline at end of file @@ -15,6 +15,7 @@ <!-- App --> <link rel="stylesheet" href="css/codeq.css" type="text/css"> <link rel="stylesheet" href="css/codeq/console.css" type="text/css"> + <link rel="stylesheet" href="css/codeq/hint.css" type="text/css"> <title>CodeQ</title> </head> <body> diff --git a/js/codeq/hint.js b/js/codeq/hint.js index c06aef7..55acac9 100644 --- a/js/codeq/hint.js +++ b/js/codeq/hint.js @@ -46,7 +46,7 @@ typeHandlers = { 'static': function (type, template, serverHint) { var args = serverHint.args, - jqContainer, jqButton, i, N; + jqContainer, jqButton, i, N, tmpl, tmplIsObject; if (template instanceof Array) { // unwrap the template if there's only one if (template.length == 0) template = ''; else if (template.length == 1) template = template[0] + ''; // it must be a string @@ -54,17 +54,23 @@ if (template instanceof Array) { codeq.log.debug('Processing an array of static hints'); jqContainer = $('<div class="hint-static-group"></div>'); - jqButton = $('<button type="button">More...</button>'); // TODO: translate "more" + jqButton = $('<a class="hint-static-link"></a>'); jqHints.append(jqContainer); N = template.length; - jqContainer.append('<div class="hint-static">' + processTemplate(template[0], args) + '</div>'); + tmpl = template[0]; + tmplIsObject = (typeof tmpl === 'object') && (tmpl !== null); + jqContainer.append('<div class="hint-static">' + processTemplate((tmplIsObject ? tmpl.message : tmpl) || '', args) + '</div>'); jqContainer.append(jqButton); + jqButton.text(tmplIsObject && tmpl.linkText ? tmpl.linkText : 'More...'); // TODO: translate "more" i = 1; jqButton.on('click', function () { - var jqNext = $('<div class="hint-static">' + processTemplate(template[i], args) + '</div>'); + var tmpl = template[i], + tmplIsObject = (typeof tmpl === 'object') && (tmpl !== null), + jqNext = $('<div class="hint-static">' + processTemplate((tmplIsObject ? tmpl.message : tmpl) || '', args) + '</div>'); i++; if (i < N) { jqButton.before(jqNext); + jqButton.text(tmplIsObject && tmpl.linkText ? tmpl.linkText : 'More...'); // TODO: translate "more" } else { jqButton.remove(); |