From 483909e9bffb2fced333f8ee539e13a8f0eb9272 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Wed, 2 Aug 2023 14:30:02 +0800 Subject: [PATCH] * Add for dev db page. --- lib/zin/wg/tree/v1.php | 3 +- module/admin/lang/menu.php | 2 +- module/dev/control.php | 3 +- module/dev/model.php | 2 +- module/dev/ui/api.html.php | 2 +- module/dev/ui/db.html.php | 83 ++++++++++++++++++++++++++++++++++ module/dev/ui/restapi.html.php | 2 +- module/index/config.php | 1 - 8 files changed, 90 insertions(+), 8 deletions(-) create mode 100644 module/dev/ui/db.html.php diff --git a/lib/zin/wg/tree/v1.php b/lib/zin/wg/tree/v1.php index 2c928b4695..2e3fff1010 100644 --- a/lib/zin/wg/tree/v1.php +++ b/lib/zin/wg/tree/v1.php @@ -42,9 +42,8 @@ class tree extends wg { if(!isset($item['text'])) $item['text'] = $item['name']; if(!isset($item['url'])) $item['url'] = ''; - if(!isset($item['type'])) $item['type'] = ''; - if($item['type'] == 'product') + if(isset($item['type']) && $item['type'] == 'product') { $item['icon'] = 'product'; } diff --git a/module/admin/lang/menu.php b/module/admin/lang/menu.php index 6c41a5b1d6..d1071d3df1 100644 --- a/module/admin/lang/menu.php +++ b/module/admin/lang/menu.php @@ -171,7 +171,7 @@ $lang->admin->menuList->message['menuOrder']['20'] = 'browser'; $lang->admin->menuList->message['menuOrder']['25'] = 'setting'; $lang->admin->menuList->dev['subMenu']['api'] = array('link' => "{$lang->api->doc}|dev|api|module=restapi"); -$lang->admin->menuList->dev['subMenu']['db'] = array('link' => "{$lang->database}|dev|db|table=" . trim(TABLE_EFFORT, '`')); +$lang->admin->menuList->dev['subMenu']['db'] = array('link' => "{$lang->database}|dev|db|table=zt_todo"); $lang->admin->menuList->dev['subMenu']['langItem'] = array('link' => "{$lang->langItem}|dev|langitem|"); $lang->admin->menuList->dev['subMenu']['editor'] = array('link' => "{$lang->editor->common}|dev|editor|", 'subModule' => 'editor'); $lang->admin->menuList->dev['subMenu']['entry'] = array('link' => "{$lang->admin->entry}|entry|browse|", 'subModule' => 'entry'); diff --git a/module/dev/control.php b/module/dev/control.php index 4e677851fb..3fd3f16c3b 100644 --- a/module/dev/control.php +++ b/module/dev/control.php @@ -63,8 +63,9 @@ class dev extends control */ public function db($table = '') { - $this->view->title = $this->lang->dev->db; + if(empty($table)) $table = 'zt_todo'; + $this->view->title = $this->lang->dev->db; $this->view->tableTree = $this->dev->getTree($table, 'table'); $this->view->selectedTable = $table; $this->view->tab = 'db'; diff --git a/module/dev/model.php b/module/dev/model.php index 360303019b..3ddea58ca6 100644 --- a/module/dev/model.php +++ b/module/dev/model.php @@ -1114,7 +1114,7 @@ class devModel extends model $object->id = $objectName; $object->key = $objectName; $object->name = zget($this->lang->dev->tableList, $objectKey, $objectName); - $object->url = helper::createLink($currentModule, $currentMethod, "{$currentParamName}={$objectKey}"); + $object->url = helper::createLink($currentModule, $currentMethod, "{$currentParamName}={$objectName}"); $object->active = $objectName == $currentObject ? 1 : 0; if($object->active) $module->active = 1; diff --git a/module/dev/ui/api.html.php b/module/dev/ui/api.html.php index 5f0ff14093..8453893b95 100644 --- a/module/dev/ui/api.html.php +++ b/module/dev/ui/api.html.php @@ -140,7 +140,7 @@ sidebar h::header ( setClass('h-10 flex items-center pl-4 flex-none gap-3'), - span(setClass('text-lg font-semibold'), $lang->dev->moduleList), + span(setClass('text-lg font-semibold'), icon('list'), $lang->dev->moduleList), ), tree(set(array('items' => $moduleTree, 'canEdit' => false, 'canDelete' => false, 'canSplit' => false))) ); diff --git a/module/dev/ui/db.html.php b/module/dev/ui/db.html.php new file mode 100644 index 0000000000..565f637a01 --- /dev/null +++ b/module/dev/ui/db.html.php @@ -0,0 +1,83 @@ + + * @package dev + * @link https://www.zentao.net + */ +namespace zin; + +$fnBuildContent = function() use ($fields, $selectedTable) +{ + global $lang; + + $trItems = array(); + $i = 1; + foreach($fields as $key => $field) + { + $trItems[] = h::tr + ( + h::td($i), + h::td($key), + h::td($field['name']), + h::td($field['type']), + h::td(isset($field['options']['max']) ? $field['options']['max'] : ''), + h::td($field['null']), + ); + $i++; + } + + return panel + ( + set::title($selectedTable), + set::bodyClass('p-0'), + h::table + ( + setClass('table bordered'), + h::thead + ( + h::tr + ( + h::th(setClass('w-20'), $lang->dev->fields['id']), + h::th($lang->dev->fields['name']), + h::th($lang->dev->fields['desc']), + h::th($lang->dev->fields['type']), + h::th($lang->dev->fields['length']), + h::th($lang->dev->fields['null']), + ) + ), + h::tbody($trItems), + ), + ); +}; + +$activeGroup = ''; +foreach($tableTree as $module) +{ + if($module->active) $activeGroup = $module->id; +} + +h::css(" +.sidebar .tree [data-level=\"0\"][id=\"{$activeGroup}\"] {color: var(--color-primary-600); font-weight:bolder} +.sidebar .tree [data-level=\"1\"][id=\"{$selectedTable}\"] {color: var(--color-primary-600); font-weight:bolder} +"); + +sidebar +( + setClass('bg-white'), + h::header + ( + setClass('h-10 flex items-center pl-4 flex-none gap-3'), + span(setClass('text-lg font-semibold'), icon('list'), $lang->dev->dbList), + ), + tree(set(array('items' => $tableTree, 'canEdit' => false, 'canDelete' => false, 'canSplit' => false))) +); + +div +( + setClass('bg-white'), + $selectedTable ? $fnBuildContent() : null, +); diff --git a/module/dev/ui/restapi.html.php b/module/dev/ui/restapi.html.php index 4ece4c73f4..7f53217cb8 100644 --- a/module/dev/ui/restapi.html.php +++ b/module/dev/ui/restapi.html.php @@ -236,7 +236,7 @@ sidebar h::header ( setClass('h-10 flex items-center pl-4 flex-none gap-3'), - span(setClass('text-lg font-semibold'), $lang->dev->moduleList), + span(setClass('text-lg font-semibold'), icon('list'), $lang->dev->moduleList), ), tree(set(array('className' => 'pl-3', 'items' => $moduleTree, 'canEdit' => false, 'canDelete' => false, 'canSplit' => false))) ); diff --git a/module/index/config.php b/module/index/config.php index 24da02d052..c5990c366b 100644 --- a/module/index/config.php +++ b/module/index/config.php @@ -40,7 +40,6 @@ $config->index->oldPages[] = 'kanban-close'; $config->index->oldPages[] = 'kanban-setting'; $config->index->oldPages[] = 'webhook-browse'; $config->index->oldPages[] = 'webhook-create'; -$config->index->oldPages[] = 'dev-db'; $config->index->oldPages[] = 'dev-langitem'; $config->index->oldPages[] = 'dev-editor'; $config->index->oldPages[] = 'dept-browse';