作者 Karson

新增iframeForceRefresh强制刷新iframe功能

修复JS未加载完成时点击链接时的BUG
修复不在菜单栏中选项卡刷新后的BUG
优化选项卡刷新后打开的效率
... ... @@ -31,7 +31,7 @@ class Index extends Backend
'dashboard' => 'hot',
'addon' => ['new', 'red', 'badge'],
'auth/rule' => 'side',
'general' => ['18', 'purple'],
'general' => ['new', 'purple'],
], $this->view->site['fixedpage']);
$this->view->assign('menulist', $menulist);
$this->view->assign('title', __('Home'));
... ...
... ... @@ -266,8 +266,7 @@ class Tree
$selected = $selectedids && in_array($id, (is_array($selectedids) ? $selectedids : explode(',', $selectedids))) ? 'selected' : '';
$disabled = $disabledids && in_array($id, (is_array($disabledids) ? $disabledids : explode(',', $disabledids))) ? 'disabled' : '';
$value = array_merge($value, array('selected' => $selected, 'disabled' => $disabled, 'spacer' => $spacer));
$value = array_combine(array_map(function($k)
{
$value = array_combine(array_map(function($k) {
return '@' . $k;
}, array_keys($value)), $value);
$nstr = strtr((($value["@{$this->pidname}"] == 0 || $this->getChild($id) ) && $toptpl ? $toptpl : $itemtpl), $value);
... ... @@ -303,8 +302,7 @@ class Tree
$selected = $selectedids && in_array($id, (is_array($selectedids) ? $selectedids : explode(',', $selectedids))) ? 'selected' : '';
$disabled = $disabledids && in_array($id, (is_array($disabledids) ? $disabledids : explode(',', $disabledids))) ? 'disabled' : '';
$value = array_merge($value, array('selected' => $selected, 'disabled' => $disabled));
$value = array_combine(array_map(function($k)
{
$value = array_combine(array_map(function($k) {
return '@' . $k;
}, array_keys($value)), $value);
$nstr = strtr($itemtpl, $value);
... ... @@ -340,8 +338,7 @@ class Tree
$selected = in_array($id, (is_array($selectedids) ? $selectedids : explode(',', $selectedids))) ? 'selected' : '';
$disabled = in_array($id, (is_array($disabledids) ? $disabledids : explode(',', $disabledids))) ? 'disabled' : '';
$value = array_merge($value, array('selected' => $selected, 'disabled' => $disabled));
$value = array_combine(array_map(function($k)
{
$value = array_combine(array_map(function($k) {
return '@' . $k;
}, array_keys($value)), $value);
$bakvalue = array_intersect_key($value, array_flip(['@url', '@caret', '@class']));
... ... @@ -353,7 +350,7 @@ class Tree
$childlist = strtr($childlist, array('@class' => $childdata ? 'last' : ''));
$value = array(
'@childlist' => $childlist,
'@url' => $childdata || !isset($value['@url']) ? "javascript:;" : url($value['@url']),
'@url' => $childdata || !isset($value['@url']) ? "javascript:;" : url($value['@url']) . (stripos($value['@url'], "?") !== false ? "&" : "?") . "ref=addtabs",
'@caret' => ($childdata && (!isset($value['@badge']) || !$value['@badge']) ? '<i class="fa fa-angle-left"></i>' : ''),
'@badge' => isset($value['@badge']) ? $value['@badge'] : '',
'@class' => ($selected ? ' active' : '') . ($disabled ? ' disabled' : '') . ($childdata ? ' treeview' : ''),
... ... @@ -398,8 +395,7 @@ class Tree
$selected = $selectedids && in_array($id, (is_array($selectedids) ? $selectedids : explode(',', $selectedids))) ? 'selected' : '';
$disabled = $disabledids && in_array($id, (is_array($disabledids) ? $disabledids : explode(',', $disabledids))) ? 'disabled' : '';
$value = array_merge($value, array('selected' => $selected, 'disabled' => $disabled, 'spacer' => $spacer));
$value = array_combine(array_map(function($k)
{
$value = array_combine(array_map(function($k) {
return '@' . $k;
}, array_keys($value)), $value);
$nstr = strtr(!isset($value['@disabled']) || !$value['@disabled'] ? $itemtpl1 : $itemtpl2, $value);
... ...
... ... @@ -178,15 +178,23 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'adminlte', 'form'], functi
}
});
//绑定tabs事件
$('#nav').addtabs({iframeHeight: "100%"});
//绑定tabs事件,如果需要点击强制刷新iframe,则请将iframeForceRefresh置为true
$('#nav').addtabs({iframeHeight: "100%", iframeForceRefresh: false});
var addtabs = localStorage.getItem("addtabs");
if ($("ul.sidebar-menu li.active a").size() > 0) {
$("ul.sidebar-menu li.active a").trigger("click");
} else {
$("ul.sidebar-menu li a[url!='javascript:;']:first").trigger("click");
}
if (Config.referer) {
if (addtabs) {
var active = $("ul.sidebar-menu li a[addtabs=" + $(addtabs).attr("addtabs") + "]");
if (active.size() > 0) {
active.trigger("click");
} else {
$(addtabs).appendTo(document.body).addClass("hide").trigger("click");
}
} else if (Config.referer) {
//刷新页面后跳到到刷新前的页面
Backend.api.addtabs(Config.referer);
}
... ...