diff --git a/module/product/ui/kanban.html.php b/module/product/ui/kanban.html.php
index 8af9909105..e1d961134f 100644
--- a/module/product/ui/kanban.html.php
+++ b/module/product/ui/kanban.html.php
@@ -37,35 +37,55 @@ foreach($kanbanList as $current => $region)
jsVar('privs', $privs);
jsVar('delayed', $lang->project->statusList['delay']);
-featureBar
-(
- li
+if(empty($kanbanList))
+{
+ panel
(
- setClass('nav-item item'),
- a
+ div
(
- $browseType == 'my' ? setClass('active') : null,
- set::href(createLink('product', 'kanban', "browseType=my")),
- $lang->product->myProduct,
+ setClass('dtable-empty-tip'),
+ div
+ (
+ setClass('row gap-4 items-center'),
+ span
+ (
+ setClass('text-gray'),
+ $lang->noData
+ ),
+ )
)
- ),
- li
+ );
+}
+else
+{
+ featureBar
(
- setClass('nav-item item'),
- set::active($browseType == 'other'),
- a
+ li
(
- $browseType == 'other' ? setClass('active') : null,
- set::href(createLink('product', 'kanban', "browseType=other")),
- $lang->product->otherProduct,
- )
- ),
-);
-zui::kanbanList
-(
- set::key('kanban'),
- set::items($kanbanList),
- set::height('calc(100vh - 120px)')
-);
-
-render();
+ setClass('nav-item item'),
+ a
+ (
+ $browseType == 'my' ? setClass('active') : null,
+ set::href(createLink('product', 'kanban', "browseType=my")),
+ $lang->product->myProduct,
+ )
+ ),
+ li
+ (
+ setClass('nav-item item'),
+ set::active($browseType == 'other'),
+ a
+ (
+ $browseType == 'other' ? setClass('active') : null,
+ set::href(createLink('product', 'kanban', "browseType=other")),
+ $lang->product->otherProduct,
+ )
+ ),
+ );
+ zui::kanbanList
+ (
+ set::key('kanban'),
+ set::items($kanbanList),
+ set::height('calc(100vh - 120px)')
+ );
+}
diff --git a/module/program/ui/kanban.html.php b/module/program/ui/kanban.html.php
index 531125b981..8bbb065455 100644
--- a/module/program/ui/kanban.html.php
+++ b/module/program/ui/kanban.html.php
@@ -37,35 +37,56 @@ foreach($kanbanList as $current => $region)
jsVar('privs', $privs);
jsVar('delayed', $lang->project->statusList['delay']);
-featureBar
-(
- li
+if(empty($kanbanList))
+{
+ panel
(
- setClass('nav-item item'),
- a
+ div
(
- $browseType == 'my' ? setClass('active') : null,
- set::href(createLink('program', 'kanban', "browseType=my")),
- $lang->program->kanban->typeList['my']
+ setClass('dtable-empty-tip'),
+ div
+ (
+ setClass('row gap-4 items-center'),
+ span
+ (
+ setClass('text-gray'),
+ $lang->noData
+ ),
+ )
)
- ),
- li
+ );
+}
+else
+{
+ featureBar
(
- setClass('nav-item item'),
- set::active($browseType == 'other'),
- a
+ li
(
- $browseType == 'other' ? setClass('active') : null,
- set::href(createLink('program', 'kanban', "browseType=other")),
- $lang->program->kanban->typeList['others']
- )
- ),
-);
-zui::kanbanList
-(
- set::key('kanban'),
- set::items($kanbanList),
- set::height('calc(100vh - 120px)')
-);
+ setClass('nav-item item'),
+ a
+ (
+ $browseType == 'my' ? setClass('active') : null,
+ set::href(createLink('program', 'kanban', "browseType=my")),
+ $lang->program->kanban->typeList['my']
+ )
+ ),
+ li
+ (
+ setClass('nav-item item'),
+ set::active($browseType == 'other'),
+ a
+ (
+ $browseType == 'other' ? setClass('active') : null,
+ set::href(createLink('program', 'kanban', "browseType=other")),
+ $lang->program->kanban->typeList['others']
+ )
+ ),
+ );
-render();
+ zui::kanbanList
+ (
+ set::key('kanban'),
+ set::items($kanbanList),
+ set::height('calc(100vh - 120px)')
+ );
+}
diff --git a/module/project/ui/kanban.html.php b/module/project/ui/kanban.html.php
index 4a5e309b91..451e8bbbb2 100644
--- a/module/project/ui/kanban.html.php
+++ b/module/project/ui/kanban.html.php
@@ -36,11 +36,32 @@ foreach($kanbanList as $current => $region)
jsVar('privs', $privs);
jsVar('delayed', $lang->project->statusList['delay']);
-zui::kanbanList
-(
- set::key('kanban'),
- set::items($kanbanList),
- set::height('calc(100vh - 120px)')
-);
-render();
+if(empty($kanbanList))
+{
+ panel
+ (
+ div
+ (
+ setClass('dtable-empty-tip'),
+ div
+ (
+ setClass('row gap-4 items-center'),
+ span
+ (
+ setClass('text-gray'),
+ $lang->noData
+ ),
+ )
+ )
+ );
+}
+else
+{
+ zui::kanbanList
+ (
+ set::key('kanban'),
+ set::items($kanbanList),
+ set::height('calc(100vh - 120px)')
+ );
+}