2019-08-03 15:03:33 +02:00
|
|
|
import freesewing from '@freesewing/core'
|
|
|
|
import plugins from '@freesewing/plugin-bundle'
|
2022-07-09 17:43:57 +02:00
|
|
|
import plugin from '@freesewing/plugin-bust' // Note: conditional plugin
|
2019-08-03 15:03:33 +02:00
|
|
|
import Bent from '@freesewing/bent'
|
|
|
|
import config from '../config'
|
2019-03-16 11:39:06 +01:00
|
|
|
// Parts
|
2019-08-03 15:03:33 +02:00
|
|
|
import draftBackBase from './backbase'
|
|
|
|
import draftFrontBase from './frontbase'
|
|
|
|
import draftFront from './front'
|
|
|
|
import draftBack from './back'
|
|
|
|
import draftSide from './side'
|
|
|
|
import draftCollarStand from './collarstand'
|
|
|
|
import draftCollar from './collar'
|
|
|
|
import draftUnderCollar from './undercollar'
|
|
|
|
import draftPocket from './pocket'
|
|
|
|
import draftPocketLining from './pocketlining'
|
|
|
|
import draftChestPocketWelt from './chestpocketwelt'
|
|
|
|
import draftChestPocketBag from './chestpocketbag'
|
|
|
|
import draftInnerPocketWelt from './innerpocketwelt'
|
|
|
|
import draftInnerPocketBag from './innerpocketbag'
|
|
|
|
import draftTopSleeve from './topsleeve'
|
|
|
|
import draftUnderSleeve from './undersleeve'
|
2019-03-16 11:39:06 +01:00
|
|
|
|
2022-07-09 17:43:57 +02:00
|
|
|
/* Check to see whether we should load the bust plugin
|
|
|
|
* Only of the `draftForHighBust` options is set
|
|
|
|
* AND the highBust measurement is available
|
|
|
|
*/
|
|
|
|
const condition = (settings = false) =>
|
|
|
|
settings &&
|
|
|
|
settings.options &&
|
|
|
|
settings.options.draftForHighBust &&
|
|
|
|
settings.measurements.highBust
|
|
|
|
? true
|
|
|
|
: false
|
|
|
|
|
|
|
|
// Create design
|
|
|
|
const Jaeger = new freesewing.Design(config, plugins, { plugin, condition })
|
2019-03-16 11:39:06 +01:00
|
|
|
|
|
|
|
// Attach draft methods from Bent to prototype
|
2022-06-14 13:09:10 +02:00
|
|
|
Jaeger.prototype.draftBentBase = function (part) {
|
2019-08-03 15:03:33 +02:00
|
|
|
return new Bent(this.settings).draftBase(part)
|
|
|
|
}
|
2022-06-14 13:09:10 +02:00
|
|
|
Jaeger.prototype.draftBentFront = function (part) {
|
2019-08-03 15:03:33 +02:00
|
|
|
return new Bent(this.settings).draftFront(part)
|
|
|
|
}
|
2022-06-14 13:09:10 +02:00
|
|
|
Jaeger.prototype.draftBentBack = function (part) {
|
2019-08-03 15:03:33 +02:00
|
|
|
return new Bent(this.settings).draftBack(part)
|
|
|
|
}
|
2022-06-14 13:09:10 +02:00
|
|
|
Jaeger.prototype.draftBentSleeve = function (part) {
|
2019-08-03 15:03:33 +02:00
|
|
|
return new Bent(this.settings).draftSleeve(part)
|
|
|
|
}
|
2022-06-14 13:09:10 +02:00
|
|
|
Jaeger.prototype.draftBentTopSleeve = function (part) {
|
2019-08-03 15:03:33 +02:00
|
|
|
return new Bent(this.settings).draftTopSleeve(part)
|
|
|
|
}
|
2022-06-14 13:09:10 +02:00
|
|
|
Jaeger.prototype.draftBentUnderSleeve = function (part) {
|
2019-08-03 15:03:33 +02:00
|
|
|
return new Bent(this.settings).draftUnderSleeve(part)
|
|
|
|
}
|
2019-03-16 11:39:06 +01:00
|
|
|
|
|
|
|
// Attach own draft methods to prototype
|
2022-06-14 13:09:10 +02:00
|
|
|
Jaeger.prototype.draftBackBase = draftBackBase
|
|
|
|
Jaeger.prototype.draftFrontBase = draftFrontBase
|
|
|
|
Jaeger.prototype.draftFront = draftFront
|
|
|
|
Jaeger.prototype.draftBack = draftBack
|
|
|
|
Jaeger.prototype.draftSide = draftSide
|
|
|
|
Jaeger.prototype.draftCollarStand = draftCollarStand
|
|
|
|
Jaeger.prototype.draftCollar = draftCollar
|
|
|
|
Jaeger.prototype.draftUnderCollar = draftUnderCollar
|
|
|
|
Jaeger.prototype.draftPocket = draftPocket
|
|
|
|
Jaeger.prototype.draftPocketLining = draftPocketLining
|
|
|
|
Jaeger.prototype.draftChestPocketWelt = draftChestPocketWelt
|
|
|
|
Jaeger.prototype.draftChestPocketBag = draftChestPocketBag
|
|
|
|
Jaeger.prototype.draftInnerPocketWelt = draftInnerPocketWelt
|
|
|
|
Jaeger.prototype.draftInnerPocketBag = draftInnerPocketBag
|
|
|
|
Jaeger.prototype.draftTopSleeve = draftTopSleeve
|
|
|
|
Jaeger.prototype.draftUnderSleeve = draftUnderSleeve
|
2019-03-16 11:39:06 +01:00
|
|
|
|
2022-06-14 13:09:10 +02:00
|
|
|
// Named exports
|
|
|
|
export { config, Jaeger }
|
|
|
|
|
|
|
|
// Default export
|
|
|
|
export default Jaeger
|