@atlaskit/adf-schema
Version:
Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs
43 lines (40 loc) • 1.47 kB
JavaScript
import { taskList as taskListFactory, taskListWithFlexibleFirstChildStage0 as taskListWithFlexibleFirstChildStage0Factory } from '../../next-schema/generated/nodeTypes';
import { uuid } from '../../utils/uuid';
/**
* @name taskList_node
*/
const name = 'actionList';
export const taskListSelector = `[data-node-type="${name}"]`;
const taskListParseDOMAndToDOM = {
parseDOM: [{
tag: `div${taskListSelector}`,
// Default priority is 50. We normally don't change this but since this node type is
// also used by ordered-list we need to make sure that we run this parser first.
priority: 100,
getAttrs: () => ({
localId: uuid.generate()
})
}],
toDOM(node) {
const {
localId
} = node.attrs;
const attrs = {
'data-node-type': name,
'data-task-list-local-id': localId || 'local-task-list',
style: 'list-style: none; padding-left: 0'
};
return ['div', attrs, 0];
}
};
export const taskList = taskListFactory(taskListParseDOMAndToDOM);
const taskListWithFlexibleFirstChild = taskListWithFlexibleFirstChildStage0Factory(taskListParseDOMAndToDOM);
/**
* @name task_list_with_flexible_first_child_stage0
* @description stage0 taskList with flexible first child content (see EDITOR-5417)
*/
export const taskListWithFlexibleFirstChildStage0 = {
...taskListWithFlexibleFirstChild,
// Generated spec omits PM group; keep taskList in block content for doc validation.
group: 'block'
};