* refactor.
This commit is contained in:
@@ -63,7 +63,9 @@ programmenu
|
||||
(
|
||||
'title' => '所有项目集',
|
||||
'subTitle' => '筛选项目集',
|
||||
'programs' => $data
|
||||
'programs' => $data,
|
||||
'activeKey' => '7',
|
||||
'closeLink' => '#'
|
||||
)
|
||||
)
|
||||
);
|
||||
@@ -75,9 +77,11 @@ modulemenu
|
||||
array
|
||||
(
|
||||
'productID' => 1,
|
||||
'title' => '所有分类',
|
||||
'title' => '售后服务',
|
||||
'moduleSettingText' => '模块设置',
|
||||
'displaySettingText' => '显示设置'
|
||||
'displaySettingText' => '显示设置',
|
||||
'activeKey' => '4',
|
||||
'closeLink' => '#'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
@@ -28,16 +28,62 @@ class modulemenu extends wg
|
||||
return array_filter($this->modules, function($module) use($id) {return $module->parent == $id;});
|
||||
}
|
||||
|
||||
protected function build()
|
||||
private function setMenuTreeProps()
|
||||
{
|
||||
global $app;
|
||||
$id = $this->prop('productID');
|
||||
$this->setProp('productID', null);
|
||||
$this->modules = $app->loadTarget('tree')->getProductStructure($id, 'story');
|
||||
$moduleItems = $this->buildMenuTree(array(), 0);
|
||||
$this->setProp('items', $moduleItems);
|
||||
$this->setProp('activeClass', 'active');
|
||||
$this->setProp('items', $this->buildMenuTree(array(), 0));
|
||||
$this->setDefaultProps(array('activeClass' => 'active'));
|
||||
}
|
||||
|
||||
return zui::modulemenu(inherit($this));
|
||||
protected function build()
|
||||
{
|
||||
$this->setMenuTreeProps();
|
||||
$activeKey = $this->prop('activeKey');
|
||||
$closeBtn = null;
|
||||
if(!empty($activeKey))
|
||||
{
|
||||
$closeBtn = a
|
||||
(
|
||||
set('href', $this->prop('closeLink')),
|
||||
h::i
|
||||
(
|
||||
setClass('icon icon-close'),
|
||||
)
|
||||
);
|
||||
}
|
||||
return div
|
||||
(
|
||||
setClass('module-menu'),
|
||||
h::header
|
||||
(
|
||||
span
|
||||
(
|
||||
setClass('module-title'),
|
||||
$this->prop('title')
|
||||
),
|
||||
$closeBtn
|
||||
),
|
||||
h::main
|
||||
(
|
||||
zui::menutree(inherit($this))
|
||||
),
|
||||
div
|
||||
(
|
||||
setClass('setting-btns'),
|
||||
a
|
||||
(
|
||||
setClass('btn primary'),
|
||||
$this->prop('moduleSettingText')
|
||||
),
|
||||
a
|
||||
(
|
||||
setClass('btn white'),
|
||||
$this->prop('displaySettingText')
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
+30
-14
@@ -5,7 +5,7 @@ class programmenu extends wg
|
||||
{
|
||||
private $programs = array();
|
||||
|
||||
protected static $defineProps = array('js-render?:bool=true');
|
||||
protected static $defineProps = array('js-render?:bool=true, title?:string, subTitle?:string, programs?:array, activeClass?:string, activeIcon?:string, activeKey?:string');
|
||||
|
||||
private function buildMenuTree($parent, $parentID)
|
||||
{
|
||||
@@ -26,8 +26,30 @@ class programmenu extends wg
|
||||
return array_filter($this->programs, function($program) use($id) {return $program->parent == $id;});
|
||||
}
|
||||
|
||||
private function getContainer()
|
||||
private function setMenuTreeProps()
|
||||
{
|
||||
$this->programs = $this->prop('programs');
|
||||
$this->setProp('programs', null);
|
||||
$this->setProp('items', $this->buildMenuTree(array(), 0));
|
||||
$this->setDefaultProps(array('activeClass' => 'active', 'activeIcon' => 'check'));
|
||||
}
|
||||
|
||||
protected function build()
|
||||
{
|
||||
$this->setMenuTreeProps();
|
||||
$activeKey = $this->prop('activeKey');
|
||||
$closeBtn = null;
|
||||
if(!empty($activeKey))
|
||||
{
|
||||
$closeBtn = a
|
||||
(
|
||||
set('href', $this->prop('closeLink')),
|
||||
h::i
|
||||
(
|
||||
setClass('icon icon-close')
|
||||
)
|
||||
);
|
||||
}
|
||||
return div
|
||||
(
|
||||
setClass('program-menu'),
|
||||
@@ -42,19 +64,13 @@ class programmenu extends wg
|
||||
h::i(setClass('gg-chevron-down'))
|
||||
),
|
||||
span($this->prop('title'))
|
||||
)
|
||||
),
|
||||
$closeBtn
|
||||
),
|
||||
h::main
|
||||
(
|
||||
zui::menutree(inherit($this))
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
protected function build()
|
||||
{
|
||||
$this->programs = $this->prop('programs');
|
||||
$this->setProp('programs', null);
|
||||
$programItems = $this->buildMenuTree(array(), 0);
|
||||
$this->setProp('items', $programItems);
|
||||
$this->setProp('activeClass', 'active');
|
||||
$this->setProp('activeIcon', 'check');
|
||||
return zui::programmenu(inherit($this));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user