[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/layouts/vlayout/modules/Settings/Workflows/resources/ -> Edit2.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  Settings_Workflows_Edit_Js("Settings_Workflows_Edit2_Js",{},{
  10      
  11      step2Container : false,
  12      
  13      advanceFilterInstance : false,
  14      
  15      init : function() {
  16          this.initialize();
  17      },
  18      /**
  19       * Function to get the container which holds all the reports step1 elements
  20       * @return jQuery object
  21       */
  22      getContainer : function() {
  23          return this.step2Container;
  24      },
  25  
  26      /**
  27       * Function to set the reports step1 container
  28       * @params : element - which represents the reports step1 container
  29       * @return : current instance
  30       */
  31      setContainer : function(element) {
  32          this.step2Container = element;
  33          return this;
  34      },
  35      
  36      /**
  37       * Function  to intialize the reports step1
  38       */
  39      initialize : function(container) {
  40          if(typeof container == 'undefined') {
  41              container = jQuery('#workflow_step2');
  42          }
  43          if(container.is('#workflow_step2')) {
  44              this.setContainer(container);
  45          }else{
  46              this.setContainer(jQuery('#workflow_step2'));
  47          }
  48      },
  49      
  50      calculateValues : function(){
  51          //handled advanced filters saved values.
  52          var enableFilterElement = jQuery('#enableAdvanceFilters');
  53          if(enableFilterElement.length > 0 && enableFilterElement.is(':checked') == false) {
  54              jQuery('#advanced_filter').val(jQuery('#olderConditions').val());
  55          } else {
  56              jQuery('[name="filtersavedinnew"]').val("6");
  57              var advfilterlist = this.advanceFilterInstance.getValues();
  58              jQuery('#advanced_filter').val(JSON.stringify(advfilterlist));
  59          }
  60      },
  61      
  62      submit : function(){
  63          var aDeferred = jQuery.Deferred();
  64          var form = this.getContainer();
  65          this.calculateValues();
  66          var formData = form.serializeFormData();
  67          var progressIndicatorElement = jQuery.progressIndicator({
  68              'position' : 'html',
  69              'blockInfo' : {
  70                  'enabled' : true
  71              }
  72          });
  73          AppConnector.request(formData).then(
  74              function(data) {
  75                  form.hide();
  76                  if(data.result) {
  77                      Settings_Vtiger_Index_Js.showMessage({text : app.vtranslate('JS_WORKFLOW_SAVED_SUCCESSFULLY')});
  78                      var workflowRecordElement = jQuery('[name="record"]',form);
  79                      if(workflowRecordElement.val() == '') {
  80                          workflowRecordElement.val(data.result.id);
  81                      }
  82                      var params = {
  83                          module : app.getModuleName(),
  84                          parent : app.getParentModuleName(),
  85                          view : 'Edit',
  86                          mode : 'Step3',
  87                          record : data.result.id
  88                      }
  89                      AppConnector.request(params).then(function(data) {
  90                          aDeferred.resolve(data);
  91                      }); 
  92                  }
  93                  progressIndicatorElement.progressIndicator({
  94                      'mode' : 'hide'
  95                  })
  96              },
  97              function(error,err){
  98  
  99              }
 100          );
 101          return aDeferred.promise();
 102      },
 103      
 104      registerEnableFilterOption : function() {
 105          jQuery('[name="conditionstype"]').on('change',function(e) {
 106              var advanceFilterContainer = jQuery('#advanceFilterContainer');
 107              var currentRadioButtonElement = jQuery(e.currentTarget);
 108              if(currentRadioButtonElement.hasClass('recreate')){
 109                  if(currentRadioButtonElement.is(':checked')){
 110                      advanceFilterContainer.removeClass('zeroOpacity');
 111                  }
 112              } else {
 113                  advanceFilterContainer.addClass('zeroOpacity');
 114              }
 115          });
 116      },
 117      
 118      
 119      
 120      
 121      registerEvents : function(){
 122          var opts = app.validationEngineOptions;
 123          // to prevent the page reload after the validation has completed
 124          opts['onValidationComplete'] = function(form,valid) {
 125              //returns the valid status
 126              return valid;
 127          };
 128          opts['promptPosition'] = "bottomRight";
 129          jQuery('#workflow_step2').validationEngine(opts);
 130  
 131          var container = this.getContainer();
 132          // When you come to step2 we should remove validation for condition values other than rawtwxt
 133          jQuery('button[type="submit"]',container).on('click',function(e){
 134              var fieldUiHolders = jQuery('.fieldUiHolder')
 135              for(var i=0; i<fieldUiHolders.length;i++){
 136                  var fieldUiHolder  = fieldUiHolders[i];
 137                  var fieldValueElement = jQuery('.getPopupUi',fieldUiHolder);
 138                  var valueType = jQuery('[name="valuetype"]',fieldUiHolder).val();
 139                  if(valueType != 'rawtext'){
 140                      fieldValueElement.removeAttr('data-validation-engine');
 141                      fieldValueElement.removeClass('validate[funcCall[Vtiger_Base_Validator_Js.invokeValidation]]');
 142                  }
 143              }
 144          });
 145          app.changeSelectElementView(container);
 146          this.advanceFilterInstance = Vtiger_AdvanceFilter_Js.getInstance(jQuery('.filterContainer',container));
 147          this.getPopUp();
 148          if(jQuery('[name="filtersavedinnew"]',container).val() == '5'){
 149              this.registerEnableFilterOption();
 150          }
 151      }
 152  });


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