1
0
Fork 0
freesewing/packages/carlita/src/index.js

57 lines
1.5 KiB
JavaScript
Raw Normal View History

2019-04-06 12:30:11 +02:00
import freesewing from "freesewing";
import plugins from "@freesewing/plugin-bundle";
import buttons from "@freesewing/plugin-buttons";
import bust from "@freesewing/plugin-bust";
import Bent from "@freesewing/bent";
import Carlton from "@freesewing/carlton";
import config from "../config";
// Parts
import draftFront from "./front";
import draftSide from "./side";
// Create new design
const Carlita = new freesewing.Design(config, [plugins, buttons, bust]);
let fromBent = ["Base", "Front", "Back", "Sleeve", "TopSleeve", "UnderSleeve"];
// Attach draft methods from Bent to prototype
for (let m of fromBent) {
Carlita.prototype["draftBent" + m] = function(part) {
return new Bent(this.settings)["draft" + m](part);
};
}
// Attach draft methods from Carlton to prototype
for (let m of [
"draftBack",
"draftTail",
"draftTopSleeve",
"draftUnderSleeve",
"draftBelt",
"draftCollarStand",
"draftCollar",
"draftCuffFacing",
"draftPocket",
"draftPocketFlap",
"draftPocketLining",
"draftChestPocketWelt",
"draftChestPocketBag",
"draftInnerPocketWelt",
"draftInnerPocketBag",
"draftInnerPocketTab"
]) {
Carlita.prototype[m] = function(part) {
return new Carlton(this.settings)[m](part);
};
}
Carlita.prototype.draftCarltonFront = function(part) {
return new Carlton(this.settings).draftFront(part);
};
// Attach own draft methods to prototype
Carlita.prototype.draftFront = draftFront;
Carlita.prototype.draftSide = draftSide;
export default Carlita;