PATH:
home
/
letacommog
/
crmleta
/
layouts
/
v7
/
modules
/
Reports
/
resources
/*+*********************************************************************************** * The contents of this file are subject to the vtiger CRM Public License Version 1.0 * ("License"); You may not use this file except in compliance with the License * The Original Code is: vtiger CRM Open Source * The Initial Developer of the Original Code is vtiger. * Portions created by vtiger are Copyright (C) vtiger. * All Rights Reserved. *************************************************************************************/ Vtiger_Detail_Js("Reports_Detail_Js",{},{ advanceFilterInstance : false, detailViewContentHolder : false, HeaderContentsHolder : false, detailViewForm : false, getForm : function() { if(this.detailViewForm == false) { this.detailViewForm = jQuery('form#detailView'); } }, getRecordId : function(){ return app.getRecordId(); }, getContentHolder : function() { if(this.detailViewContentHolder == false) { this.detailViewContentHolder = jQuery('div.editViewPageDiv'); } return this.detailViewContentHolder; }, getHeaderContentsHolder : function(){ if(this.HeaderContentsHolder == false) { this.HeaderContentsHolder = jQuery('div.reportsDetailHeader '); } return this.HeaderContentsHolder; }, calculateValues : function(){ //handled advanced filters saved values. var advfilterlist = this.advanceFilterInstance.getValues(); return JSON.stringify(advfilterlist); }, registerSaveOrGenerateReportEvent : function(){ var thisInstance = this; jQuery('.generateReport').on('click',function(e){ e.preventDefault(); var advFilterCondition = thisInstance.calculateValues(); var recordId = thisInstance.getRecordId(); var currentMode = jQuery(e.currentTarget).data('mode'); var postData = { 'advanced_filter': advFilterCondition, 'record' : recordId, 'view' : "SaveAjax", 'module' : app.getModuleName(), 'mode' : currentMode }; app.helper.showProgress(); app.request.post({data:postData}).then( function(error,data){ app.helper.hideProgress(); thisInstance.getContentHolder().find('#reportContentsDiv').html(data); jQuery('.reportActionButtons').addClass('hide'); // app.helper.showHorizontalScroll(jQuery('#reportDetails')); // To get total records count var count = parseInt(jQuery('#updatedCount').val()); thisInstance.generateReportCount(count); } ); }); }, registerEventsForActions : function() { var thisInstance = this; jQuery('.reportActions').click(function(e){ var element = jQuery(e.currentTarget); var href = element.data('href'); var type = element.attr("name"); var advFilterCondition = thisInstance.calculateValues(); var headerContainer = thisInstance.getHeaderContentsHolder(); if(type.indexOf("Print") != -1){ var newEle = '<form action='+href+' method="POST" target="_blank">\n\ <input type = "hidden" name ="'+csrfMagicName+'" value=\''+csrfMagicToken+'\'>\n\ <input type="hidden" value="" name="advanced_filter" id="advanced_filter" /></form>'; }else{ newEle = '<form action='+href+' method="POST">\n\ <input type = "hidden" name ="'+csrfMagicName+'" value=\''+csrfMagicToken+'\'>\n\ <input type="hidden" value="" name="advanced_filter" id="advanced_filter" /></form>'; } var ele = jQuery(newEle); var form = ele.appendTo(headerContainer); form.find('#advanced_filter').val(advFilterCondition); form.submit(); }) }, generateReportCount : function(count){ var thisInstance = this; var advFilterCondition = thisInstance.calculateValues(); var recordId = thisInstance.getRecordId(); var reportLimit = parseInt(jQuery("#reportLimit").val()); if(count < reportLimit){ jQuery('#countValue').text(count); jQuery('#moreRecordsText').addClass('hide'); }else{ jQuery('#countValue').html('<img src="layouts/v7/skins/images/loading.gif">'); var params = { 'module' : app.getModuleName(), 'advanced_filter': advFilterCondition, 'record' : recordId, 'action' : "DetailAjax", 'mode': "getRecordsCount" }; jQuery('.generateReport').attr("disabled","disabled"); app.request.post({data:params}).then( function(error,data){ jQuery('.generateReport').removeAttr("disabled"); var count = parseInt(data); jQuery('#countValue').text(count); if(count > reportLimit) jQuery('#moreRecordsText').removeClass('hide'); else jQuery('#moreRecordsText').addClass('hide'); } ); } }, registerConditionBlockChangeEvent : function() { jQuery('.reportsDetailHeader').find('#groupbyfield,#datafields,[name="columnname"],[name="comparator"]').on('change', function() { jQuery('.reportActionButtons').removeClass('hide'); }); jQuery('.fieldUiHolder').find('[data-value="value"]').on('change input', function() { jQuery('.reportActionButtons').removeClass('hide'); }); jQuery('.deleteCondition').on('click', function() { jQuery('.reportActionButtons').removeClass('hide'); }); jQuery(document).on('datepicker-change', function() { jQuery('.reportActionButtons').removeClass('hide'); }); }, registerEventForModifyCondition : function() { jQuery('button[name=modify_condition]').on('click', function(e) { var icon = jQuery(e.currentTarget).find('i'); var isClassExist = jQuery(icon).hasClass('fa-chevron-right'); if(isClassExist) { jQuery(e.currentTarget).find('i').removeClass('fa-chevron-right').addClass('fa-chevron-down'); jQuery('#filterContainer').removeClass('hide').show('slow'); } else { jQuery(e.currentTarget).find('i').removeClass('fa-chevron-down').addClass('fa-chevron-right'); jQuery('#filterContainer').addClass('hide').hide('slow'); } return false; }); }, registerEvents : function(){ this.registerSaveOrGenerateReportEvent(); this.registerEventsForActions(); var container = this.getContentHolder(); this.advanceFilterInstance = Vtiger_AdvanceFilter_Js.getInstance(jQuery('.filterContainer',container)); this.generateReportCount(parseInt(jQuery("#countValue").text())); this.registerConditionBlockChangeEvent(); this.registerEventForModifyCondition(); } });
[+]
..
[-] ChartEdit3.js
[edit]
[-] ChartEdit2.js
[edit]
[-] ChartEdit1.js
[edit]
[-] List.js
[edit]
[-] ChartDetail.js
[edit]
[-] Edit3.js
[edit]
[-] Edit2.js
[edit]
[-] Edit1.js
[edit]
[-] Detail.js
[edit]
[-] ChartEdit.js
[edit]
[-] Edit.js
[edit]