2020-04-18 18:14:09 +02:00
|
|
|
import React from 'react'
|
|
|
|
import PropTypes from 'prop-types'
|
|
|
|
import Svg from './Svg'
|
|
|
|
import Defs from './Defs'
|
|
|
|
import Part from './Part'
|
2019-05-05 17:06:22 +02:00
|
|
|
|
2020-04-18 18:14:09 +02:00
|
|
|
const Draft = (props) => (
|
2019-05-10 13:14:31 +02:00
|
|
|
<Svg
|
|
|
|
embed={props.settings.embed}
|
|
|
|
width={props.width}
|
|
|
|
height={props.height}
|
|
|
|
language={props.settings.locale}
|
2020-04-18 18:14:09 +02:00
|
|
|
id={props.settings.idPrefix + 'svg'}
|
2019-05-25 11:11:58 +02:00
|
|
|
design={props.design}
|
2019-06-23 18:00:50 +02:00
|
|
|
style={props.style}
|
2020-04-25 13:29:02 +02:00
|
|
|
viewBox={props.viewBox}
|
|
|
|
className={props.className || 'freesewing draft'}
|
2019-05-10 13:14:31 +02:00
|
|
|
>
|
|
|
|
<Defs
|
|
|
|
units={props.settings.units}
|
|
|
|
parts={props.parts}
|
|
|
|
paperless={props.settings.paperless}
|
|
|
|
design={props.design}
|
|
|
|
/>
|
|
|
|
<g>
|
2020-04-18 18:14:09 +02:00
|
|
|
{Object.keys(props.parts).map((name) => (
|
2019-05-10 13:14:31 +02:00
|
|
|
<Part
|
|
|
|
part={props.parts[name]}
|
|
|
|
language={props.settings.locale}
|
|
|
|
paperless={props.settings.paperless}
|
|
|
|
units={props.settings.units}
|
|
|
|
key={name}
|
|
|
|
name={name}
|
|
|
|
focus={props.focus}
|
|
|
|
design={props.design}
|
|
|
|
raiseEvent={props.raiseEvent}
|
|
|
|
/>
|
|
|
|
))}
|
|
|
|
</g>
|
|
|
|
</Svg>
|
2020-04-18 18:14:09 +02:00
|
|
|
)
|
2019-05-05 17:06:22 +02:00
|
|
|
|
|
|
|
Draft.propTypes = {
|
|
|
|
parts: PropTypes.object.isRequired,
|
|
|
|
settings: PropTypes.object.isRequired,
|
|
|
|
design: PropTypes.bool
|
2020-04-18 18:14:09 +02:00
|
|
|
}
|
2019-05-05 17:06:22 +02:00
|
|
|
|
|
|
|
Draft.defaultProps = {
|
2019-05-09 15:24:26 +02:00
|
|
|
design: false,
|
2019-06-23 18:00:50 +02:00
|
|
|
focus: false,
|
|
|
|
style: {}
|
2020-04-18 18:14:09 +02:00
|
|
|
}
|
2019-05-05 17:06:22 +02:00
|
|
|
|
2020-04-18 18:14:09 +02:00
|
|
|
export default Draft
|