Skip to content
Snippets Groups Projects
matchingOptionNode.js 845 B
Newer Older
chris's avatar
chris committed
const matchingOptionNode = {
  attrs: {
    class: { default: 'matching-option' },
    id: { default: '' },
chris's avatar
chris committed
    isfirst: { default: false },
chris's avatar
chris committed
    correct: { default: false },
    answer: { default: false },
chris's avatar
chris committed
    options: { default: [] },
chris's avatar
chris committed
  },
chris's avatar
chris committed
  group: 'inline questions',
  content: 'text*',
  inline: true,
  atom: true,
chris's avatar
chris committed
  defining: true,
  parseDOM: [
    {
      tag: 'div.matching-option',
      getAttrs(dom) {
        return {
          id: dom.getAttribute('id'),
          class: dom.getAttribute('class'),
chris's avatar
chris committed
          isfirst: JSON.parse(dom.getAttribute('isfirst').toLowerCase()),
chris's avatar
chris committed
          correct: JSON.parse(dom.getAttribute('correct').toLowerCase()),
          answer: JSON.parse(dom.getAttribute('answer').toLowerCase()),
        };
      },
    },
  ],
  toDOM: node => ['div', node.attrs, 0],
};

export default matchingOptionNode;