Skip to content

Commit

Permalink
[form-builder] Part definitions and resolvement for the new block editor
Browse files Browse the repository at this point in the history
  • Loading branch information
skogsmaskin authored and bjoerge committed Dec 18, 2018
1 parent 1410a4e commit 7357f8c
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 6 deletions.
35 changes: 35 additions & 0 deletions packages/@sanity/form-builder/sanity.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,26 @@
"name": "part:@sanity/form-builder/input/slug",
"description": "Input component for the slug type"
},
{
"name": "part:@sanity/form-builder/input/block-editor/on-paste",
"description": "Function for handling on-paste event in the block editor"
},
{
"name": "part:@sanity/form-builder/input/block-editor/on-copy",
"description": "Function for handling on-copy event in the block editor"
},
{
"name": "part:@sanity/form-builder/input/block-editor/block-markers",
"description": "Component that shows and handles all markers (validation and custom) within a block"
},
{
"name": "part:@sanity/form-builder/input/block-editor/block-extras",
"description": "Component that renders block actions and markers for a block (all content in the right marigin)"
},
{
"name": "part:@sanity/form-builder/input/block-editor/block-markers-custom",
"description": "Component that renders custom markers for a block (everything but validation markers)"
},
{
"implements": "part:@sanity/base/locale-messages",
"path": "sanity/locale/strings.json"
Expand All @@ -87,6 +107,21 @@
"name": "part:@sanity/form-builder/input/array/functions-default",
"implements": "part:@sanity/form-builder/input/array/functions",
"path": "inputs/ArrayInput/ArrayFunctions.js"
},
{
"name": "part:@sanity/form-builder/input/block-editor/block-markers-default",
"implements": "part:@sanity/form-builder/input/block-editor/block-markers",
"path": "inputs/BlockEditor/nodes/Markers.js"
},
{
"name": "part:@sanity/form-builder/input/block-editor/block-extras-default",
"implements": "part:@sanity/form-builder/input/block-editor/block-extras",
"path": "inputs/BlockEditor/BlockExtras.js"
},
{
"name": "part:@sanity/form-builder/input/block-editor/block-markers-custom-default",
"implements": "part:@sanity/form-builder/input/block-editor/block-markers-custom",
"path": "inputs/BlockEditor/nodes/CustomMarkers.js"
}
]
}
6 changes: 3 additions & 3 deletions packages/@sanity/form-builder/src/Preview.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'
import React from 'react'
import {PreviewAny} from './utils/fallback-preview/PreviewAny'

export default class Preview extends React.Component {
export default class Preview extends React.PureComponent {
static propTypes = {
layout: PropTypes.string,
value: PropTypes.any,
Expand All @@ -14,12 +14,12 @@ export default class Preview extends React.Component {
}

render() {
const {type, value, layout} = this.props
const {type, value} = this.props

const PreviewComponent = this.context.formBuilder.resolvePreviewComponent(type)

if (PreviewComponent) {
return <PreviewComponent type={type} value={value} layout={layout} />
return <PreviewComponent {...this.props} />
}
return (
<div title="Unable to resolve preview component. Using fallback.">
Expand Down
2 changes: 1 addition & 1 deletion packages/@sanity/form-builder/src/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export {default as FormBuilder} from './FormBuilder'
export {default as FormBuilderContext} from './FormBuilderContext'
export {default as BlockEditor} from './inputs/BlockEditor-slate'
export {default as BlockEditor} from './inputs/BlockEditor'
export {default as ReferenceInput} from './inputs/ReferenceInput'
export {default as FileInput} from './inputs/FileInput'
export {default as ImageInput} from './inputs/ImageInput'
Expand Down
2 changes: 1 addition & 1 deletion packages/@sanity/form-builder/src/sanity/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ export {default as PatchEvent} from '../PatchEvent'
export {default as HashFocusManager} from './focusManagers/HashFocusManager'
export {default as SimpleFocusManager} from './focusManagers/SimpleFocusManager'
export {patches}
export {BlockEditor} from '..'
export {default as BlockEditor} from '../inputs/BlockEditor'
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import OptionsArray from '../../inputs/OptionsArrayInput'
import BlockEditor from '../../inputs/BlockEditor-slate'
import BlockEditor from '../../inputs/BlockEditor'
import ArrayOfPrimitivesInput from '../../inputs/ArrayOfPrimitivesInput'
import TagsArrayInput from '../../inputs/TagsArrayInput'
import * as is from '../../utils/is'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,11 @@ export default class SanityDefaultPreview extends React.PureComponent {
return media
}

// If the asset is on media
if (value.media && value.media._type === 'reference' && value.media._ref) {
return this.renderMedia
}

// Legacy support for imageUrl
if (value.imageUrl) {
return this.renderImageUrl
Expand Down Expand Up @@ -138,6 +143,7 @@ export default class SanityDefaultPreview extends React.PureComponent {
title={item.title}
subtitle={item.subtitle}
description={item.description}
extendedPreview={item.extendedPreview}
media={media}
progress={_upload && _upload.progress}
/>
Expand Down

0 comments on commit 7357f8c

Please sign in to comment.