1
0
Fork 0
freesewing/plugins/plugin-annotations/src/index.mjs

70 lines
2 KiB
JavaScript
Raw Normal View History

2023-03-08 05:15:30 +00:00
import { name, version } from '../data.mjs'
2023-09-06 08:14:49 +02:00
// i18n
import { i18n as i18nAnnotations } from '../i18n/index.mjs'
2023-04-21 03:48:37 +00:00
// Defs only
import { buttonsDefs } from './buttons.mjs'
import { logoDefs } from './logo.mjs'
import { notchesDefs } from './notches.mjs'
// Macros only
import { bannerMacros } from './banner.mjs'
import { bannerboxMacros } from './bannerbox.mjs'
import { bartackMacros } from './bartack.mjs'
import { crossboxMacros } from './crossbox.mjs'
import { cutlistStores, cutlistHooks } from './cutlist.mjs'
import { scaleboxMacros } from './scalebox.mjs'
import { titleMacros } from './title.mjs'
2023-04-21 03:48:37 +00:00
// Defs and Macros
import { cutonfoldMacros, cutonfoldDefs } from './cutonfold.mjs'
import { dimensionsMacros, dimensionsDefs } from './dimensions.mjs'
import { grainlineMacros, grainlineDefs } from './grainline.mjs'
import { pleatMacros, pleatDefs } from './pleat.mjs'
import { sewtogetherMacros, sewtogetherDefs } from './sewtogether.mjs'
2023-09-07 10:29:19 +02:00
// Only stores
import { flagStores } from './flag.mjs'
2023-03-08 05:15:30 +00:00
export const plugin = {
name,
version,
hooks: {
preRender: [
2023-04-21 03:48:37 +00:00
function (svg) {
const defs = [
...buttonsDefs,
...cutonfoldDefs,
...dimensionsDefs,
...grainlineDefs,
...logoDefs,
...notchesDefs,
...pleatDefs,
...sewtogetherDefs,
]
for (const def of defs) {
svg.defs.setIfUnset(
def.name,
typeof def.def === 'function' ? def.def(svg.pattern.settings[0].scale) : def.def
)
}
},
],
prePartDraft: [...cutlistHooks.prePartDraft],
},
macros: {
...bannerMacros,
...bannerboxMacros,
...bartackMacros,
...crossboxMacros,
...scaleboxMacros,
...cutonfoldMacros,
...dimensionsMacros,
...grainlineMacros,
...pleatMacros,
...sewtogetherMacros,
...titleMacros,
},
2023-09-07 10:29:19 +02:00
store: [...cutlistStores, ...flagStores],
2023-03-08 05:15:30 +00:00
}
export const annotationsPlugin = plugin
export const pluginAnnotations = plugin
2023-09-06 08:14:49 +02:00
export const i18n = i18nAnnotations