protected function getParameterWidgetOptions()
 {
     $options = [];
     $options['ajaxSettings']['url'] = Url::to($this->url);
     $options['ajaxSettings']['type'] = $this->ajaxRequestType;
     $options['autoRun'] = $this->autoRun;
     $options['autoShow'] = $this->autoShow;
     $options['reloadPage'] = $this->reloadPage;
     $options['collapseOnRun'] = $this->collapseOnRun;
     $options['comparisons'] = Comparison::getComparisonList();
     $options['types'] = Type::getTypeList();
     $options['loaderElement'] = '#' . $this->loadingWidgetID;
     $options['language'] = $this->getLanguageStrings();
     foreach ($this->parameters as $parameter) {
         /** @var Parameter $parameter */
         if ($parameter->getKey() !== null) {
             $options['parameters'][$parameter->getKey()] = $parameter->getJsObject();
         } else {
             $options['parameters'][] = $parameter->getJsObject();
         }
     }
     return Json::htmlEncode($options);
 }
 public function isValidComparison()
 {
     $comparisons = $this->getAvailableComparisons();
     if ($comparisons === null) {
         $comparisons = Type::getTypeList()[$this->getTypeHandle()]['comparisons'];
     }
     return ($this->getComparison() & $comparisons) == $this->getComparison();
 }