Add number of form responses in the button
This commit is contained in:
parent
c43d7e319b
commit
415ee6018b
1 changed files with 22 additions and 6 deletions
|
@ -2175,11 +2175,18 @@ define([
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var addResultsButton = function (framework, content) {
|
var getAnswersLength = function (answers) {
|
||||||
|
return Object.keys(answers || {}).filter(function (key) {
|
||||||
|
return key && key.slice(0,1) !== "_";
|
||||||
|
}).length;
|
||||||
|
};
|
||||||
|
Messages.form_results = "Responses ({0})"; // XXX update key
|
||||||
|
var addResultsButton = function (framework, content, answers) {
|
||||||
var $container = $('.cp-forms-results-participant');
|
var $container = $('.cp-forms-results-participant');
|
||||||
|
var l = getAnswersLength(answers);
|
||||||
var $res = $(h('button.btn.btn-primary.cp-toolbar-form-button', [
|
var $res = $(h('button.btn.btn-primary.cp-toolbar-form-button', [
|
||||||
h('i.fa.fa-bar-chart'),
|
h('i.fa.fa-bar-chart'),
|
||||||
h('span.cp-button-name', Messages.form_results)
|
h('span.cp-button-name', Messages._getKey('form_results', [l])),
|
||||||
]));
|
]));
|
||||||
$res.click(function () {
|
$res.click(function () {
|
||||||
$res.attr('disabled', 'disabled');
|
$res.attr('disabled', 'disabled');
|
||||||
|
@ -2198,7 +2205,10 @@ define([
|
||||||
$editor.click(function () {
|
$editor.click(function () {
|
||||||
$('body').removeClass('cp-app-form-results');
|
$('body').removeClass('cp-app-form-results');
|
||||||
$editor.remove();
|
$editor.remove();
|
||||||
addResultsButton(framework, content);
|
sframeChan.query("Q_FORM_FETCH_ANSWERS", content.answers, function (err, obj) {
|
||||||
|
var answers = obj && obj.results;
|
||||||
|
addResultsButton(framework, content, answers);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
$container.prepend($editor);
|
$container.prepend($editor);
|
||||||
});
|
});
|
||||||
|
@ -2239,12 +2249,18 @@ define([
|
||||||
// If responses are public, show button to view them
|
// If responses are public, show button to view them
|
||||||
var responses;
|
var responses;
|
||||||
if (content.answers.privateKey) {
|
if (content.answers.privateKey) {
|
||||||
|
var l = getAnswersLength(answers);
|
||||||
responses = h('button.btn.btn-default', [
|
responses = h('button.btn.btn-default', [
|
||||||
h('i.fa.fa-bar-chart'),
|
h('i.fa.fa-bar-chart'),
|
||||||
h('span.cp-button-name', Messages.form_results)
|
h('span.cp-button-name', Messages._getKey('form_results', [l]))
|
||||||
]);
|
]);
|
||||||
|
var sframeChan = framework._.sfCommon.getSframeChannel();
|
||||||
|
sframeChan.query("Q_FORM_FETCH_ANSWERS", content.answers, function (err, obj) {
|
||||||
|
var answers = obj && obj.results;
|
||||||
|
var l = getAnswersLength(answers);
|
||||||
|
$(responses).find('.cp-button-name').text(Messages._getKey('form_results', [l]));
|
||||||
|
});
|
||||||
$(responses).click(function () {
|
$(responses).click(function () {
|
||||||
var sframeChan = framework._.sfCommon.getSframeChannel();
|
|
||||||
sframeChan.query("Q_FORM_FETCH_ANSWERS", content.answers, function (err, obj) {
|
sframeChan.query("Q_FORM_FETCH_ANSWERS", content.answers, function (err, obj) {
|
||||||
var answers = obj && obj.results;
|
var answers = obj && obj.results;
|
||||||
if (answers) { APP.answers = answers; }
|
if (answers) { APP.answers = answers; }
|
||||||
|
@ -3559,7 +3575,6 @@ define([
|
||||||
}
|
}
|
||||||
|
|
||||||
if (APP.isEditor) {
|
if (APP.isEditor) {
|
||||||
addResultsButton(framework, content);
|
|
||||||
sframeChan.query("Q_FORM_FETCH_ANSWERS", {
|
sframeChan.query("Q_FORM_FETCH_ANSWERS", {
|
||||||
channel: content.answers.channel,
|
channel: content.answers.channel,
|
||||||
validateKey: content.answers.validateKey,
|
validateKey: content.answers.validateKey,
|
||||||
|
@ -3567,6 +3582,7 @@ define([
|
||||||
cantEdit: content.answers.cantEdit
|
cantEdit: content.answers.cantEdit
|
||||||
}, function (err, obj) {
|
}, function (err, obj) {
|
||||||
var answers = obj && obj.results;
|
var answers = obj && obj.results;
|
||||||
|
addResultsButton(framework, content, answers);
|
||||||
if (answers) { APP.answers = answers; }
|
if (answers) { APP.answers = answers; }
|
||||||
checkIntegrity(false);
|
checkIntegrity(false);
|
||||||
updateForm(framework, content, true);
|
updateForm(framework, content, true);
|
||||||
|
|
Loading…
Reference in a new issue