2023-06-02 18:21:40 +02:00
|
|
|
import { PanZoomPattern as ShowPattern } from 'shared/components/workbench/pan-zoom-pattern.mjs'
|
2023-05-13 14:17:47 +02:00
|
|
|
import { DraftMenu, ns as menuNs } from './menu.mjs'
|
2023-06-21 21:17:07 -05:00
|
|
|
import { ViewHeader, ns as headerNs } from 'shared/components/workbench/views/view-header.mjs'
|
|
|
|
import { PanZoomContextProvider } from 'shared/components/workbench/pattern/pan-zoom-context.mjs'
|
2023-05-11 19:14:48 +02:00
|
|
|
|
2023-05-13 14:17:47 +02:00
|
|
|
export const ns = menuNs
|
|
|
|
|
|
|
|
export const DraftView = ({
|
|
|
|
design,
|
|
|
|
pattern,
|
|
|
|
patternConfig,
|
|
|
|
settings,
|
2023-06-21 22:14:57 -05:00
|
|
|
setSettings,
|
2023-05-13 14:17:47 +02:00
|
|
|
ui,
|
|
|
|
update,
|
|
|
|
language,
|
|
|
|
account,
|
2023-05-18 15:25:40 +02:00
|
|
|
DynamicDocs,
|
2023-06-10 20:33:34 +02:00
|
|
|
setView,
|
|
|
|
view,
|
2023-06-01 17:01:48 +02:00
|
|
|
}) => {
|
|
|
|
let output = null
|
2023-06-05 19:16:53 +02:00
|
|
|
let renderProps = false
|
2023-06-01 17:01:48 +02:00
|
|
|
if (ui.renderer === 'svg') {
|
|
|
|
try {
|
|
|
|
const __html = pattern.render()
|
|
|
|
output = <div dangerouslySetInnerHTML={{ __html }} />
|
|
|
|
} catch (err) {
|
|
|
|
console.log(err)
|
|
|
|
}
|
2023-06-02 18:21:40 +02:00
|
|
|
} else {
|
2023-06-05 19:16:53 +02:00
|
|
|
renderProps = pattern.getRenderProps()
|
2023-06-15 09:23:49 +02:00
|
|
|
output = <ShowPattern {...{ renderProps }} />
|
2023-06-02 18:21:40 +02:00
|
|
|
}
|
2023-06-01 17:01:48 +02:00
|
|
|
|
|
|
|
return (
|
2023-06-21 21:17:07 -05:00
|
|
|
<PanZoomContextProvider>
|
|
|
|
<div className="flex flex-col">
|
|
|
|
<ViewHeader
|
|
|
|
{...{
|
|
|
|
settings,
|
|
|
|
ui,
|
|
|
|
update,
|
|
|
|
control: account.control,
|
2023-06-21 22:14:57 -05:00
|
|
|
setSettings,
|
2023-06-21 21:17:07 -05:00
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<div className="flex flex-row">
|
|
|
|
<div className="w-2/3 shrink-0 grow lg:p-4 sticky top-0">{output}</div>
|
|
|
|
<div className="w-1/3 shrink grow-0 lg:p-4 max-w-2xl h-screen overflow-scroll">
|
|
|
|
<DraftMenu
|
|
|
|
{...{
|
|
|
|
design,
|
|
|
|
pattern,
|
|
|
|
patternConfig,
|
|
|
|
settings,
|
|
|
|
ui,
|
|
|
|
update,
|
|
|
|
language,
|
|
|
|
account,
|
|
|
|
DynamicDocs,
|
|
|
|
renderProps,
|
|
|
|
view,
|
|
|
|
setView,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
</div>
|
2023-06-15 09:23:49 +02:00
|
|
|
</div>
|
2023-06-01 17:01:48 +02:00
|
|
|
</div>
|
2023-06-21 21:17:07 -05:00
|
|
|
</PanZoomContextProvider>
|
2023-06-01 17:01:48 +02:00
|
|
|
)
|
|
|
|
}
|