コード例 #1
0
 /**
  * @return array
  */
 protected static function getOperatorsWhereValueIsRequired()
 {
     return OperatorRules::getOperatorsWhereValueIsRequired();
 }
コード例 #2
0
 /**
  * @param bool $isTimeTrigger
  * @return string
  * @throws NotSupportedException if the valueElementType is null
  */
 protected function getContentForTimeTriggerOrTrigger($isTimeTrigger = false)
 {
     $params = array('inputPrefix' => $this->inputPrefixData);
     $valueElementType = $this->model->getValueElementType();
     if ($this->model->hasAvailableOperatorsType()) {
         $operatorElement = $this->resolveOperatorElementForMultiSelectDropDown($valueElementType, $params);
         $operatorElement->editableTemplate = '{content}{error}';
         $operatorContent = $operatorElement->render();
     } else {
         $operatorContent = null;
     }
     if ($valueElementType != null) {
         $valueElementClassName = $valueElementType . 'Element';
         $valueElement = new $valueElementClassName($this->model, 'value', $this->form, $params);
         if ($valueElement instanceof NameIdElement) {
             $valueElement->setIdAttributeId('value');
             $valueElement->setNameAttributeName('stringifiedModelForValue');
             $valueElement->doNotHideSelectLinkWhenDisabled();
         }
         if ($valueElement instanceof MixedNumberTypesElement) {
             $valueElement->editableTemplate = '<div class="value-data">{content}{error}</div>';
         } elseif ($valueElement instanceof MixedDateTypesElement) {
             if ($isTimeTrigger) {
                 $valueElement->editableTemplate = '<div class="dynamic-row-operator" style="display:none;">{valueType}</div>' . '<div class="value-data has-date-inputs">' . '<div class="first-value-area">{content}{error}</div></div>';
             } else {
                 $valueElement->editableTemplate = '<div class="dynamic-row-operator">{valueType}</div>' . '<div class="value-data has-date-inputs">' . '<div class="first-value-area">{content}{error}</div></div>';
             }
         } else {
             $startingDivStyleFirstValue = null;
             if (!in_array($this->model->getOperator(), OperatorRules::getOperatorsWhereValueIsRequired()) && $this->model->getOperator() != null) {
                 $startingDivStyleFirstValue = "display:none;";
                 $valueElement->params['disabled'] = 'disabled';
             }
             $valueElement->editableTemplate = '<div class="value-data"><div class="first-value-area" style="' . $startingDivStyleFirstValue . '">{content}{error}</div></div>';
         }
         $valueContent = $valueElement->render();
     } else {
         throw new NotSupportedException();
     }
     $content = $this->renderAttributeIndexOrDerivedType();
     self::resolveDivWrapperForContent($this->model->getDisplayLabel(), $content, 'dynamic-row-label');
     self::resolveDivWrapperForContent($operatorContent, $content, 'dynamic-row-operator');
     $content .= $valueContent;
     return $content;
 }