diff --git a/javascript/DatabaseTool.html b/javascript/DatabaseTool.html index 8720d00..e8e0564 100644 --- a/javascript/DatabaseTool.html +++ b/javascript/DatabaseTool.html @@ -90,10 +90,42 @@ .table-item .name{font-weight:600} .table-item .sub{font-size:12px;color:var(--muted)} - /* 工具区域(可展开小图标) */ - .tools-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:8px} + /* 工具区域(新设计) */ + .tools-panel { + position: fixed; + bottom: 20px; + left: 20px; + width: 250px; + background: var(--surface); + border: 1px solid var(--border); + border-radius: 10px; + box-shadow: var(--shadow); + z-index: 1000; + display: none; + padding: 12px; + flex-direction: column; + gap: 8px; + } + .tools-panel.active { + display: flex; + } + .tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px} .tool-btn{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;background:transparent;border:1px solid transparent;cursor:pointer} .tool-btn:hover{background:var(--hover)} + .tools-toggle { + display: flex; + align-items: center; + justify-content: center; + padding: 8px; + border-radius: 8px; + background: transparent; + border: 1px solid var(--border); + cursor: pointer; + margin-top: 8px; + } + .tools-toggle:hover { + background: var(--hover); + } /* 内容区 */ .content-area{flex:1;display:flex;flex-direction:column;overflow:hidden} @@ -114,6 +146,30 @@ th,td{padding:10px;border-bottom:1px solid var(--border);text-align:left;font-size:13px} th{background:var(--surface);position:sticky;top:0} + /* 表格操作按钮 */ + .table-actions{display:flex;gap:6px;margin-bottom:12px} + .table-actions .btn{font-size:12px;padding:6px 10px} + + /* 编辑行样式 */ + .editable-row{background:rgba(73,194,138,0.1) !important} + .editable-row td input{width:100%;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text)} + .editable-row td select{width:100%;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text)} + .action-cell{display:flex;gap:6px;justify-content:center} + .action-cell .btn{font-size:11px;padding:4px 8px} + + /* 表设计器样式 */ + .table-designer{display:flex;flex-direction:column;gap:12px} + .designer-section{background:var(--surface);border-radius:8px;padding:12px;border:1px solid var(--border)} + .designer-section h3{margin-bottom:12px;font-size:14px} + .columns-list{display:flex;flex-direction:column;gap:8px} + .column-item{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:6px;border:1px solid var(--border)} + .column-actions{display:flex;gap:4px} + .column-actions .btn{font-size:11px;padding:4px 8px} + .indexes-list{display:flex;flex-direction:column;gap:8px} + .index-item{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:6px;border:1px solid var(--border)} + .constraints-list{display:flex;flex-direction:column;gap:8px} + .constraint-item{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:6px;border:1px solid var(--border)} + .status-bar{padding:8px 12px;border-top:1px solid var(--border);background:var(--surface);display:flex;justify-content:space-between;font-size:13px;color:var(--muted)} /* 弹窗(通用) */ @@ -123,15 +179,33 @@ .modal .body{max-height:60vh;overflow:auto;padding-top:8px} .modal .footer{display:flex;justify-content:flex-end;gap:8px;margin-top:12px} + /* 表单控件 */ + .form-control{width:100%;padding:8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);margin-bottom:12px} + .form-label{display:block;margin-bottom:4px;font-weight:600;font-size:14px} + .form-row{display:flex;gap:12px;margin-bottom:12px} + .form-row .form-group{flex:1} + + /* 搜索框 */ + .search-box{position:sticky;top:0;background:var(--surface);padding:8px;border-bottom:1px solid var(--border);z-index:10} + .search-input{width:100%;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text)} + .search-results{font-size:12px;color:var(--muted);margin-top:4px} + /* 响应式小屏 */ @media (max-width:900px){ .sidebar{display:none} .query-editor{width:100%} .query-editor-container{flex-direction:column} + .column-item{grid-template-columns:1fr;gap:4px} + .index-item{grid-template-columns:1fr;gap:4px} + .constraint-item{grid-template-columns:1fr;gap:4px} } /* 小图标样式(SVG 作为图标) */ .svg-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;fill:currentColor} + + /* 快速创建表按钮 */ + .quick-create-table{background:var(--primary-color);color:white;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:600;margin-top:8px;width:100%} + .quick-create-table:hover{opacity:0.9} @@ -176,6 +250,11 @@