fdb2 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1433,68 +1433,68 @@ to {
1433
1433
  font-size: 0.75rem;
1434
1434
  }
1435
1435
 
1436
- .table-detail[data-v-aa969b41] {
1436
+ .table-detail[data-v-131c5ea4] {
1437
1437
  width: 100%;
1438
1438
  height: 100%;
1439
1439
  display: flex;
1440
1440
  flex-direction: column;
1441
1441
  }
1442
- .table-header[data-v-aa969b41] {
1442
+ .table-header[data-v-131c5ea4] {
1443
1443
  background-color: #f8f9fa;
1444
1444
  border-bottom: 1px solid #dee2e6;
1445
1445
  padding: 15px 20px;
1446
1446
  }
1447
- .table-header-content[data-v-aa969b41] {
1447
+ .table-header-content[data-v-131c5ea4] {
1448
1448
  display: flex;
1449
1449
  justify-content: space-between;
1450
1450
  align-items: center;
1451
1451
  }
1452
- .table-info[data-v-aa969b41] {
1452
+ .table-info[data-v-131c5ea4] {
1453
1453
  display: flex;
1454
1454
  align-items: center;
1455
1455
  gap: 15px;
1456
1456
  }
1457
- .table-icon[data-v-aa969b41] {
1457
+ .table-icon[data-v-131c5ea4] {
1458
1458
  font-size: 32px;
1459
1459
  color: #495057;
1460
1460
  }
1461
- .table-meta[data-v-aa969b41] {
1461
+ .table-meta[data-v-131c5ea4] {
1462
1462
  display: flex;
1463
1463
  flex-direction: column;
1464
1464
  gap: 5px;
1465
1465
  }
1466
- .table-name[data-v-aa969b41] {
1466
+ .table-name[data-v-131c5ea4] {
1467
1467
  margin: 0;
1468
1468
  font-size: 1.25rem;
1469
1469
  font-weight: 600;
1470
1470
  }
1471
- .table-breadcrumb[data-v-aa969b41] {
1471
+ .table-breadcrumb[data-v-131c5ea4] {
1472
1472
  display: flex;
1473
1473
  align-items: center;
1474
1474
  gap: 8px;
1475
1475
  font-size: 0.875rem;
1476
1476
  color: #6c757d;
1477
1477
  }
1478
- .table-stats[data-v-aa969b41] {
1478
+ .table-stats[data-v-131c5ea4] {
1479
1479
  display: flex;
1480
1480
  gap: 20px;
1481
1481
  }
1482
- .stat-item[data-v-aa969b41] {
1482
+ .stat-item[data-v-131c5ea4] {
1483
1483
  display: flex;
1484
1484
  flex-direction: column;
1485
1485
  align-items: center;
1486
1486
  gap: 2px;
1487
1487
  }
1488
- .stat-value[data-v-aa969b41] {
1488
+ .stat-value[data-v-131c5ea4] {
1489
1489
  font-size: 1.125rem;
1490
1490
  font-weight: 600;
1491
1491
  color: #495057;
1492
1492
  }
1493
- .stat-label[data-v-aa969b41] {
1493
+ .stat-label[data-v-131c5ea4] {
1494
1494
  font-size: 0.75rem;
1495
1495
  color: #6c757d;
1496
1496
  }
1497
- .table-toolbar[data-v-aa969b41] {
1497
+ .table-toolbar[data-v-131c5ea4] {
1498
1498
  display: flex;
1499
1499
  justify-content: space-between;
1500
1500
  align-items: center;
@@ -1502,27 +1502,27 @@ to {
1502
1502
  background-color: #f8f9fa;
1503
1503
  border-bottom: 1px solid #dee2e6;
1504
1504
  }
1505
- .toolbar-left[data-v-aa969b41] {
1505
+ .toolbar-left[data-v-131c5ea4] {
1506
1506
  display: flex;
1507
1507
  gap: 10px;
1508
1508
  align-items: center;
1509
1509
  }
1510
- .toolbar-right[data-v-aa969b41] {
1510
+ .toolbar-right[data-v-131c5ea4] {
1511
1511
  display: flex;
1512
1512
  gap: 10px;
1513
1513
  align-items: center;
1514
1514
  }
1515
- .table-tabs[data-v-aa969b41] {
1515
+ .table-tabs[data-v-131c5ea4] {
1516
1516
  flex: 1;
1517
1517
  display: flex;
1518
1518
  flex-direction: column;
1519
1519
  overflow: hidden;
1520
1520
  }
1521
- .nav-tabs[data-v-aa969b41] {
1521
+ .nav-tabs[data-v-131c5ea4] {
1522
1522
  border-bottom: 1px solid #dee2e6;
1523
1523
  background-color: #f8f9fa;
1524
1524
  }
1525
- .nav-tabs .nav-link[data-v-aa969b41] {
1525
+ .nav-tabs .nav-link[data-v-131c5ea4] {
1526
1526
  color: #495057;
1527
1527
  border: none;
1528
1528
  border-bottom: 3px solid transparent;
@@ -1530,54 +1530,54 @@ to {
1530
1530
  padding: 10px 15px;
1531
1531
  font-weight: 500;
1532
1532
  }
1533
- .nav-tabs .nav-link[data-v-aa969b41]:hover {
1533
+ .nav-tabs .nav-link[data-v-131c5ea4]:hover {
1534
1534
  background-color: #e9ecef;
1535
1535
  border-bottom-color: #adb5bd;
1536
1536
  }
1537
- .nav-tabs .nav-link.active[data-v-aa969b41] {
1537
+ .nav-tabs .nav-link.active[data-v-131c5ea4] {
1538
1538
  background-color: #fff;
1539
1539
  border-bottom-color: #0d6efd;
1540
1540
  color: #0d6efd;
1541
1541
  }
1542
- .tab-content[data-v-aa969b41] {
1542
+ .tab-content[data-v-131c5ea4] {
1543
1543
  flex: 1;
1544
1544
  overflow: auto;
1545
1545
  padding: 20px;
1546
1546
  background-color: #fff;
1547
1547
  }
1548
- .tab-panel[data-v-aa969b41] {
1548
+ .tab-panel[data-v-131c5ea4] {
1549
1549
  height: 100%;
1550
1550
  }
1551
- .data-content[data-v-aa969b41] {
1551
+ .data-content[data-v-131c5ea4] {
1552
1552
  height: 100%;
1553
1553
  display: flex;
1554
1554
  flex-direction: column;
1555
1555
  }
1556
- .data-content.loading[data-v-aa969b41] {
1556
+ .data-content.loading[data-v-131c5ea4] {
1557
1557
  opacity: 0.7;
1558
1558
  pointer-events: none;
1559
1559
  }
1560
- .table-responsive[data-v-aa969b41] {
1560
+ .table-responsive[data-v-131c5ea4] {
1561
1561
  flex: 1;
1562
1562
  overflow: auto;
1563
1563
  }
1564
- .column-header[data-v-aa969b41] {
1564
+ .column-header[data-v-131c5ea4] {
1565
1565
  position: relative;
1566
1566
  }
1567
- .column-key[data-v-aa969b41] {
1567
+ .column-key[data-v-131c5ea4] {
1568
1568
  position: absolute;
1569
1569
  top: -5px;
1570
1570
  right: -15px;
1571
1571
  color: #0d6efd;
1572
1572
  font-size: 0.75rem;
1573
1573
  }
1574
- .cell-value[data-v-aa969b41] {
1574
+ .cell-value[data-v-131c5ea4] {
1575
1575
  max-width: 200px;
1576
1576
  overflow: hidden;
1577
1577
  text-overflow: ellipsis;
1578
1578
  white-space: nowrap;
1579
1579
  }
1580
- .loading-state[data-v-aa969b41] {
1580
+ .loading-state[data-v-131c5ea4] {
1581
1581
  display: flex;
1582
1582
  flex-direction: column;
1583
1583
  align-items: center;
@@ -1585,7 +1585,7 @@ to {
1585
1585
  height: 300px;
1586
1586
  gap: 15px;
1587
1587
  }
1588
- .empty-state[data-v-aa969b41] {
1588
+ .empty-state[data-v-131c5ea4] {
1589
1589
  display: flex;
1590
1590
  flex-direction: column;
1591
1591
  align-items: center;
@@ -1594,76 +1594,76 @@ to {
1594
1594
  gap: 15px;
1595
1595
  color: #6c757d;
1596
1596
  }
1597
- .empty-state i[data-v-aa969b41] {
1597
+ .empty-state i[data-v-131c5ea4] {
1598
1598
  font-size: 48px;
1599
1599
  opacity: 0.5;
1600
1600
  }
1601
- .pagination-nav[data-v-aa969b41] {
1601
+ .pagination-nav[data-v-131c5ea4] {
1602
1602
  margin-top: 20px;
1603
1603
  border-top: 1px solid #dee2e6;
1604
1604
  padding-top: 15px;
1605
1605
  }
1606
- .pagination-container[data-v-aa969b41] {
1606
+ .pagination-container[data-v-131c5ea4] {
1607
1607
  display: flex;
1608
1608
  align-items: center;
1609
1609
  justify-content: space-between;
1610
1610
  flex-wrap: wrap;
1611
1611
  gap: 10px;
1612
1612
  }
1613
- .pagination-info[data-v-aa969b41] {
1613
+ .pagination-info[data-v-131c5ea4] {
1614
1614
  font-size: 0.875rem;
1615
1615
  color: #6c757d;
1616
1616
  }
1617
- .page-size-selector[data-v-aa969b41] {
1617
+ .page-size-selector[data-v-131c5ea4] {
1618
1618
  display: flex;
1619
1619
  align-items: center;
1620
1620
  gap: 5px;
1621
1621
  }
1622
- .page-jump[data-v-aa969b41] {
1622
+ .page-jump[data-v-131c5ea4] {
1623
1623
  display: flex;
1624
1624
  align-items: center;
1625
1625
  gap: 5px;
1626
1626
  }
1627
- .structure-actions[data-v-aa969b41] {
1627
+ .structure-actions[data-v-131c5ea4] {
1628
1628
  display: flex;
1629
1629
  gap: 10px;
1630
1630
  margin-bottom: 15px;
1631
1631
  }
1632
- .structure-table[data-v-aa969b41], .indexes-table[data-v-aa969b41], .relations-table[data-v-aa969b41] {
1632
+ .structure-table[data-v-131c5ea4], .indexes-table[data-v-131c5ea4], .relations-table[data-v-131c5ea4] {
1633
1633
  overflow: auto;
1634
1634
  }
1635
- .structure-table table[data-v-aa969b41], .indexes-table table[data-v-aa969b41], .relations-table table[data-v-aa969b41] {
1635
+ .structure-table table[data-v-131c5ea4], .indexes-table table[data-v-131c5ea4], .relations-table table[data-v-131c5ea4] {
1636
1636
  width: 100%;
1637
1637
  }
1638
- .sql-section[data-v-aa969b41] {
1638
+ .sql-section[data-v-131c5ea4] {
1639
1639
  height: 100%;
1640
1640
  }
1641
1641
 
1642
1642
  /* 响应式设计 */
1643
1643
  @media (max-width: 768px) {
1644
- .table-header-content[data-v-aa969b41] {
1644
+ .table-header-content[data-v-131c5ea4] {
1645
1645
  flex-direction: column;
1646
1646
  align-items: flex-start;
1647
1647
  gap: 15px;
1648
1648
  }
1649
- .table-stats[data-v-aa969b41] {
1649
+ .table-stats[data-v-131c5ea4] {
1650
1650
  width: 100%;
1651
1651
  justify-content: space-around;
1652
1652
  }
1653
- .table-toolbar[data-v-aa969b41] {
1653
+ .table-toolbar[data-v-131c5ea4] {
1654
1654
  flex-direction: column;
1655
1655
  align-items: stretch;
1656
1656
  gap: 10px;
1657
1657
  }
1658
- .toolbar-left[data-v-aa969b41], .toolbar-right[data-v-aa969b41] {
1658
+ .toolbar-left[data-v-131c5ea4], .toolbar-right[data-v-131c5ea4] {
1659
1659
  justify-content: center;
1660
1660
  }
1661
- .pagination-container[data-v-aa969b41] {
1661
+ .pagination-container[data-v-131c5ea4] {
1662
1662
  flex-direction: column;
1663
1663
  align-items: flex-start;
1664
1664
  gap: 15px;
1665
1665
  }
1666
- .pagination[data-v-aa969b41] {
1666
+ .pagination[data-v-131c5ea4] {
1667
1667
  width: 100%;
1668
1668
  justify-content: center;
1669
1669
  }
@@ -48716,9 +48716,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
48716
48716
  createBaseVNode("tbody", null, [
48717
48717
  (openBlock(true), createElementBlock(Fragment, null, renderList(paginatedData.value, (row, index) => {
48718
48718
  return openBlock(), createElementBlock("tr", { key: index }, [
48719
- (openBlock(true), createElementBlock(Fragment, null, renderList(row, (value, key) => {
48720
- return openBlock(), createElementBlock("td", { key }, [
48721
- createBaseVNode("div", _hoisted_41, toDisplayString(formatCellValue(value)), 1)
48719
+ (openBlock(true), createElementBlock(Fragment, null, renderList(safeTableColumns.value, (column) => {
48720
+ return openBlock(), createElementBlock("td", {
48721
+ key: column.name
48722
+ }, [
48723
+ createBaseVNode("div", _hoisted_41, toDisplayString(formatCellValue(row[column.name])), 1)
48722
48724
  ]);
48723
48725
  }), 128)),
48724
48726
  createBaseVNode("td", null, [
@@ -49138,7 +49140,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
49138
49140
  };
49139
49141
  }
49140
49142
  });
49141
- const TableDetail = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-aa969b41"]]);
49143
+ const TableDetail = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-131c5ea4"]]);
49142
49144
  const _hoisted_1 = { class: "database-explorer" };
49143
49145
  const _hoisted_2 = { class: "explorer-layout" };
49144
49146
  const _hoisted_3 = { class: "explorer-sidebar" };
@@ -0,0 +1 @@
1
+ 21872
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fdb2",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "main": "view/index.html",
@@ -158,9 +158,9 @@
158
158
  </thead>
159
159
  <tbody>
160
160
  <tr v-for="(row, index) in paginatedData" :key="index">
161
- <td v-for="(value, key) in row" :key="key">
161
+ <td v-for="column in safeTableColumns" :key="column.name">
162
162
  <div class="cell-value">
163
- {{ formatCellValue(value) }}
163
+ {{ formatCellValue(row[column.name]) }}
164
164
  </div>
165
165
  </td>
166
166
  <td>