From 3f07643ea7e160bf7870cb71ac490b39d8a71010 Mon Sep 17 00:00:00 2001 From: dingyongliang Date: Tue, 27 Jun 2023 18:10:59 +0800 Subject: [PATCH] * zin: refactor detailbody to compatible with edit page. --- lib/zin/wg/detailbody/v1.php | 43 ++++++++++++++++++++++++++------ lib/zin/wg/detailside/css/v1.css | 4 +-- lib/zin/wg/detailside/v1.php | 2 +- 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/lib/zin/wg/detailbody/v1.php b/lib/zin/wg/detailbody/v1.php index 28b10f020e..1a6454546f 100644 --- a/lib/zin/wg/detailbody/v1.php +++ b/lib/zin/wg/detailbody/v1.php @@ -4,11 +4,16 @@ namespace zin; class detailBody extends wg { + protected static $defineProps = array( + 'isForm?: bool=false' + ); + protected static $defineBlocks = array( 'main' => array('map' => 'sectionList'), 'side' => array('map' => 'detailSide'), 'bottom' => array('map' => 'history,fileList'), 'floating' => array('map' => 'floatToolbar'), + 'fixedActions' => array(), ); protected function build() @@ -17,19 +22,43 @@ class detailBody extends wg $side = $this->block('side'); $bottom = $this->block('bottom'); $floating = $this->block('floating'); + $isForm = $this->prop('isForm'); - return div + if(!$isForm) + { + return div + ( + setClass('detail-body rounded flex gap-1'), + set($this->props->skip(array_keys(static::getDefinedProps()))), + div + ( + setClass('col gap-1 grow'), + $main, + $bottom, + center(setClass('pt-6'), $floating), + ), + $side + ); + } + + return form ( - setClass('detail-body rounded flex gap-1'), + set::actionsClass('h-14 flex flex-auto items-center justify-center shadow'), + setClass('detail-body rounded col of-y-hidden bg-white'), set($this->props->skip(array_keys(static::getDefinedProps()))), + setStyle('height', 'calc(100vh - 120px)'), div ( - setClass('col gap-1 grow'), - $main, - $bottom, - center(setClass('pt-6'), $floating), + setClass('flex flex-auto of-y-auto'), + div + ( + setClass('col grow border-r-4'), + setStyle('border-color', 'var(--zt-page-bg)'), + $main, + $bottom, + ), + $side, ), - $side ); } } diff --git a/lib/zin/wg/detailside/css/v1.css b/lib/zin/wg/detailside/css/v1.css index 73e22ac704..fdc1ccde7c 100644 --- a/lib/zin/wg/detailside/css/v1.css +++ b/lib/zin/wg/detailside/css/v1.css @@ -1,4 +1,4 @@ -.detail-side {width: 370px; max-height: 752px;} +.detail-side {width: 370px;} .detail-side .tab-content>.tab-pane {padding-left: 0 !important;} -.detail-side .tabs {padding: 12px 24px 8px 24px; background: #fff;} +.detail-side {background: #fff;} .detail-side .tabs:not(:first-child) {border-top: 1px solid #E6EAF1;} diff --git a/lib/zin/wg/detailside/v1.php b/lib/zin/wg/detailside/v1.php index bbccd539f2..3c331cfb5e 100644 --- a/lib/zin/wg/detailside/v1.php +++ b/lib/zin/wg/detailside/v1.php @@ -13,7 +13,7 @@ class detailSide extends wg { return div ( - setClass('detail-side flex-none'), + setClass('detail-side flex-none px-6 py-3'), set($this->props->skip(array_keys(static::getDefinedProps()))), $this->children() );