* zin: refactor pageheader/pageheading components.

This commit is contained in:
陈涛
2023-02-20 17:30:50 +08:00
parent f7980c21c9
commit 703f585ebe
5 changed files with 65 additions and 88 deletions
+27 -24
View File
@@ -13,27 +13,30 @@ namespace zin;
require_once __DIR__ . DS . 'core' . DS . 'h.func.php';
function icon() {return createWg('icon', func_get_args());}
function btn() {return createWg('btn', func_get_args());}
function pagebase() {return createWg('pagebase', func_get_args());}
function page() {return createWg('page', func_get_args());}
function btngroup() {return createWg('btngroup', func_get_args());}
function checkbox() {return createWg('checkbox', func_get_args());}
function pagemain() {return createWg('pagemain', func_get_args());}
function row() {return createWg('row', func_get_args());}
function column() {return createWg('column', func_get_args());}
function center() {return createWg('center', func_get_args());}
function cell() {return createWg('cell', func_get_args());}
function actionItem() {return createWg('actionitem', func_get_args());}
function nav() {return createWg('nav', func_get_args());}
function label() {return createWg('label', func_get_args());}
function dtable() {return createWg('dtable', func_get_args());}
function menu() {return createWg('menu', func_get_args());}
function radio() {return createWg('radio', func_get_args());}
function select() {return createWg('select', func_get_args());}
function formlabel() {return createWg('formlabel', func_get_args());}
function formgroup() {return createWg('formgroup', func_get_args());}
function formcell() {return createWg('formcell', func_get_args());}
function formgrid() {return createWg('formgrid', func_get_args());}
function formrow() {return createWg('formrow', func_get_args());}
function forminput() {return createWg('forminput', func_get_args());}
function icon() {return createWg('icon', func_get_args());}
function btn() {return createWg('btn', func_get_args());}
function pagebase() {return createWg('pagebase', func_get_args());}
function page() {return createWg('page', func_get_args());}
function btngroup() {return createWg('btngroup', func_get_args());}
function checkbox() {return createWg('checkbox', func_get_args());}
function pagemain() {return createWg('pagemain', func_get_args());}
function row() {return createWg('row', func_get_args());}
function column() {return createWg('column', func_get_args());}
function center() {return createWg('center', func_get_args());}
function cell() {return createWg('cell', func_get_args());}
function actionItem() {return createWg('actionitem', func_get_args());}
function nav() {return createWg('nav', func_get_args());}
function label() {return createWg('label', func_get_args());}
function dtable() {return createWg('dtable', func_get_args());}
function menu() {return createWg('menu', func_get_args());}
function radio() {return createWg('radio', func_get_args());}
function select() {return createWg('select', func_get_args());}
function formlabel() {return createWg('formlabel', func_get_args());}
function formgroup() {return createWg('formgroup', func_get_args());}
function formcell() {return createWg('formcell', func_get_args());}
function formgrid() {return createWg('formgrid', func_get_args());}
function formrow() {return createWg('formrow', func_get_args());}
function forminput() {return createWg('forminput', func_get_args());}
function dropdown() {return createWg('dropdown', func_get_args());}
function pageheader() {return createWg('pageheader', func_get_args());}
function pageheading() {return createWg('pageheading', func_get_args());}
+23 -43
View File
@@ -3,83 +3,63 @@ namespace zin;
class pageheader extends wg
{
static $customprops = 'heading,navbar,toolbar';
public $heading;
public $navbar;
public $toolbar;
/**
* Accept child node.
* Add child.
*
* @param object|string $child
* @param bool $strAsHtml
* @access protected
* @return object|string
*/
protected function onAddChild($child, $strAsHtml = false)
protected function onAddChild($child)
{
if(class_exists('\zin\pageheading') and $child instanceof \zin\pageheading)
if(class_exists('zin\pageheading') and $child instanceof pageheading)
{
$this->heading = $child;
return NULL;
$this->add($child, 'heading');
return false;
}
if(class_exists('\zin\wg\pagenavbar') and $child instanceof \zin\wg\pagenavbar)
if(class_exists('\zin\pagenavbar') and $child instanceof \zin\pagenavbar)
{
$this->navbar = $child;
return NULL;
$this->add($child, 'navbar');
return false;
}
if(class_exists('\zin\wg\pagetoolbar') and $child instanceof \zin\wg\pagetoolbar)
if(class_exists('\zin\pagetoolbar') and $child instanceof \zin\pagetoolbar)
{
$this->toolbar = $child;
return NULL;
$this->add($child, 'toolbar');
return false;
}
/* Invoke parent method; */
$child = parent::onAddChild($child, $strAsHtml);
$child = parent::onAddChild($child);
if(!$strAsHtml && is_string($child) && !$this->props->has('name'))
if(is_string($child) && !$this->props->has('name'))
{
$this->prop('name', $child);
return NULL;
return false;
}
return $child;
}
/**
* Build builder.
* Build.
*
* @param bool $isPrint
* @param object $parent
* @access protected
* @return object
*/
protected function build()
{
$container = h::div
return h::header
(
setClass('container main-header')
);
/* Heading. */
$container->add($this->heading);
/* Navigation Bar. */
$container->add($this->navbar);
/* Tool Bar. */
$container->add($this->toolbar);
return h::create
(
'header',
setId('header'),
$container
h::div
(
setClass('container main-header'),
$this->block('heading'),
$this->block('navbar'),
$this->block('toolbar')
)
);
}
}
+7 -10
View File
@@ -33,19 +33,16 @@ class pageheading extends wg
$text = $this->prop('text');
$url = $this->prop('url');
$container = h::div
/* Generate button with url. */
if(!empty($url)) $child = btn($text, set('url', $url), setClass('primary'));
else $child = h::span($text, setClass('text'));
return h::div
(
setId('heading'),
setClass('primary'),
icon(set('name', $icon))
icon(set('name', $icon)),
$child
);
/* Generate button with url. */
if(!empty($url)) $container->add(btn($text, set('url', $url), setClass('primary')));
else $container->add(h::span($text, setClass('text')));
$this->add($container);
return $this->children();
}
}
+2 -5
View File
@@ -1,10 +1,7 @@
<?php
namespace zin\wg;
namespace zin;
require_once dirname(dirname(__DIR__)) . DS . 'core' . DS . 'wg.class.php';
require_once dirname(__DIR__) . DS . 'zuinav' . DS . 'v1.php';
class pagenavbar extends \zin\wg\zuinav
class pagenavbar extends wg
{
static $tag = 'nav';
+6 -6
View File
@@ -1,5 +1,5 @@
<?php
namespace zin\wg;
namespace zin;
use zin\core\h5;
use function zin\Icon;
@@ -7,7 +7,7 @@ use function zin\Icon;
require_once dirname(dirname(__DIR__)) . DS . 'core' . DS . 'wg.class.php';
require_once dirname(__DIR__) . DS . 'avatar' . DS . 'v1.php';
class pagetoolbar extends \zin\core\wg
class pagetoolbar extends wg
{
static $tag = 'div';
@@ -17,8 +17,8 @@ class pagetoolbar extends \zin\core\wg
private function buildGlobalCreate($props)
{
$div = h5::create('div', NULL, $props);
$div->append(h5::div(Icon('plus'))->addClass('rounded-sm btn square size-sm secondary'));
$div = h::create('div', NULL, $props);
$div->append(h::div(Icon('plus'))->addClass('rounded-sm btn square size-sm secondary'));
$div->addClass('globalGreate');
return $div;
@@ -31,8 +31,8 @@ class pagetoolbar extends \zin\core\wg
private function buildSwitcher($props)
{
$div = h5::create('div', NULL, $props);
$div->append(h5::div($props['text'])->addClass('switcher-text'));
$div = h::create('div', NULL, $props);
$div->append(h::div($props['text'])->addClass('switcher-text'));
$div->addClass('vision-switcher');
return $div;