diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 0c5e4a4d0..d58e30469 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -588,6 +588,7 @@ "mergeCell": "Merge Cell", "cancelMerged": "Cancel cell merge", "useDefaultWidth": "Use Default Column Width", + "useDefaultAlign": "Use default alignment", "type": "Type", "replaceType": "Replace type", "searchType": "Search type", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 8563433fd..c61e6ab57 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -588,6 +588,7 @@ "mergeCell": "Merge Cell", "cancelMerged": "Cancelar fusión de celda", "useDefaultWidth": "Usar el ancho de columna por defecto", + "useDefaultAlign": "Usar alineación predeterminada", "type": "Tipo", "replaceType": "Reemplazar tipo", "searchType": "Tipo de búsqueda", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 1731c7f2b..7a3baf109 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -588,6 +588,7 @@ "mergeCell": "Fusionner la cellule", "cancelMerged": "Annuler la fusion de cellules", "useDefaultWidth": "Utiliser la largeur de colonne par défaut", + "useDefaultAlign": "Utiliser l'alignement par défaut", "type": "Type", "replaceType": "Remplacer le type", "searchType": "Type de recherche", diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index 50c881e3b..f62c42002 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -588,6 +588,7 @@ "mergeCell": "セルの結合", "cancelMerged": "セルの結合を解除", "useDefaultWidth": "デフォルトの列幅を使用", + "useDefaultAlign": "デフォルトの配置を使用する", "type": "種類", "replaceType": "種類の置換", "searchType": "検索フィルタ", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index f8660c56f..1b8417e63 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -588,6 +588,7 @@ "mergeCell": "合併單元格", "cancelMerged": "拆分單元格", "useDefaultWidth": "使用預設列寬", + "useDefaultAlign": "使用預設對齊", "type": "類型", "replaceType": "替換類型", "searchType": "搜尋類型", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 5812a41b4..41863c11f 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -588,6 +588,7 @@ "mergeCell": "合并单元格", "cancelMerged": "拆分单元格", "useDefaultWidth": "使用默认列宽", + "useDefaultAlign": "使用默认对齐", "type": "类型", "replaceType": "替换类型", "searchType": "搜索类型", diff --git a/app/src/menus/protyle.ts b/app/src/menus/protyle.ts index 55fb662f5..a64a51f2b 100644 --- a/app/src/menus/protyle.ts +++ b/app/src/menus/protyle.ts @@ -1880,6 +1880,13 @@ export const tableMenu = (protyle: IProtyle, nodeElement: Element, cellElement: setTableAlign(protyle, [cellElement], nodeElement, "right", range); } }); + otherMenus.push({ + icon: "", + label: window.siyuan.languages.useDefaultAlign, + click: () => { + setTableAlign(protyle, [cellElement], nodeElement, "", range); + } + }); const menus: IMenu[] = []; menus.push(...otherMenus); menus.push({ diff --git a/app/src/protyle/wysiwyg/index.ts b/app/src/protyle/wysiwyg/index.ts index fbfe55303..e90840ce4 100644 --- a/app/src/protyle/wysiwyg/index.ts +++ b/app/src/protyle/wysiwyg/index.ts @@ -1201,6 +1201,26 @@ export class WYSIWYG { } } }).element); + window.siyuan.menus.menu.append(new MenuItem({ + icon: "", + label: window.siyuan.languages.useDefaultAlign, + click: () => { + if (tableBlockElement) { + const selectCellElements: HTMLTableCellElement[] = []; + const scrollLeft = tableBlockElement.firstElementChild.scrollLeft; + tableBlockElement.querySelectorAll("th, td").forEach((item: HTMLTableCellElement) => { + if (!item.classList.contains("fn__none") && + item.offsetLeft + 6 > tableSelectElement.offsetLeft + scrollLeft && item.offsetLeft + item.clientWidth - 6 < tableSelectElement.offsetLeft + scrollLeft + tableSelectElement.clientWidth && + item.offsetTop + 6 > tableSelectElement.offsetTop && item.offsetTop + item.clientHeight - 6 < tableSelectElement.offsetTop + tableSelectElement.clientHeight && + (selectCellElements.length === 0 || (selectCellElements.length > 0 && item.offsetTop === selectCellElements[0].offsetTop))) { + selectCellElements.push(item); + } + }); + tableSelectElement.removeAttribute("style"); + setTableAlign(protyle, selectCellElements, tableBlockElement, "", getEditorRange(tableBlockElement)); + } + } + }).element); window.siyuan.menus.menu.append(new MenuItem({type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({ label: window.siyuan.languages.clear,