mirror of
https://github.com/e107inc/e107.git
synced 2025-04-21 21:21:54 +02:00
Issue: #2398 e_menu now supports tabs.
This commit is contained in:
parent
53574a61e1
commit
4fa8e47247
@ -192,7 +192,7 @@ TEMPL;
|
||||
var target = window.parent.$('#e-save-form').attr('action');
|
||||
var data = window.parent.$('#e-save-form').serialize();
|
||||
|
||||
// alert(data);
|
||||
// alert(data);
|
||||
// alert(target);
|
||||
$.post(target, data ,function(ret)
|
||||
{
|
||||
|
@ -6223,7 +6223,7 @@ class e_form
|
||||
|
||||
}
|
||||
|
||||
$triggers = vartrue($fdata['triggers'], 'auto');
|
||||
$triggers = (empty($fdata['triggers']) && $fdata['triggers'] !== false) ? 'auto' : $fdata['triggers']; // vartrue($fdata['triggers'], 'auto');
|
||||
if(is_string($triggers) && 'auto' === $triggers)
|
||||
{
|
||||
$triggers = array();
|
||||
@ -6238,42 +6238,45 @@ class e_form
|
||||
$triggers['cancel'] = array(LAN_CANCEL, 'cancel');
|
||||
}
|
||||
|
||||
foreach ($triggers as $trigger => $tdata)
|
||||
if(!empty($triggers))
|
||||
{
|
||||
$text .= ($trigger == 'submit') ? "<div class=' btn-group'>" : "";
|
||||
$text .= $this->admin_button('etrigger_'.$trigger, $tdata[1], $tdata[1], $tdata[0]);
|
||||
|
||||
if($trigger == 'submit' && $submitopt)
|
||||
foreach ($triggers as $trigger => $tdata)
|
||||
{
|
||||
|
||||
$text .=
|
||||
'<button class="btn btn-success dropdown-toggle left" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu col-selection">
|
||||
<li class="dropdown-header nav-header">'.LAN_EFORM_016.'</li>
|
||||
';
|
||||
|
||||
foreach($submitopt as $k=>$v)
|
||||
$text .= ($trigger == 'submit') ? "<div class=' btn-group'>" : "";
|
||||
$text .= $this->admin_button('etrigger_'.$trigger, $tdata[1], $tdata[1], $tdata[0]);
|
||||
|
||||
if($trigger == 'submit' && $submitopt)
|
||||
{
|
||||
$text .= "<li class='after-submit'>".$this->radio('__after_submit_action', $k, $selected == $k, "label=".$v)."</li>";
|
||||
|
||||
$text .=
|
||||
'<button class="btn btn-success dropdown-toggle left" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu col-selection">
|
||||
<li class="dropdown-header nav-header">'.LAN_EFORM_016.'</li>
|
||||
';
|
||||
|
||||
foreach($submitopt as $k=>$v)
|
||||
{
|
||||
$text .= "<li class='after-submit'>".$this->radio('__after_submit_action', $k, $selected == $k, "label=".$v)."</li>";
|
||||
}
|
||||
|
||||
//$text .= '
|
||||
// <li role="menuitem">
|
||||
// <div class="options left" style="padding:5px">
|
||||
// '.$this->radio_multi('__after_submit_action', $submitopt, $selected, true).'
|
||||
// </div></li>';
|
||||
|
||||
|
||||
$text .= '</ul>';
|
||||
}
|
||||
|
||||
$text .= ($trigger == 'submit') ?"</div>" : "";
|
||||
|
||||
if(isset($tdata[2]))
|
||||
{
|
||||
$text .= $this->hidden($trigger.'_value', $tdata[2]);
|
||||
}
|
||||
|
||||
//$text .= '
|
||||
// <li role="menuitem">
|
||||
// <div class="options left" style="padding:5px">
|
||||
// '.$this->radio_multi('__after_submit_action', $submitopt, $selected, true).'
|
||||
// </div></li>';
|
||||
|
||||
|
||||
$text .= '</ul>';
|
||||
}
|
||||
|
||||
$text .= ($trigger == 'submit') ?"</div>" : "";
|
||||
|
||||
if(isset($tdata[2]))
|
||||
{
|
||||
$text .= $this->hidden($trigger.'_value', $tdata[2]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -582,6 +582,43 @@ class e_menuManager {
|
||||
return $link_class;
|
||||
}
|
||||
|
||||
private function menuParamForm($id, $fields,$tabs, e_form $ui, $values=array())
|
||||
{
|
||||
$fields['menu_id'] = array('type'=>'hidden', 'writeParms'=>array('value'=>$id));
|
||||
$fields['mode'] = array('type'=>'hidden', 'writeParms'=>array('value'=>'parms'));
|
||||
|
||||
$forms = $models = array();
|
||||
$forms[] = array(
|
||||
'id' => 'e-save',
|
||||
'header' => '',
|
||||
'footer' => '',
|
||||
'url' => e_SELF,
|
||||
'query' => "lay=".$this->curLayout,
|
||||
'fieldsets' => array(
|
||||
'create' => array(
|
||||
'tabs' => $tabs, //used within a single form.
|
||||
'legend' => '',
|
||||
'fields' => $fields, //see e_admin_ui::$fields
|
||||
'header' => '', //XXX Unused?
|
||||
'footer' => '',
|
||||
'after_submit_options' => '', // or true for default redirect options
|
||||
'after_submit_default' => '', // or true for default redirect options
|
||||
'triggers' => false, // standard create/update-cancel triggers
|
||||
)
|
||||
)
|
||||
);
|
||||
// $models[] = $controller->getModel();
|
||||
$models[] = e107::getModel()->setData($values);
|
||||
|
||||
return $ui->renderCreateForm($forms, $models, e_AJAX_REQUEST);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This one will be greatly extended, allowing menus to offer UI and us
|
||||
* settings per instance later ($parm variable available for menus - same as shortcode's $parm)
|
||||
@ -596,10 +633,12 @@ class e_menuManager {
|
||||
if(!$sql->select("menus", "*", "menu_id=".$id))
|
||||
{
|
||||
$this->menuAddMessage("Couldn't Load Menu",E_MESSAGE_ERROR);
|
||||
return;
|
||||
return null;
|
||||
};
|
||||
$row = $sql->fetch();
|
||||
|
||||
|
||||
|
||||
$text = "<div style='text-align:center;'>
|
||||
<form id='e-save-form' method='post' action='".e_SELF."?lay=".$this->curLayout."'>
|
||||
<fieldset id='core-menus-parametersform'>
|
||||
@ -617,6 +656,9 @@ class e_menuManager {
|
||||
$plug = rtrim($row['menu_path'],'/');
|
||||
$obj = e107::getAddon($plug,'e_menu');
|
||||
|
||||
|
||||
|
||||
|
||||
if(!is_object($obj))
|
||||
{
|
||||
$text .= "<tr><td colspan='2' class='alert alert-danger'>".e107::getParser()->lanVars(MENLAN_46, $plug)."</td></tr>";
|
||||
@ -628,16 +670,27 @@ class e_menuManager {
|
||||
|
||||
$menuName = varset($menuName);
|
||||
$fields = e107::callMethod($obj,'config',$menuName);
|
||||
$tabs = isset($obj->tabs) ? $obj->tabs : array(LAN_CONFIGURE);
|
||||
|
||||
|
||||
if(!$form = e107::getAddon($plug,'e_menu',$plug."_menu_form"))
|
||||
{
|
||||
$form = $frm;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$value = e107::unserialize($row['menu_parms']);
|
||||
|
||||
|
||||
|
||||
|
||||
if(!empty($fields))
|
||||
{
|
||||
|
||||
return $this->menuParamForm($id, $fields,$tabs,$form,$value);
|
||||
/*
|
||||
|
||||
foreach($fields as $k=>$v)
|
||||
{
|
||||
$text .= "<tr><td class='text-left'>".$v['title']."</td>";
|
||||
@ -654,16 +707,20 @@ class e_menuManager {
|
||||
|
||||
}
|
||||
|
||||
if(!empty($v['help']))
|
||||
{
|
||||
$v['writeParms']['title'] = e107::getParser()->toAttribute($v['help']);
|
||||
}
|
||||
|
||||
$text .= "<td class='text-left'>".$form->renderElement($i, $value[$k], $v);
|
||||
|
||||
|
||||
|
||||
if(!empty($v['help']))
|
||||
{
|
||||
//$v['writeParms']['title'] = e107::getParser()->toAttribute($v['help']);
|
||||
$text .= "<div class='field-help'>".$v['help']."</div>";
|
||||
}
|
||||
|
||||
$text .= "</td></tr>";
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user