Skip to content
Snippets Groups Projects
toggle-button-component-extension.ts 1.13 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { Injector } from '@angular/core';
    import { Node, mergeAttributes } from '@tiptap/core';
    import { AngularNodeViewRenderer } from 'ngx-tiptap';
    
    
    rhenck's avatar
    rhenck committed
    import { ToggleButtonElement } from 'common/models/elements/compound-elements/cloze/cloze-child-elements/toggle-button';
    
    import { ToggleButtonNodeviewComponent } from './toggle-button-nodeview.component';
    
    
    const ToggleButtonComponentExtension = (injector: Injector): Node => {
      return Node.create({
        group: 'inline',
        inline: true,
        name: 'ToggleButton',
    
        addAttributes() {
          return {
    
              default: new ToggleButtonElement({
                type: 'toggle-button',
    
                width: 100,
                id: 'cloze-child-id-placeholder'
              })
    
          return [{ tag: 'aspect-nodeview-toggle-button' }];
    
        },
        renderHTML({ HTMLAttributes }) {
    
          return ['aspect-nodeview-toggle-button', mergeAttributes(HTMLAttributes)];
    
          return AngularNodeViewRenderer(ToggleButtonNodeviewComponent, { injector });
    
        }
      });
    };
    
    export default ToggleButtonComponentExtension;