Skip to content

Commit 0580461

Browse files
committed
Automatically create menu items for text alignment
1 parent 225396d commit 0580461

File tree

5 files changed

+70
-19
lines changed

5 files changed

+70
-19
lines changed

django_prose_editor/static/django_prose_editor/editor.js

Lines changed: 19 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
"@tiptap/extension-link": "^2.10.3",
99
"@tiptap/extension-subscript": "^2.10.3",
1010
"@tiptap/extension-superscript": "^2.10.3",
11+
"@tiptap/extension-table": "^2.10.3",
12+
"@tiptap/extension-table-cell": "^2.10.3",
13+
"@tiptap/extension-table-header": "^2.10.3",
14+
"@tiptap/extension-table-row": "^2.10.3",
1115
"@tiptap/extension-text-align": "^2.10.3",
1216
"@tiptap/extension-underline": "^2.10.3",
1317
"@tiptap/pm": "^2.10.3",

src/library.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ export { Superscript } from "@tiptap/extension-superscript"
2323
export { Underline } from "@tiptap/extension-underline"
2424

2525
export { TextAlign } from "@tiptap/extension-text-align"
26+
export { Table } from "@tiptap/extension-table"
27+
export { TableCell } from "@tiptap/extension-table-cell"
28+
export { TableHeader } from "@tiptap/extension-table-header"
29+
export { TableRow } from "@tiptap/extension-table-row"
2630

2731
export { updateAttrsDialog } from "./commands.js"
2832
export { HTML } from "./html.js"

src/menu.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export const menuItemsFromEditor = (editor) => {
1212
listMenuItems(editor),
1313
linkMenuItems(editor),
1414
markMenuItems(editor),
15+
textAlignMenuItems(editor),
1516
historyMenuItems(editor),
1617
htmlMenuItem(editor),
1718
].filter(Boolean)
@@ -232,6 +233,28 @@ function historyMenuItems(editor) {
232233
: null
233234
}
234235

236+
function textAlignMenuItems(editor) {
237+
const alignmentItem = (alignment) => ({
238+
command: (_state, dispatch) => {
239+
dispatch && editor.commands.setTextAlign(alignment)
240+
return true
241+
},
242+
dom: materialButton(`format_align_${alignment}`, alignment),
243+
active() {
244+
return editor.isActive({ textAlign: alignment })
245+
},
246+
})
247+
248+
return findExtension(editor, "textAlign")
249+
? [
250+
alignmentItem("left"),
251+
alignmentItem("center"),
252+
alignmentItem("right"),
253+
alignmentItem("justify"),
254+
]
255+
: null
256+
}
257+
235258
function htmlMenuItem(editor) {
236259
return findExtension(editor, "html")
237260
? [

yarn.lock

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,26 @@
234234
resolved "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.10.3.tgz#2b4f186ddb179bcdf2af68d4aebc5e1f3220de2b"
235235
integrity sha512-4bXDPyT10ByVCLXFR8A70TcpFJ0H3PicRsxKJcQ+KZIauNUo5BBUpkF2cK+IOUp4UZ1W5ZBeuMQG5HWMuV9T1A==
236236

237+
"@tiptap/extension-table-cell@^2.10.3":
238+
version "2.10.3"
239+
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.10.3.tgz#3d090c7b758428abc484e0c229318bce8bd08b5b"
240+
integrity sha512-EYzBrnq7KUAcRhshIoTmC4ED8YoF4Ei5m8ZMPOctKX+QMAagKdcrw2UxuOf4tP2xgBYx+qDsKCautepZXQiL2g==
241+
242+
"@tiptap/extension-table-header@^2.10.3":
243+
version "2.10.3"
244+
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.10.3.tgz#76f0f1b3eb1d8c01b0355fa704ad75a74cd2102b"
245+
integrity sha512-zJqzivz+VITYIFXNH09leBbkwAPuvp504rCAFL2PMa1uaME6+oiiRqZvXQrOiRkjNpOWEXH4dqvVLwkSMZoWaw==
246+
247+
"@tiptap/extension-table-row@^2.10.3":
248+
version "2.10.3"
249+
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.10.3.tgz#66302d52a02b675b7cb674d1a586e3c2c5ff119a"
250+
integrity sha512-l6P6BAE4SuIFdPmsRd+zGP2Ks9AhLAua7nfDlHFMWDnfOeaJu7g/t4oG++9xTojDcVDHhcIe8TJYUXfhOt2anw==
251+
252+
"@tiptap/extension-table@^2.10.3":
253+
version "2.10.3"
254+
resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.10.3.tgz#6aaecabd7f2b58baef5082e17f1907cf45998bb7"
255+
integrity sha512-XAvq0ptpHfuN7lQhTeew4Sqo8aKYHTqroa7cHL8I+gWJqYqKJSTGb4FAqdGIFEzHvnSsMCFbTL//kAHXvTdsHg==
256+
237257
"@tiptap/extension-text-align@^2.10.3":
238258
version "2.10.3"
239259
resolved "https://registry.yarnpkg.com/@tiptap/extension-text-align/-/extension-text-align-2.10.3.tgz#f1144210e96219bd0d8c49c78f76c3a3ab543e9b"

0 commit comments

Comments
 (0)