Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script>
- var xml;
- var opts = {
- date: ''
- };
- var qmap = {[Element context="current" type="content" key="qmap" htmlencode="false"]}
- var SLUM = (function(){
- var slmbConfig = {
- };
- return {
- init : function(Args) {
- slmbConfig = Args;
- },
- setHandlers: function() {
- $('.slubm-date select').change(function() {
- var s = $(this);
- opts.date = s[0].value;
- SLUM.reRender(opts);
- });
- },
- filterXml: function(data, opts) {
- var modifyXml = data;
- if (opts && opts.date) {
- if (opts.date != 'all') {
- $(modifyXml).find('entry>updated').each(function(){
- var s = $(this);
- if (opts.date != SLUM.convertDate(new Date(s[0].textContent))) {
- $(this).parent().remove();
- }
- });
- }
- }
- return modifyXml;
- },
- reRender: function(opts) {
- var data = SLUM.filterXml(jQuery.clone(xml), opts);
- SLUM.clearResultTable();
- for (var x in qmap) {
- SLUM.showQuestions(data, x);
- }
- if (opts && opts.date !== 'all')
- for (var x in qmap) {
- SLUM.showQuestionsFulltime(xml, x);
- }
- },
- render : function (appId, formId, febhost) {
- SLUM.setHandlers();
- SLUM.getResults(appId, formId, febhost);
- },
- getResults: function (appId, formId, febhost) {
- console.log(appId, formId, febhost);
- var url = window.location.href;
- var arr = url.split("/");
- var protocol = arr[0];
- console.log(protocol);
- $(document).ready(function(){
- $.ajax({
- type: "GET" ,
- url: "[Component id="d9c5e250-f69e-401e-a0a2-8e7fcde14c4e:NC92b3RlIHdlYiBjb250ZW50L3Rlc3QtZGF0YS1zdXJ2ZXkueG1s" name="vote web content/test-data-survey.xml" format="url"]" ,
- //url: protocol + '//' + febhost + '/forms-basic/secure/org/data/' + appId + '/' + formId + '/' ,
- dataType: "xml" ,
- success: function(resp) {
- xml = resp;
- SLUM.showDates(xml);
- for (var x in qmap) {
- SLUM.showQuestions(xml, x);
- }
- }
- });
- });
- },
- showDates: function(xml) {
- var dates = [];
- $(xml).find('entry>updated').each(function(){
- var s = $(this);
- if ($.inArray(SLUM.convertDate(new Date(s[0].textContent)), dates) == -1) {
- dates.push(SLUM.convertDate(new Date(s[0].textContent)));
- }
- });
- var options = $(".slubm-date select");
- dates.forEach(function(value){
- options.append('<option>' + value + '</option>');
- });
- },
- showQuestions: function(xml, questionId) {
- var qty = 0;
- var summ = 0;
- var qtyAns1 = 0;
- var qtyAns2 = 0;
- var qtyAns3 = 0;
- var qtyAns4 = 0;
- var qtyAns5 = 0;
- $(xml).find('entry>content>F_VoiceOfTheEmployee>' + questionId).each(function(){
- var s = $(this);
- qty = qty + 1;
- summ = summ + parseInt(s[0].textContent);
- if (s[0].textContent === '1') {
- qtyAns1 = qtyAns1 + 1;
- }
- if (s[0].textContent === '2') {
- qtyAns2 = qtyAns2 + 1;
- }
- if (s[0].textContent === '3') {
- qtyAns3 = qtyAns3 + 1;
- }
- if (s[0].textContent === '4') {
- qtyAns4 = qtyAns4 + 1;
- }
- if (s[0].textContent === '5') {
- qtyAns5 = qtyAns5 + 1;
- }
- });
- var averagePercent = ((summ/qty)*100)/Object.keys(qmap).length;
- $('#slumb-table tbody').append(
- '<tr id="' + questionId + '">' +
- '<td class="q-name">' + qmap[questionId] + '</td>' +
- '<td class="q-quantity">' + qty + '</td>' +
- '<td class="q-percent1">' + Math.round((qtyAns1/qty) * 100) + '</td>' +
- '<td class="q-percent2">' + Math.round((qtyAns2/qty) * 100) + '</td>' +
- '<td class="q-percent3">' + Math.round((qtyAns3/qty) * 100) + '</td>' +
- '<td class="q-percent4">' + Math.round((qtyAns4/qty) * 100) + '</td>' +
- '<td class="q-percent5">' + Math.round((qtyAns5/qty) * 100) + '</td>' +
- //'<td>' + '<div id="myProgress"><div id="myBar"></div></div>' + (summ/qty).toFixed(2) + '</td>' +
- '<td class="q-average">' + '<div class="slumb-progress"><div class="slumb-bar" style="width:'+averagePercent+'%">' + (summ/qty).toFixed(2) + '</div></div>' + '</td>' +
- '</tr>'
- );
- },
- showQuestionsFulltime: function(xml, questionId) {
- var qty = 0;
- var summ = 0;
- var qtyAns1 = 0;
- var qtyAns2 = 0;
- var qtyAns3 = 0;
- var qtyAns4 = 0;
- var qtyAns5 = 0;
- $(xml).find('entry>content>F_VoiceOfTheEmployee>' + questionId).each(function(){
- var s = $(this);
- qty = qty + 1;
- summ = summ + parseInt(s[0].textContent);
- if (s[0].textContent === '1') {
- qtyAns1 = qtyAns1 + 1;
- }
- if (s[0].textContent === '2') {
- qtyAns2 = qtyAns2 + 1;
- }
- if (s[0].textContent === '3') {
- qtyAns3 = qtyAns3 + 1;
- }
- if (s[0].textContent === '4') {
- qtyAns4 = qtyAns4 + 1;
- }
- if (s[0].textContent === '5') {
- qtyAns5 = qtyAns5 + 1;
- }
- });
- var averagePercent = ((summ/qty)*100)/Object.keys(qmap).length;
- $('#' + questionId + ' .q-quantity').append('<br/>' + qty);
- $('#' + questionId + ' .q-percent1').append('<br/>' + Math.round((qtyAns1/qty) * 100));
- $('#' + questionId + ' .q-percent2').append('<br/>' + Math.round((qtyAns2/qty) * 100));
- $('#' + questionId + ' .q-percent3').append('<br/>' + Math.round((qtyAns3/qty) * 100));
- $('#' + questionId + ' .q-percent4').append('<br/>' + Math.round((qtyAns4/qty) * 100));
- $('#' + questionId + ' .q-percent5').append('<br/>' + Math.round((qtyAns5/qty) * 100));
- $('#' + questionId + ' .q-average').append('<div style="height:1px;"></div><div class="slumb-progress"><div class="slumb-bar" style="width:'+averagePercent+'%">' + (summ/qty).toFixed(2) + '</div></div>');
- },
- clearResultTable: function() {
- $("#slumb-table tbody").html('');
- },
- convertDate: function(date) {
- return (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear();
- }
- };
- }());
- $( document ).ready(function() {
- SLUM.render('[Element context="current" type="content" key="appid"]', '[Element context="current" type="content" key="formid"]', '[Element context="current" type="content" key="febhost"]');
- });
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement