(function (Gravity_Flow_Reports, $) { "use strict"; var stepVars; $(document).ready(function () { stepVars = gravityflowFilterVars.config; var selectedVars = gravityflowFilterVars.selected; var formId = selectedVars.formId; $('#gravityflow-reports-category').toggle(formId ? true : false); if ( formId ) { var category = selectedVars.category; if ( category == 'step' ) { $('#gravityflow-reports-steps').html(getStepOptions(formId)); var stepId = selectedVars.stepId; $('#gravityflow-reports-steps').val(stepId); $('#gravityflow-reports-steps').show(); if ( stepId ) { var assigneeVars = stepVars[formId][stepId].assignees; $('#gravityflow-reports-assignees').html(getAssigneeOptions( assigneeVars ) ); $('#gravityflow-reports-assignees').val(selectedVars.assignee); $('#gravityflow-reports-assignees').show(); } } } $('#gravityflow-form-drop-down').change(function(){ $('#gravityflow-reports-category').toggle( this.value ? true : false); }); $('#gravityflow-reports-category').change(function(){ var formId = $('#gravityflow-form-drop-down').val(); if ( this.value == 'step' ) { $('#gravityflow-reports-steps').html(getStepOptions(formId)); $('#gravityflow-reports-steps').show(); } else { $('#gravityflow-reports-assignees').hide(); $('#gravityflow-reports-steps').hide(); } }); $('#gravityflow-reports-steps').change( function(){ if ( this.value ) { var formId = $('#gravityflow-form-drop-down').val(); var assigneeVars = stepVars[formId][this.value].assignees; $('#gravityflow-reports-assignees').html(getAssigneeOptions( assigneeVars ) ); $('#gravityflow-reports-assignees').show(); } else { $('#gravityflow-reports-assignees').hide(); } }); }); function getStepOptions( formId ){ var m = []; m.push( ''.format( 'All Steps' ) ); var steps = stepVars[formId]; $.each( steps, function ( i, step ){ m.push( ''.format(step.id, step.name ) ); }); return m.join(''); } function getAssigneeOptions( assigneeVars ){ var m = []; m.push( ''.format( 'All Assignees' ) ); for(var i=0; i < assigneeVars.length; i++) { m.push( ''.format(assigneeVars[i].key, assigneeVars[i].name ) ); } return m.join(''); } Gravity_Flow_Reports.drawCharts = function() { $('.gravityflow_chart').each(function () { var $this = $(this); var dataTable = $this.data('table'); var data = google.visualization.arrayToDataTable(dataTable); var options = $this.data('options'); var chartType = $this.data('type'); var chart = new google.charts[chartType]( this ); chart.draw(data, options); }) } String.prototype.format = function () { var args = arguments; return this.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match ; }); }; }(window.Gravity_Flow_Reports = window.Gravity_Flow_Reports || {}, jQuery)); google.load("visualization", "1.1", {packages:["bar"]}); google.setOnLoadCallback(Gravity_Flow_Reports.drawCharts);