From 03da84b824d96e15d1ab529b721e4f20227aa5f8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 18 Jul 2020 16:48:29 +0200 Subject: [PATCH] feat(core): Added new debug event type and debug system --- config/changelog.yaml | 8 + config/dependencies.yaml | 1 + packages/aaron/example/package.json | 16 +- packages/benjamin/example/package.json | 16 +- packages/bent/example/package.json | 16 +- packages/breanna/example/package.json | 16 +- packages/brian/example/package.json | 16 +- packages/bruce/example/package.json | 16 +- packages/carlita/example/package.json | 16 +- packages/carlton/example/package.json | 16 +- packages/cathrin/example/package.json | 16 +- packages/components/package.json | 1 + packages/components/rollup.config.js | 2 +- packages/components/src/Draft/Text/index.js | 1 - .../Workbench/DraftPattern/Events/event.js | 20 +++ .../Workbench/DraftPattern/Events/index.js | 16 ++ .../src/Workbench/DraftPattern/index.js | 2 + packages/components/src/Workbench/index.js | 9 +- packages/core/src/part.js | 144 ++++++++++++++-- packages/core/src/path.js | 152 ++++++++++++----- packages/core/src/pattern.js | 101 +++++++---- packages/core/src/point.js | 159 +++++++++++++++--- packages/core/src/snippet.js | 14 +- packages/core/src/store.js | 11 +- packages/core/src/utils.js | 7 + .../template/default/example/package.json | 1 + packages/css-theme/src/_components.scss | 1 + packages/css-theme/src/components/_event.scss | 58 +++++++ packages/css-theme/src/elements/_code.scss | 36 ++-- packages/diana/example/package.json | 16 +- packages/examples/example/package.json | 16 +- packages/florence/example/package.json | 16 +- packages/florent/example/package.json | 16 +- packages/holmes/example/package.json | 16 +- packages/huey/example/package.json | 16 +- packages/hugo/example/package.json | 16 +- packages/jaeger/example/package.json | 16 +- packages/legend/example/package.json | 16 +- packages/penelope/example/package.json | 16 +- packages/rendertest/example/package.json | 16 +- packages/sandy/example/package.json | 16 +- packages/shin/example/package.json | 16 +- packages/simon/example/package.json | 16 +- packages/simone/example/package.json | 17 +- packages/simone/src/fba-front.js | 17 +- packages/sven/example/package.json | 16 +- packages/tamiko/example/package.json | 16 +- packages/theo/example/package.json | 16 +- packages/trayvon/example/package.json | 16 +- packages/tutorial/example/package.json | 16 +- packages/wahid/example/package.json | 16 +- packages/waralee/example/package.json | 16 +- 52 files changed, 860 insertions(+), 398 deletions(-) create mode 100644 packages/components/src/Workbench/DraftPattern/Events/event.js create mode 100644 packages/components/src/Workbench/DraftPattern/Events/index.js create mode 100644 packages/css-theme/src/components/_event.scss diff --git a/config/changelog.yaml b/config/changelog.yaml index 1ddaf9ae01c..d179f46a698 100644 --- a/config/changelog.yaml +++ b/config/changelog.yaml @@ -1,5 +1,13 @@ Unreleased: date: + Added: + core: + - Added new debug functionality through the use of the `raise.debug` + - Added a new `debug` setting + components: + - Workbench now includes events debug output and enables debug by default + css-theme: + - Added themeing for events 2.7.0: date: 2020-07-12 diff --git a/config/dependencies.yaml b/config/dependencies.yaml index a462c775c88..7396c6cbe2f 100644 --- a/config/dependencies.yaml +++ b/config/dependencies.yaml @@ -89,6 +89,7 @@ components: '@material-ui/icons': '^4.0.1' '@material-ui/lab': '^v4.0.0-alpha.14' 'prismjs': '1.16.0' + 'react-markdown': '4.3.1' 'file-saver': '^2.0.2' core: _: diff --git a/packages/aaron/example/package.json b/packages/aaron/example/package.json index 2acc888f056..4bd4ebaf68f 100644 --- a/packages/aaron/example/package.json +++ b/packages/aaron/example/package.json @@ -16,14 +16,14 @@ "@freesewing/plugin-i18n": "latest", "@freesewing/plugin-svgattr": "latest", "@freesewing/utils": "latest", - "@material-ui/core": "^4.4.0", - "@material-ui/icons": "^4.2.1", - "@material-ui/lab": "^v4.0.0-alpha.25", + "@material-ui/core": "^4.11.0", + "@material-ui/icons": "^4.9.1", + "@material-ui/lab": "^v4.0.0-alpha.56", "pattern": "link:..", - "prismjs": "1.17.1", - "react": "^16.9", - "react-dom": "^16.9", - "react-scripts": "^3.1.1", + "prismjs": "1.20.0", + "react": "^16.13", + "react-dom": "^16.13", + "react-scripts": "^3.4.1", "file-saver": "^2.0.2", "typeface-roboto-condensed": "latest" }, @@ -43,6 +43,6 @@ "not op_mini all" ], "devDependencies": { - "babel-plugin-prismjs": "1.1.1" + "babel-plugin-prismjs": "2.0.1" } } diff --git a/packages/benjamin/example/package.json b/packages/benjamin/example/package.json index 8a67e75b3bb..d1794f82e64 100644 --- a/packages/benjamin/example/package.json +++ b/packages/benjamin/example/package.json @@ -16,14 +16,14 @@ "@freesewing/plugin-i18n": "latest", "@freesewing/plugin-svgattr": "latest", "@freesewing/utils": "latest", - "@material-ui/core": "^4.4.0", - "@material-ui/icons": "^4.2.1", - "@material-ui/lab": "^v4.0.0-alpha.25", + "@material-ui/core": "^4.11.0", + "@material-ui/icons": "^4.9.1", + "@material-ui/lab": "^v4.0.0-alpha.56", "pattern": "link:..", - "prismjs": "1.17.1", - "react": "^16.9", - "react-dom": "^16.9", - "react-scripts": "^3.1.1", + "prismjs": "1.20.0", + "react": "^16.13", + "react-dom": "^16.13", + "react-scripts": "^3.4.1", "file-saver": "^2.0.2", "typeface-roboto-condensed": "latest" }, @@ -43,6 +43,6 @@ "not op_mini all" ], "devDependencies": { - "babel-plugin-prismjs": "1.1.1" + "babel-plugin-prismjs": "2.0.1" } } diff --git a/packages/bent/example/package.json b/packages/bent/example/package.json index 7468b8af29a..971a80bf4cf 100644 --- a/packages/bent/example/package.json +++ b/packages/bent/example/package.json @@ -16,14 +16,14 @@ "@freesewing/plugin-i18n": "latest", "@freesewing/plugin-svgattr": "latest", "@freesewing/utils": "latest", - "@material-ui/core": "^4.4.0", - "@material-ui/icons": "^4.2.1", - "@material-ui/lab": "^v4.0.0-alpha.25", + "@material-ui/core": "^4.11.0", + "@material-ui/icons": "^4.9.1", + "@material-ui/lab": "^v4.0.0-alpha.56", "pattern": "link:..", - "prismjs": "1.17.1", - "react": "^16.9", - "react-dom": "^16.9", - "react-scripts": "^3.1.1", + "prismjs": "1.20.0", + "react": "^16.13", + "react-dom": "^16.13", + "react-scripts": "^3.4.1", "file-saver": "^2.0.2", "typeface-roboto-condensed": "latest" }, @@ -43,6 +43,6 @@ "not op_mini all" ], "devDependencies": { - "babel-plugin-prismjs": "1.1.1" + "babel-plugin-prismjs": "2.0.1" } } diff --git a/packages/breanna/example/package.json b/packages/breanna/example/package.json index 8efb7e5cab8..f8db25bc47f 100644 --- a/packages/breanna/example/package.json +++ b/packages/breanna/example/package.json @@ -16,14 +16,14 @@ "@freesewing/plugin-i18n": "latest", "@freesewing/plugin-svgattr": "latest", "@freesewing/utils": "latest", - "@material-ui/core": "^4.4.0", - "@material-ui/icons": "^4.2.1", - "@material-ui/lab": "^v4.0.0-alpha.25", + "@material-ui/core": "^4.11.0", + "@material-ui/icons": "^4.9.1", + "@material-ui/lab": "^v4.0.0-alpha.56", "pattern": "link:..", - "prismjs": "1.17.1", - "react": "^16.9", - "react-dom": "^16.9", - "react-scripts": "^3.1.1", + "prismjs": "1.20.0", + "react": "^16.13", + "react-dom": "^16.13", + "react-scripts": "^3.4.1", "file-saver": "^2.0.2", "typeface-roboto-condensed": "latest" }, @@ -43,6 +43,6 @@ "not op_mini all" ], "devDependencies": { - "babel-plugin-prismjs": "1.1.1" + "babel-plugin-prismjs": "2.0.1" } } diff --git a/packages/brian/example/package.json b/packages/brian/example/package.json index 632f72ff9e7..f91d001f814 100644 --- a/packages/brian/example/package.json +++ b/packages/brian/example/package.json @@ -16,14 +16,14 @@ "@freesewing/plugin-i18n": "latest", "@freesewing/plugin-svgattr": "latest", "@freesewing/utils": "latest", - "@material-ui/core": "^4.4.0", - "@material-ui/icons": "^4.2.1", - "@material-ui/lab": "^v4.0.0-alpha.25", + "@material-ui/core": "^4.11.0", + "@material-ui/icons": "^4.9.1", + "@material-ui/lab": "^v4.0.0-alpha.56", "pattern": "link:..", - "prismjs": "1.17.1", - "react": "^16.9", - "react-dom": "^16.9", - "react-scripts": "^3.1.1", + "prismjs": "1.20.0", + "react": "^16.13", + "react-dom": "^16.13", + "react-scripts": "^3.4.1", "file-saver": "^2.0.2", "typeface-roboto-condensed": "latest" }, @@ -43,6 +43,6 @@ "not op_mini all" ], "devDependencies": { - "babel-plugin-prismjs": "1.1.1" + "babel-plugin-prismjs": "2.0.1" } } diff --git a/packages/bruce/example/package.json b/packages/bruce/example/package.json index 527e67a5fff..dd3b5c7adc8 100644 --- a/packages/bruce/example/package.json +++ b/packages/bruce/example/package.json @@ -16,14 +16,14 @@ "@freesewing/plugin-i18n": "latest", "@freesewing/plugin-svgattr": "latest", "@freesewing/utils": "latest", - "@material-ui/core": "^4.4.0", - "@material-ui/icons": "^4.2.1", - "@material-ui/lab": "^v4.0.0-alpha.25", + "@material-ui/core": "^4.11.0", + "@material-ui/icons": "^4.9.1", + "@material-ui/lab": "^v4.0.0-alpha.56", "pattern": "link:..", - "prismjs": "1.17.1", - "react": "^16.9", - "react-dom": "^16.9", - "react-scripts": "^3.1.1", + "prismjs": "1.20.0", + "react": "^16.13", + "react-dom": "^16.13", + "react-scripts": "^3.4.1", "file-saver": "^2.0.2", "typeface-roboto-condensed": "latest" }, @@ -43,6 +43,6 @@ "not op_mini all" ], "devDependencies": { - "babel-plugin-prismjs": "1.1.1" + "babel-plugin-prismjs": "2.0.1" } } diff --git a/packages/carlita/example/package.json b/packages/carlita/example/package.json index 6f3b702d3a6..4f8caba79cf 100644 --- a/packages/carlita/example/package.json +++ b/packages/carlita/example/package.json @@ -16,14 +16,14 @@ "@freesewing/plugin-i18n": "latest", "@freesewing/plugin-svgattr": "latest", "@freesewing/utils": "latest", - "@material-ui/core": "^4.4.0", - "@material-ui/icons": "^4.2.1", - "@material-ui/lab": "^v4.0.0-alpha.25", + "@material-ui/core": "^4.11.0", + "@material-ui/icons": "^4.9.1", + "@material-ui/lab": "^v4.0.0-alpha.56", "pattern": "link:..", - "prismjs": "1.17.1", - "react": "^16.9", - "react-dom": "^16.9", - "react-scripts": "^3.1.1", + "prismjs": "1.20.0", + "react": "^16.13", + "react-dom": "^16.13", + "react-scripts": "^3.4.1", "file-saver": "^2.0.2", "typeface-roboto-condensed": "latest" }, @@ -43,6 +43,6 @@ "not op_mini all" ], "devDependencies": { - "babel-plugin-prismjs": "1.1.1" + "babel-plugin-prismjs": "2.0.1" } } diff --git a/packages/carlton/example/package.json b/packages/carlton/example/package.json index b700ab0795a..a83602a7a59 100644 --- a/packages/carlton/example/package.json +++ b/packages/carlton/example/package.json @@ -16,14 +16,14 @@ "@freesewing/plugin-i18n": "latest", "@freesewing/plugin-svgattr": "latest", "@freesewing/utils": "latest", - "@material-ui/core": "^4.4.0", - "@material-ui/icons": "^4.2.1", - "@material-ui/lab": "^v4.0.0-alpha.25", + "@material-ui/core": "^4.11.0", + "@material-ui/icons": "^4.9.1", + "@material-ui/lab": "^v4.0.0-alpha.56", "pattern": "link:..", - "prismjs": "1.17.1", - "react": "^16.9", - "react-dom": "^16.9", - "react-scripts": "^3.1.1", + "prismjs": "1.20.0", + "react": "^16.13", + "react-dom": "^16.13", + "react-scripts": "^3.4.1", "file-saver": "^2.0.2", "typeface-roboto-condensed": "latest" }, @@ -43,6 +43,6 @@ "not op_mini all" ], "devDependencies": { - "babel-plugin-prismjs": "1.1.1" + "babel-plugin-prismjs": "2.0.1" } } diff --git a/packages/cathrin/example/package.json b/packages/cathrin/example/package.json index 507e312edff..303085428c2 100644 --- a/packages/cathrin/example/package.json +++ b/packages/cathrin/example/package.json @@ -16,14 +16,14 @@ "@freesewing/plugin-i18n": "latest", "@freesewing/plugin-svgattr": "latest", "@freesewing/utils": "latest", - "@material-ui/core": "^4.4.0", - "@material-ui/icons": "^4.2.1", - "@material-ui/lab": "^v4.0.0-alpha.25", + "@material-ui/core": "^4.11.0", + "@material-ui/icons": "^4.9.1", + "@material-ui/lab": "^v4.0.0-alpha.56", "pattern": "link:..", - "prismjs": "1.17.1", - "react": "^16.9", - "react-dom": "^16.9", - "react-scripts": "^3.1.1", + "prismjs": "1.20.0", + "react": "^16.13", + "react-dom": "^16.13", + "react-scripts": "^3.4.1", "file-saver": "^2.0.2", "typeface-roboto-condensed": "latest" }, @@ -43,6 +43,6 @@ "not op_mini all" ], "devDependencies": { - "babel-plugin-prismjs": "1.1.1" + "babel-plugin-prismjs": "2.0.1" } } diff --git a/packages/components/package.json b/packages/components/package.json index c319ec07f90..4478edd435c 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -44,6 +44,7 @@ "@material-ui/icons": "^4.0.1", "@material-ui/lab": "^v4.0.0-alpha.14", "prismjs": "1.16.0", + "react-markdown": "4.3.1", "file-saver": "^2.0.2" }, "dependencies": {}, diff --git a/packages/components/rollup.config.js b/packages/components/rollup.config.js index 428b0fdcf59..59828767b75 100644 --- a/packages/components/rollup.config.js +++ b/packages/components/rollup.config.js @@ -33,7 +33,7 @@ const createConfig = (component, module) => { const config = [] // When developing, you can use this to only rebuild the components you're working on -let dev = false +let dev = true let only = ['Workbench'] for (let component of components) { if (!dev || only.indexOf(component) !== -1) config.push(createConfig(component, false)) diff --git a/packages/components/src/Draft/Text/index.js b/packages/components/src/Draft/Text/index.js index bbf8f12508a..4c31e90a76f 100644 --- a/packages/components/src/Draft/Text/index.js +++ b/packages/components/src/Draft/Text/index.js @@ -18,7 +18,6 @@ const Text = (props) => { text.push({lines.shift()}) for (let line of lines) { key++ - console.log('multi', line, typeof line) text.push( ( +
+
+ {type === 'debug' && } + {type === 'info' && } + {type === 'warning' && } + {type === 'error' && } +
+ +
+) + +export default Event diff --git a/packages/components/src/Workbench/DraftPattern/Events/index.js b/packages/components/src/Workbench/DraftPattern/Events/index.js new file mode 100644 index 00000000000..40b678fec07 --- /dev/null +++ b/packages/components/src/Workbench/DraftPattern/Events/index.js @@ -0,0 +1,16 @@ +import React from 'react' +import Event from './event' + +const DraftEvents = ({ events, app }) => ( +
+ {['error', 'warning', 'info', 'debug'].map((type) => ( +
+ {events[type].map((event, index) => ( + + ))} +
+ ))} +
+) + +export default DraftEvents diff --git a/packages/components/src/Workbench/DraftPattern/index.js b/packages/components/src/Workbench/DraftPattern/index.js index 17bb795f2af..060ddbbdfbb 100644 --- a/packages/components/src/Workbench/DraftPattern/index.js +++ b/packages/components/src/Workbench/DraftPattern/index.js @@ -16,6 +16,7 @@ import PaperlessIcon from '@material-ui/icons/Nature' import CompleteIcon from '@material-ui/icons/Style' import UnhideIcon from '@material-ui/icons/ChevronLeft' import HideIcon from '@material-ui/icons/ChevronRight' +import Events from './Events' const DraftPattern = (props) => { const [design, setDesign] = useState(true) @@ -123,6 +124,7 @@ const DraftPattern = (props) => { viewBox={viewBox} className="freesewing draft shadow" /> + {hideAside && (
{ let m = getMeasurements() setMeasurements(m) @@ -220,7 +223,11 @@ const Workbench = ({ return ( -
+
{display !== 'welcome' ? saveDisplay('welcome')} /> : null} {main} {display !== 'welcome' ?