[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/layouts/vlayout/modules/Settings/Groups/resources/ -> Edit.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  Settings_Vtiger_Edit_Js('Settings_Groups_Edit_Js', {}, {
  11      memberSelectElement : false,
  12      
  13      getMemberSelectElement : function () {
  14          if(this.memberSelectElement == false) {
  15              this.memberSelectElement = jQuery('#memberList');
  16          }
  17          return this.memberSelectElement;
  18      },
  19      /**
  20       * Function to register event for select2 element
  21       */
  22      registerEventForSelect2Element : function(){
  23          var editViewForm = this.getForm();
  24          var selectElement = this.getMemberSelectElement();
  25          var params = {};
  26          params.dropdownCss = {'z-index' : 0};
  27          params.formatSelection = function(object,container){
  28              var selectedId = object.id;
  29              var selectedOptionTag = editViewForm.find('option[value="'+selectedId+'"]');
  30              var selectedMemberType = selectedOptionTag.data('memberType');
  31              container.addClass(selectedMemberType);
  32              var element = '<div>'+selectedOptionTag.text()+'</div>';
  33              return element;
  34          }
  35          app.changeSelectElementView(selectElement, 'select2',params);
  36      },
  37      
  38      /**
  39       * Function to register form for validation
  40       */
  41      registerFormForValidation : function(){
  42          var editViewForm = this.getForm();
  43          editViewForm.validationEngine(app.getvalidationEngineOptions(true));
  44      },
  45      
  46      /**
  47       * Function to register the submit event of form
  48       */
  49      registerSubmitEvent : function() {
  50          var thisInstance = this;
  51          var form = jQuery('#EditView');
  52          form.on('submit',function(e) {
  53              if(form.data('submit') == 'true' && form.data('performCheck') == 'true') {
  54                  return true;
  55              } else {
  56                  if(form.data('jqv').InvalidFields.length <= 0) {
  57                      var formData = form.serializeFormData();
  58                      thisInstance.checkDuplicateName({
  59                          'groupname' : formData.groupname,
  60                          'record' : formData.record
  61                      }).then(
  62                          function(data){
  63                              form.data('submit', 'true');
  64                              form.data('performCheck', 'true');
  65                              form.submit();
  66                          },
  67                          function(data, err){
  68                              var params = {};
  69                              params['text'] = data['message'];
  70                              params['type'] = 'error';
  71                              Settings_Vtiger_Index_Js.showMessage(params);
  72                              return false;
  73                          }
  74                      );
  75                  } else {
  76                      //If validation fails, form should submit again
  77                      form.removeData('submit');
  78                      // to avoid hiding of error message under the fixed nav bar
  79                      app.formAlignmentAfterValidation(form);
  80                  }
  81                  e.preventDefault();
  82              }
  83          });
  84      },
  85      
  86      /*
  87       * Function to check Duplication of Group Names
  88       * returns boolean true or false
  89       */
  90      checkDuplicateName : function(details) {
  91          var aDeferred = jQuery.Deferred();
  92          
  93          var params = {
  94          'module' : app.getModuleName(),
  95          'parent' : app.getParentModuleName(),
  96          'action' : 'EditAjax',
  97          'mode'   : 'checkDuplicate',
  98          'groupname' : details.groupname,
  99          'record' : details.record
 100          }
 101          
 102          AppConnector.request(params).then(
 103              function(data) {
 104                  var response = data['result'];
 105                  var result = response['success'];
 106                  if(result == true) {
 107                      aDeferred.reject(response);
 108                  } else {
 109                      aDeferred.resolve(response);
 110                  }
 111              },
 112              function(error,err){
 113                  aDeferred.reject();
 114              }
 115          );
 116          return aDeferred.promise();
 117      },
 118      
 119      /**
 120       * Function which will handle the registrations for the elements 
 121       */
 122      registerEvents : function() {
 123          this._super();
 124          this.registerEventForSelect2Element();
 125          this.registerSubmitEvent();
 126      }
 127  });


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