Page MenuHomeMusing Studio

menu.js
No OneTemporary

import { MenuItem } from "prosemirror-menu";
import { buildMenuItems } from "prosemirror-example-setup";
import { writeFreelySchema } from "./schema";
function canInsert(state, nodeType, attrs) {
let $from = state.selection.$from
for (let d = $from.depth; d >= 0; d--) {
let index = $from.index(d)
if ($from.node(d).canReplaceWith(index, index, nodeType, attrs)) return true
}
return false
}
const ReadMoreItem = new MenuItem({
label: "Read more",
select: (state) => canInsert(state, writeFreelySchema.nodes.readmore),
run(state, dispatch) {
dispatch(state.tr.replaceSelectionWith(writeFreelySchema.nodes.readmore.create()))
},
});
export const getMenu = ()=> {
const menuContent = [...buildMenuItems(writeFreelySchema).fullMenu, [ReadMoreItem]];
return menuContent
}

File Metadata

Mime Type
text/plain
Expires
Wed, Jan 21, 11:53 PM (13 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3599809

Event Timeline