1
0
Fork 0
freesewing/packages/freesewing.shared/components/workbench/draft/index.js
Joost De Cock 3653700572 wip(lab): Work on workbench
- Moved the various tabs on the draft view to their own views.
- Renames modes to views
- Started to group various aspects of the workbench state under
  `_state` in the gist to prevent it from getting all mixed up
  with the core settings.
- Updated events title to make it more clear not all events might
  be present
- Removed valid state in measurements input since it was only
  getting updated on keyboard input but now when preloading
  measurements (which it does now)
2022-02-12 14:33:36 +01:00

43 lines
1.1 KiB
JavaScript

import SvgWrapper from './svg-wrapper'
import Error from './error.js'
import { capitalize } from 'shared/utils.js'
import { TransformWrapper, TransformComponent } from "react-zoom-pan-pinch"
const LabDraft = props => {
const { app, draft, pattern, gist, updateGist, unsetGist } = props
if (!draft) return null
if (gist?.renderer === 'svg') {
// Render as SVG
let svg
try { svg = draft.render() }
catch(error) {
console.log('Failed to render pattern', error)
return <Error error={error} {...props} />
}
return <div dangerouslySetInnerHTML={{ __html: svg }} />
}
// Render as React
let patternProps = {}
try { patternProps = draft.draft().getRenderProps() }
catch(error) {
console.log('Failed to get render props for pattern', error)
return <Error error={error} {...props} />
}
return (
<div>
<SvgWrapper
draft={draft}
patternProps={patternProps}
gist={gist}
updateGist={updateGist}
unsetGist={unsetGist}
app={app}
/>
</div>
)
}
export default LabDraft