original_string: public function onFilterUpdate()
      {
          $this->defineFilterScopes();
  
          if (!$scope = post('scopeName')) {
              return;
          }
  
          $scope = $this->getScope($scope);
  
          switch ($scope->type) {
              case 'group':
                  $active = $this->optionsFromAjax(post('options.active'));
                  $this->setScopeValue($scope, $active);
                  break;
  
              case 'checkbox':
                  $checked = post('value') == 'true';
                  $this->setScopeValue($scope, $checked);
                  break;
  
              case 'switch':
                  $value = post('value');
                  $this->setScopeValue($scope, $value);
                  break;
  
              case 'date':
                  $dates = $this->datesFromAjax(post('options.dates'));
  
                  if (!empty($dates)) {
                      list($date) = $dates;
                  }
                  else {
                      $date = null;
                  }
  
                  $this->setScopeValue($scope, $date);
                  break;
  
              case 'daterange':
                  $dates = $this->datesFromAjax(post('options.dates'));
  
                  if (!empty($dates)) {
                      list($after, $before) = $dates;
  
                      $dates = [$after, $before];
                  }
                  else {
                      $dates = null;
                  }
  
                  $this->setScopeValue($scope, $dates);
                  break;
  
              case 'number':
                  $numbers = $this->numbersFromAjax(post('options.numbers'));
  
                  if (!empty($numbers)) {
                      list($number) = $numbers;
                  }
                  else {
                      $number = null;
                  }
  
                  $this->setScopeValue($scope, $number);
                  break;
  
              case 'numberrange':
                  $numbers = $this->numbersFromAjax(post('options.numbers'));
  
                  if (!empty($numbers)) {
                      list($min, $max) = $numbers;
  
                      $numbers = [$min, $max];
                  }
                  else {
                      $numbers = null;
                  }
  
                  $this->setScopeValue($scope, $numbers);
                  break;
  
              case 'text':
                  $values = post('options.value');
  
                  if ($values !== null && $values !== '') {
                      list($value) = $values;
                  }
                  else {
                      $value = null;
                  }
  
                  $this->setScopeValue($scope, $value);
                  break;
          }
  
          /*
           * Trigger class event, merge results as viewable array
           */
          $params = func_get_args();
  
          $result = $this->fireEvent('filter.update', [$params]);
  
          if ($result && is_array($result)) {
              return call_user_func_array('array_merge', $result);
          }
      }
code: public function onFilterUpdate()
      {
          $this->defineFilterScopes();
  
          if (!$scope = post('scopeName')) {
              return;
          }
  
          $scope = $this->getScope($scope);
  
          switch ($scope->type) {
              case 'group':
                  $active = $this->optionsFromAjax(post('options.active'));
                  $this->setScopeValue($scope, $active);
                  break;
  
              case 'checkbox':
                  $checked = post('value') == 'true';
                  $this->setScopeValue($scope, $checked);
                  break;
  
              case 'switch':
                  $value = post('value');
                  $this->setScopeValue($scope, $value);
                  break;
  
              case 'date':
                  $dates = $this->datesFromAjax(post('options.dates'));
  
                  if (!empty($dates)) {
                      list($date) = $dates;
                  }
                  else {
                      $date = null;
                  }
  
                  $this->setScopeValue($scope, $date);
                  break;
  
              case 'daterange':
                  $dates = $this->datesFromAjax(post('options.dates'));
  
                  if (!empty($dates)) {
                      list($after, $before) = $dates;
  
                      $dates = [$after, $before];
                  }
                  else {
                      $dates = null;
                  }
  
                  $this->setScopeValue($scope, $dates);
                  break;
  
              case 'number':
                  $numbers = $this->numbersFromAjax(post('options.numbers'));
  
                  if (!empty($numbers)) {
                      list($number) = $numbers;
                  }
                  else {
                      $number = null;
                  }
  
                  $this->setScopeValue($scope, $number);
                  break;
  
              case 'numberrange':
                  $numbers = $this->numbersFromAjax(post('options.numbers'));
  
                  if (!empty($numbers)) {
                      list($min, $max) = $numbers;
  
                      $numbers = [$min, $max];
                  }
                  else {
                      $numbers = null;
                  }
  
                  $this->setScopeValue($scope, $numbers);
                  break;
  
              case 'text':
                  $values = post('options.value');
  
                  if ($values !== null && $values !== '') {
                      list($value) = $values;
                  }
                  else {
                      $value = null;
                  }
  
                  $this->setScopeValue($scope, $value);
                  break;
          }
  
          /*
           * Trigger class event, merge results as viewable array
           */
          $params = func_get_args();
  
          $result = $this->fireEvent('filter.update', [$params]);
  
          if ($result && is_array($result)) {
              return call_user_func_array('array_merge', $result);
          }
      }
code_tokens: public function onFilterUpdate ( ) { $ this -> defineFilterScopes ( ) ; if ( ! $ scope = post ( 'scopeName' ) ) { return ; } $ scope = $ this -> getScope ( $ scope ) ; switch ( $ scope -> type ) { case 'group' : $ active = $ this -> optionsFromAjax ( post ( 'options.active' ) ) ; $ this -> setScopeValue ( $ scope , $ active ) ; break ; case 'checkbox' : $ checked = post ( 'value' ) == 'true' ; $ this -> setScopeValue ( $ scope , $ checked ) ; break ; case 'switch' : $ value = post ( 'value' ) ; $ this -> setScopeValue ( $ scope , $ value ) ; break ; case 'date' : $ dates = $ this -> datesFromAjax ( post ( 'options.dates' ) ) ; if ( ! empty ( $ dates ) ) { list ( $ date ) = $ dates ; } else { $ date = null ; } $ this -> setScopeValue ( $ scope , $ date ) ; break ; case 'daterange' : $ dates = $ this -> datesFromAjax ( post ( 'options.dates' ) ) ; if ( ! empty ( $ dates ) ) { list ( $ after , $ before ) = $ dates ; $ dates = [ $ after , $ before ] ; } else { $ dates = null ; } $ this -> setScopeValue ( $ scope , $ dates ) ; break ; case 'number' : $ numbers = $ this -> numbersFromAjax ( post ( 'options.numbers' ) ) ; if ( ! empty ( $ numbers ) ) { list ( $ number ) = $ numbers ; } else { $ number = null ; } $ this -> setScopeValue ( $ scope , $ number ) ; break ; case 'numberrange' : $ numbers = $ this -> numbersFromAjax ( post ( 'options.numbers' ) ) ; if ( ! empty ( $ numbers ) ) { list ( $ min , $ max ) = $ numbers ; $ numbers = [ $ min , $ max ] ; } else { $ numbers = null ; } $ this -> setScopeValue ( $ scope , $ numbers ) ; break ; case 'text' : $ values = post ( 'options.value' ) ; if ( $ values !== null && $ values !== '' ) { list ( $ value ) = $ values ; } else { $ value = null ; } $ this -> setScopeValue ( $ scope , $ value ) ; break ; } /*
           * Trigger class event, merge results as viewable array
           */ $ params = func_get_args ( ) ; $ result = $ this -> fireEvent ( 'filter.update' , [ $ params ] ) ; if ( $ result && is_array ( $ result ) ) { return call_user_func_array ( 'array_merge' , $ result ) ; } }
docstring: Update a filter scope value.
  @return array
docstring_tokens: Update a filter scope value .