AIO 編輯器
TableKit
表格(含 grip 選取)。
表格族(table / row / cell / header)一次註冊。自製變體:cell / header 帶 grip decoration——hover 表格首欄 / 首列會出現把手,點擊即整列 / 整欄選取,並觸發 TableRow / TableColumn bubble。
- config key:
AioEditorCoreExtension.TableKit - 來源:自製(基於
@tiptap/extension-table之TableKit)
載入途徑:跟隨 features 宣告:Table。按鈕未宣告但要保留能力 → include: [AioEditorCoreExtension.TableKit]。
排除影響(exclude: [TableKit]): 無按鈕與依賴者受影響; 以 extraExtensions 補上同名 extension(tableKit)即為替換。
選項
| 欄位 | 型別 | 預設值 | 說明 |
|---|---|---|---|
table.resizable | boolean | true | 欄寬可拖曳調整 |
table.handleWidth | number | 5 | 欄寬拖曳把手寬度(px) |
table.cellMinWidth | number | 25 | 儲存格最小寬度(px) |
table.lastColumnResizable | boolean | true | 最後一欄可調寬 |
table.allowTableNodeSelection | boolean | true | 允許選取整個表格節點 |
table.HTMLAttributes | Record<string, any> | {} | 表格之 HTML 屬性(resizable: true 時編輯中會失效) |
tableRow | Partial<TableRowOptions> 或 false | { HTMLAttributes: {} } | 列設定;false 停用 |
tableCell | Partial<TableCellOptions> 或 false | { HTMLAttributes: {} } | 儲存格設定;false 停用 |
tableHeader | Partial<TableHeaderOptions> 或 false | { HTMLAttributes: {} } | 標題儲存格設定;false 停用 |
Commands
| Command | 說明 |
|---|---|
insertTable({ rows, cols, withHeaderRow }) | 插入表格 |
addRowBefore() / addRowAfter() / deleteRow() | 列操作 |
addColumnBefore() / addColumnAfter() / deleteColumn() | 欄操作 |
mergeCells() / splitCell() / mergeOrSplit() | 合併 / 拆分儲存格 |
toggleHeaderRow() / toggleHeaderColumn() / toggleHeaderCell() | 標題列 / 欄 / 儲存格切換 |
setCellAttribute(name, value) | 設定儲存格屬性(如 verticalAlign:'top' / 'middle' / 'bottom') |
deleteTable() | 刪除表格 |
cell / header 額外支援 verticalAlign 屬性(輸出 vertical-align style),Table bubble 之垂直對齊按鈕即操作此屬性。