1.0.39 • Published 4 years ago
c-react-editor v1.0.39
Warning!
The library still under development.
Intro
A block-styled editor for reactJs, friendly for mobile.
Getting started
import cEditor, { h1, h2, p, list } from 'c-react-editor'
const Editor = cEditor({
blocks: [
h1,
h2,
p,
list
]
})
const page = () => {
const [data, setData] = useState()
return (
<Editor data={data} setData={setData} />
)
}
Custom block
import cEditor, { h1, h2, p, list, ToolBar } from 'c-react-editor'
const h3Component = ({ controller, focusing, i, data }) => {
const onFocus = focusing === i
const change = e => {
controller.change(data, i, {
type: data[i].type,
data: e.target.value,
})
}
if (!onFocus) {
return (<div className='view'>{data[i].data || '(Empty)'}</div>)
}
return (
<div>
<textarea autoFocus value={data[i].data || ''} onChange={change} onKeyDown={keydown} />
<Toolbar controller={controller} focusing={focusing} i={i} data={data} />
</div>
)
}
const customBlock = {
type: 'h3',
component: h3Component,
exchange: data => {
if (data && typeof data !== 'string') {
if (Array.isArray(data)) {
data = data.join(',')
} else {
return { type: 'INSERT' }
}
}
return { type: 'EDIT', data }
},
icon: (<span>Sub title</span>)
}
const Editor = cEditor({
blocks: [
h1,
h2,
customBlock,
p,
list
]
})
....
1.0.19
4 years ago
1.0.39
4 years ago
1.0.38
4 years ago
1.0.22
4 years ago
1.0.21
4 years ago
1.0.20
4 years ago
1.0.26
4 years ago
1.0.25
4 years ago
1.0.24
4 years ago
1.0.23
4 years ago
1.0.29
4 years ago
1.0.28
4 years ago
1.0.27
4 years ago
1.0.33
4 years ago
1.0.32
4 years ago
1.0.31
4 years ago
1.0.30
4 years ago
1.0.37
4 years ago
1.0.36
4 years ago
1.0.35
4 years ago
1.0.34
4 years ago
1.0.2
4 years ago
1.0.18
4 years ago
1.0.17
4 years ago
1.0.16
4 years ago
1.0.9
4 years ago
1.0.8
4 years ago
1.0.7
4 years ago
1.0.6
4 years ago
1.0.5
4 years ago
1.0.4
4 years ago
1.0.3
4 years ago
1.0.11
4 years ago
1.0.10
4 years ago
1.0.15
4 years ago
1.0.14
4 years ago
1.0.13
4 years ago
1.0.12
4 years ago
1.0.1
4 years ago
1.0.0
4 years ago