public function actionAddOrChangeTimeTriggerAttribute($type, $attributeIndexOrDerivedType, $moduleClassName, $id = null, $isBeingCopied = false) { $componentType = TimeTriggerForWorkflowForm::getType(); $postData = PostUtil::getData(); //Special situation since this is coming form GET $postData['ByTimeWorkflowWizardForm']['moduleClassName'] = $moduleClassName; $savedWorkflow = null; $workflow = null; $this->resolveSavedWorkflowAndWorkflowByPostData($postData, $savedWorkflow, $workflow, $type, $id, (bool) $isBeingCopied); $moduleClassName = $workflow->getModuleClassName(); $modelClassName = $moduleClassName::getPrimaryModelName(); $form = new WizardActiveForm(); $form->enableAjaxValidation = true; //ensures error validation populates correctly $form->id = WorkflowWizardView::getFormId(); $wizardFormClassName = WorkflowToWizardFormAdapter::getFormClassNameByType($workflow->getType()); $model = ComponentForWorkflowFormFactory::makeByComponentType($moduleClassName, $modelClassName, $workflow->getType(), $componentType); $form->modelClassNameForError = $wizardFormClassName; $model->attributeIndexOrDerivedType = $attributeIndexOrDerivedType; $inputPrefixData = array($wizardFormClassName, $componentType); $adapter = new WorkflowAttributeToElementAdapter($inputPrefixData, $model, $form, $componentType); $view = new AttributeRowForWorkflowComponentView($adapter, 1, $inputPrefixData, $attributeIndexOrDerivedType, false, true, $componentType); $content = $view->render(); $form->renderAddAttributeErrorSettingsScript($view::getFormId()); Yii::app()->getClientScript()->setToAjaxMode(); Yii::app()->getClientScript()->render($content); echo $content; }
/** * @return string */ protected function renderTimeTriggerContentAndWrapper() { if ($this->model->timeTriggerAttribute != null) { $componentType = TimeTriggerForWorkflowForm::getType(); $inputPrefixData = array(get_class($this->model), $componentType); $adapter = new WorkflowAttributeToElementAdapter($inputPrefixData, $this->model->timeTrigger, $this->form, $componentType); $view = new AttributeRowForWorkflowComponentView($adapter, 1, $inputPrefixData, $this->model->timeTriggerAttribute, false, true, $componentType); $timeTriggerContent = ZurmoHtml::tag('div', array('class' => 'dynamic-rows'), ZurmoHtml::tag('ul', array(), $view->render())); $htmlOptions = array('id' => 'time-trigger-container'); } else { $timeTriggerContent = ZurmoHtml::tag('div', array('class' => 'dynamic-rows'), ZurmoHtml::tag('ul', array(), '')); $htmlOptions = array('id' => 'time-trigger-container', 'style' => 'display:none'); } return ZurmoHtml::tag('div', $htmlOptions, $timeTriggerContent); }
/** * @param integer $rowCount * @param array $componentData * @param bool $trackableStructurePosition * @return array */ protected function renderItems(&$rowCount, $componentData, $trackableStructurePosition = false) { assert('is_int($rowCount)'); assert('is_array($componentData)'); assert('is_bool($trackableStructurePosition)'); $items = array(); $wizardFormClassName = get_class($this->model); foreach ($componentData as $component) { $nodeIdWithoutTreeType = $component->attributeIndexOrDerivedType; $inputPrefixData = WorkflowRelationsAndAttributesToTreeAdapter::resolveInputPrefixData($wizardFormClassName, $this->getTreeType(), $rowCount); $adapter = new WorkflowAttributeToElementAdapter($inputPrefixData, $component, $this->form, $this->getTreeType()); $view = new AttributeRowForWorkflowComponentView($adapter, $rowCount, $inputPrefixData, WorkflowRelationsAndAttributesToTreeAdapter::resolveAttributeByNodeId($nodeIdWithoutTreeType), (bool) $trackableStructurePosition, true, static::getTreeType()); $view->addWrapper = false; $items[] = array('content' => $view->render()); $rowCount++; } return $items; }