protected function registerTypeChangeScript() { Yii::app()->clientScript->registerScript('actionAttributeTypeChangeRules', "\n \$('.actionAttributeType').live('change', function()\n {\n arr = " . CJSON::encode(WorkflowActionAttributeTypeStaticDropDownElement::getValueTypesRequiringFirstInput()) . ";\n arr2 = " . CJSON::encode(WorkflowActionAttributeTypeStaticDropDownElement::getValueTypesRequiringSecondInput()) . ";\n var firstValueArea = \$(this).parent().parent().parent().find('.value-data').find('.first-value-area');\n var secondValueArea = \$(this).parent().parent().parent().find('.value-data').find('.second-value-area');\n if (\$.inArray(\$(this).val(), arr) != -1)\n {\n firstValueArea.show();\n firstValueArea.find(':input, select').prop('disabled', false);\n }\n else\n {\n firstValueArea.hide();\n firstValueArea.find(':input, select').prop('disabled', true);\n }\n if (\$.inArray(\$(this).val(), arr2) != -1)\n {\n secondValueArea.show();\n secondValueArea.find(':input, select').prop('disabled', false);\n }\n else\n {\n secondValueArea.hide();\n secondValueArea.find(':input, select').prop('disabled', true);\n }\n }\n );\n "); }
/** * @return A|string */ protected function renderTypeContent() { $typeValuesAndLabels = $this->model->getTypeValuesAndLabels($this->isCreatingNewModel(), $this->isAttributeRequired); if (count($typeValuesAndLabels) > 1) { $params = array('inputPrefix' => $this->inputPrefixData, 'typeValuesAndLabels' => $typeValuesAndLabels); $typeElement = new WorkflowActionAttributeTypeStaticDropDownElement($this->model, 'type', $this->form, $params); $typeElement->editableTemplate = '{content}{error}'; return $typeElement->render(); } else { $label = reset($typeValuesAndLabels); $name = Element::resolveInputNamePrefixIntoString($this->inputPrefixData) . '[type]'; $id = Element::resolveInputIdPrefixIntoString($this->inputPrefixData) . 'type'; $htmlOptions = array('id' => $id); $content = ZurmoHtml::tag('span', array(), $label); $content .= ZurmoHtml::hiddenField($name, key($typeValuesAndLabels), $htmlOptions); return $content; } }