. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ /** * popupMenu - popupMenu class * * @package workflow.engine.ProcessMaker * @copyright COLOSA */ class popupMenu extends form { var $type = 'popupMenu'; var $theme = 'processmaker'; /** * Print the popup * * @param string $tableId * @param array $tableFields * @return array */ function renderPopup ($tableId, $tableFields) { $this->name = $tableId; $fields = array_keys( $tableFields ); foreach ($fields as $f) { switch (strtolower( $tableFields[$f]['Type'] )) { case 'javascript': case 'button': case 'private': case 'hidden': case 'cellmark': break; default: $label = ($tableFields[$f]['Label'] != '') ? $tableFields[$f]['Label'] : $f; $label = str_replace( "\n", ' ', $label ); $pmXmlNode = new Xml_Node( $f, 'complete', '', array ('label' => $label,'type' => 'popupOption','launch' => $tableId . '.showHideField("' . $f . '")' ) ); $this->fields[$f] = new XmlForm_Field_popupOption( $pmXmlNode ); $this->values[$f] = ''; } } $scTemp = ''; $this->values['PAGED_TABLE_ID'] = $tableId; print (parent::render( PATH_CORE . 'templates/popupMenu.html', $scTemp )) ; $sc = ""; return $sc; } } /** * XmlForm_Field_popupOption - XmlForm_Field_popupOption class * * @package workflow.engine.ProcessMaker * @copyright COLOSA */ class XmlForm_Field_popupOption extends XmlForm_Field { var $launch = ''; /** * Get Events * * @return string */ function getEvents () { $script = '{name:"' . $this->name . '",text:"' . addcslashes( $this->label, '\\"' ) . '", launch:leimnud.closure({Function:function(target){' . $this->launch . '}, args:target})}'; return $script; } }