Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import { Plugin, string, object, migratable } from '@edtr-io/plugin'
import { createIcon, faFilm } from '@edtr-io/ui'
import * as React from 'react'
import { VideoEditor } from './editor'
import { VideoRenderer } from './renderer'
const stateV0 = string()
const stateV1 = object({ src: string(), alt: string() })
export const videoState = migratable(stateV0).migrate(stateV1, src => {
return { src, alt: '' }
})
export const videoPlugin: Plugin = {
//eslint-disable-next-line react/display-name
Component: props =>
props.editable ? : ,
state: videoState,
title: 'Video',
description: 'Binde Videos von Youtube, Vimeo, Wikimedia und BR ein.',
icon: createIcon(faFilm),
onPaste(clipboardData: DataTransfer) {
const value = clipboardData.getData('text')
const regex = /^(https?:\/\/)?(.*?(youtube\.com\/watch\?(.*&)?v=.+|youtu\.be\/.+|vimeo\.com\/.+|upload\.wikimedia\.org\/.+(\.webm|\.ogg)?|br\.de\/.+))/
import { child, object, list, Plugin, string, boolean } from '@edtr-io/plugin'
import { createIcon, faCheckSquare } from '@edtr-io/ui'
import { SolutionStepsEditor } from './editor'
export const solutionStep = object({
type: string('step'),
isHalf: boolean(),
content: child('rows')
})
export const solutionStepsState = object({
introduction: child('text'),
strategy: child('rows'),
hasStrategy: boolean(),
solutionSteps: list(solutionStep),
additionals: child('rows'),
hasAdditionals: boolean()
})
export const solutionStepsPlugin: Plugin = {
Component: SolutionStepsEditor,
state: solutionStepsState,
icon: createIcon(faCheckSquare),
title: 'Lösungschritte',
description: 'Erstelle mit diesem Plugin eine schrittweise Aufgabenlösung.'
}
import { child, object, list, Plugin, string, boolean } from '@edtr-io/plugin'
import { createIcon, faCheckSquare } from '@edtr-io/ui'
import { SolutionStepsEditor } from './editor'
export const solutionStep = object({
type: string('step'),
isHalf: boolean(),
content: child('rows')
})
export const solutionStepsState = object({
introduction: child('text'),
strategy: child('rows'),
hasStrategy: boolean(),
solutionSteps: list(solutionStep),
additionals: child('rows'),
hasAdditionals: boolean()
})
export const solutionStepsPlugin: Plugin = {
Component: SolutionStepsEditor,