[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/layouts/vlayout/modules/Reports/resources/ -> Detail.js (source)

   1  /*+***********************************************************************************
   2   * The contents of this file are subject to the vtiger CRM Public License Version 1.0
   3   * ("License"); You may not use this file except in compliance with the License
   4   * The Original Code is:  vtiger CRM Open Source
   5   * The Initial Developer of the Original Code is vtiger.
   6   * Portions created by vtiger are Copyright (C) vtiger.
   7   * All Rights Reserved.
   8   *************************************************************************************/
   9  
  10  Vtiger_Detail_Js("Reports_Detail_Js",{},{
  11      advanceFilterInstance : false,
  12      detailViewContentHolder : false,
  13      HeaderContentsHolder : false, 
  14      
  15      
  16      getContentHolder : function() {
  17          if(this.detailViewContentHolder == false) {
  18              this.detailViewContentHolder = jQuery('div.contentsDiv');
  19          }
  20          return this.detailViewContentHolder;
  21      },
  22      
  23      getHeaderContentsHolder : function(){
  24          if(this.HeaderContentsHolder == false) {
  25              this.HeaderContentsHolder = jQuery('div.reportsDetailHeader ');
  26          }
  27          return this.HeaderContentsHolder;
  28      },
  29      
  30      calculateValues : function(){
  31          //handled advanced filters saved values.
  32          var advfilterlist = this.advanceFilterInstance.getValues();
  33          return JSON.stringify(advfilterlist);
  34      },
  35          
  36      registerSaveOrGenerateReportEvent : function(){
  37          var thisInstance = this;
  38          jQuery('.generateReport').on('click',function(e){
  39              e.preventDefault();
  40              var advFilterCondition = thisInstance.calculateValues();
  41              var recordId = thisInstance.getRecordId();
  42              var currentMode = jQuery(e.currentTarget).data('mode');
  43              var postData = {
  44                  'advanced_filter': advFilterCondition,
  45                  'record' : recordId,
  46                  'view' : "SaveAjax",
  47                  'module' : app.getModuleName(),
  48                  'mode' : currentMode
  49              };
  50              var form = thisInstance.getForm();
  51              var result = form.validationEngine('validate');
  52              if(result === true) {
  53                  var progressIndicatorElement = jQuery.progressIndicator({
  54                  });
  55                  AppConnector.request(postData).then(
  56                      function(data){
  57                          progressIndicatorElement.progressIndicator({mode:'hide'})
  58                          thisInstance.getContentHolder().find('#reportContentsDiv').html(data);
  59                          Vtiger_Helper_Js.showHorizontalTopScrollBar();
  60  
  61                          // To get total records count
  62                          var count  = parseInt(jQuery('#updatedCount').val());
  63                          if(count < 1000){
  64                              jQuery('#countValue').text(count);
  65                              jQuery('#moreRecordsText').hide();
  66                          }else{        
  67                              jQuery('#countValue').html('<img src="layouts/vlayout/skins/images/loading.gif">');
  68                              var params = {
  69                                  'module' : app.getModuleName(),
  70                                  'advanced_filter': advFilterCondition,
  71                                  'record' : recordId,
  72                                  'action' : "DetailAjax",
  73                                  'mode': "getRecordsCount"
  74                              };
  75                              AppConnector.request(params).then(
  76                                  function(data){
  77                                      var count = parseInt(data.result);
  78                                      jQuery('#countValue').text(count);
  79                                      if(count > 1000)
  80                                          jQuery('#moreRecordsText').show();
  81                                      else
  82                                          jQuery('#moreRecordsText').hide();
  83                                  }
  84                              );
  85                          }
  86                      }
  87                  );
  88              }
  89          });
  90      },
  91      
  92      registerEventsForActions : function() {
  93        var thisInstance = this;
  94        jQuery('.reportActions').click(function(e){
  95          var element = jQuery(e.currentTarget); 
  96          var href = element.data('href');
  97          var type = element.attr("name");
  98          var advFilterCondition = thisInstance.calculateValues();
  99          var headerContainer = thisInstance.getHeaderContentsHolder();
 100          if(type.indexOf("Print") != -1){
 101              var newEle = '<form action='+href+' method="POST" target="_blank">'+
 102                      '<input type = "hidden" name ="'+csrfMagicName+'"  value=\''+csrfMagicToken+'\'>'+
 103                   '<input type="hidden" value="" name="advanced_filter" id="advanced_filter" /></form>'; 
 104          }else{
 105              newEle = '<form action='+href+' method="POST">'+
 106                      '<input type = "hidden" name ="'+csrfMagicName+'"  value=\''+csrfMagicToken+'\'>'+
 107                   '<input type="hidden" value="" name="advanced_filter" id="advanced_filter" /></form>'; 
 108          }
 109          var ele = jQuery(newEle); 
 110          var form = ele.appendTo(headerContainer);
 111          form.find('#advanced_filter').val(advFilterCondition); 
 112          form.submit();
 113        })  
 114      },
 115      
 116      registerEvents : function(){
 117          this._super();
 118          this.registerSaveOrGenerateReportEvent();
 119          this.registerEventsForActions();
 120          var container = this.getContentHolder();
 121          this.advanceFilterInstance = Vtiger_AdvanceFilter_Js.getInstance(jQuery('.filterContainer',container));
 122      }
 123  });


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1