diff --git a/packages/components/src/DraftConfigurator/DraftSettingAdvanced/index.js b/packages/components/src/DraftConfigurator/DraftSettingAdvanced/index.js
new file mode 100644
index 00000000000..e1a64a574ec
--- /dev/null
+++ b/packages/components/src/DraftConfigurator/DraftSettingAdvanced/index.js
@@ -0,0 +1,4 @@
+import React from 'react'
+import PatternOptionBool from '../PatternOptionBool'
+
+export default props =>
diff --git a/packages/components/src/DraftConfigurator/DraftSettingAdvanced/stories.js b/packages/components/src/DraftConfigurator/DraftSettingAdvanced/stories.js
new file mode 100644
index 00000000000..f9b9c606acf
--- /dev/null
+++ b/packages/components/src/DraftConfigurator/DraftSettingAdvanced/stories.js
@@ -0,0 +1,22 @@
+import React from 'react'
+import { storiesOf } from '@storybook/react'
+import Sa from '.'
+
+const props = {
+ raiseEvent: (type, data) => console.log(`Action of type ${type} triggered, data passed is`, data),
+ updateValue: (name, value) => console.log(`Updated setting ${name}, value is now: ${value}`),
+ name: 'sa',
+ dflt: 'dflt',
+ title: 'Seam allowance',
+ desc:
+ "This is the seam allowance description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.",
+ labels: {
+ none: 'No seam allowance',
+ dflt: 'Standard seam allowance',
+ custom: 'Custom seam allowance'
+ }
+}
+
+storiesOf('Low level/DraftSettingSa', module)
+ .add('Metric', () => )
+ .add('Imperial', () => )
diff --git a/packages/components/src/DraftConfigurator/DraftSettings/index.js b/packages/components/src/DraftConfigurator/DraftSettings/index.js
index 765274a3ef0..be1b0d75d83 100644
--- a/packages/components/src/DraftConfigurator/DraftSettings/index.js
+++ b/packages/components/src/DraftConfigurator/DraftSettings/index.js
@@ -1,51 +1,50 @@
-import React, { useState } from "react";
-import PropTypes from "prop-types";
-import { FormattedMessage } from "react-intl";
-import DraftSettingSa from "../DraftSettingSa";
-import DraftSettingMargin from "../DraftSettingMargin";
-import DraftSettingComplete from "../DraftSettingComplete";
-import DraftSettingPaperless from "../DraftSettingPaperless";
-import DraftSettingUnits from "../DraftSettingUnits";
-import DraftSettingLanguage from "../DraftSettingLanguage";
-import DraftSettingOnly from "../DraftSettingOnly";
-import RightIcon from "@material-ui/icons/KeyboardArrowRight";
+import React, { useState } from 'react'
+import PropTypes from 'prop-types'
+import { FormattedMessage } from 'react-intl'
+import DraftSettingSa from '../DraftSettingSa'
+import DraftSettingMargin from '../DraftSettingMargin'
+import DraftSettingComplete from '../DraftSettingComplete'
+import DraftSettingPaperless from '../DraftSettingPaperless'
+import DraftSettingAdvanced from '../DraftSettingAdvanced'
+import DraftSettingUnits from '../DraftSettingUnits'
+import DraftSettingLanguage from '../DraftSettingLanguage'
+import DraftSettingOnly from '../DraftSettingOnly'
+import RightIcon from '@material-ui/icons/KeyboardArrowRight'
const DraftSettings = props => {
- const [expanded, setExpanded] = useState([]);
+ const [expanded, setExpanded] = useState([])
const toggleGroup = group => {
- let shown = expanded.slice(0);
- let index = shown.indexOf(group);
- if (index === -1) shown.push(group);
- else shown.splice(index, 1);
- setExpanded(shown);
- };
+ let shown = expanded.slice(0)
+ let index = shown.indexOf(group)
+ if (index === -1) shown.push(group)
+ else shown.splice(index, 1)
+ setExpanded(shown)
+ }
const getDefault = setting => {
- if (props.recipe && typeof props.recipe.settings[setting] !== "undefined")
- return props.recipe.settings[setting];
+ if (props.recipe && typeof props.recipe.settings[setting] !== 'undefined')
+ return props.recipe.settings[setting]
switch (setting) {
- case "sa":
- return 10;
- case "only":
- return "dflt";
- case "complete":
- return true;
- case "margin":
- return 2;
- case "units":
- return props.units;
+ case 'sa':
+ return 10
+ case 'only':
+ return 'dflt'
+ case 'complete':
+ return true
+ case 'margin':
+ return 2
+ case 'units':
+ return props.units
default:
- return false;
+ return false
}
- };
+ }
- let noyes = [
- ,
-
- ];
+ let noyes = [, ]
+ let hideshow = [, ]
let units = {
metric: ,
imperial:
- };
+ }
const addProps = setting => {
const labels = {
sa: {
@@ -58,8 +57,9 @@ const DraftSettings = props => {
custom:
},
paperless: noyes,
- complete: noyes
- };
+ advanced: hideshow,
+ complete: hideshow
+ }
let childProps = {
raiseEvent: props.raiseEvent,
updateValue: props.updateValue,
@@ -69,80 +69,74 @@ const DraftSettings = props => {
labels: labels[setting],
noDocs: props.noDocs,
dflt: getDefault(setting)
- };
- childProps.title = (
-
- );
- childProps.desc = (
-
- );
- if (setting === "only") {
- childProps.customDflt = [];
- childProps.parts = {};
+ }
+ childProps.title =
+ childProps.desc =
+ if (setting === 'only') {
+ childProps.customDflt = []
+ childProps.parts = {}
if (props.config.draftOrder) {
for (let part of props.config.draftOrder)
- childProps.parts[part] = ;
+ childProps.parts[part] =
}
}
if (
- typeof props.gist !== "undefined" &&
- typeof props.gist.settings !== "undefined" &&
- typeof props.gist.settings[setting] !== "undefined"
+ typeof props.gist !== 'undefined' &&
+ typeof props.gist.settings !== 'undefined' &&
+ typeof props.gist.settings[setting] !== 'undefined'
)
- childProps.value = props.gist.settings[setting];
- else childProps.value = null;
+ childProps.value = props.gist.settings[setting]
+ else childProps.value = null
- return childProps;
- };
+ return childProps
+ }
let groups = {
- preferences: [
- ,
- ,
-
- ],
advanced: [
- ,
- ,
- ,
-
+ ,
+ ,
+ ,
+ ,
+
]
- };
+ }
return (
-
- {Object.keys(groups).map(group => {
- let open = true;
- if (expanded.indexOf(group) === -1) open = false;
- let children = null;
- if (open) children = groups[group].map(component => component);
- return (
-
- -
- toggleGroup(group)}>
-
-
-
-
- {children}
-
- );
- })}
-
- );
-};
+
+
+ {props.gist.settings.advanced ? (
+
+ {Object.keys(groups).map(group => {
+ let open = true
+ if (expanded.indexOf(group) === -1) open = false
+ let children = null
+ if (open) children = groups[group].map(component => component)
+ return (
+
+ -
+ toggleGroup(group)}>
+
+
+
+
+ {children}
+
+ )
+ })}
+
+ ) : null}
+
+ )
+}
DraftSettings.propTypes = {
config: PropTypes.object.isRequired
-};
+}
-DraftSettings.defaultProps = {};
+DraftSettings.defaultProps = {}
-export default DraftSettings;
+export default DraftSettings
diff --git a/packages/components/src/DraftConfigurator/PatternOptions/index.js b/packages/components/src/DraftConfigurator/PatternOptions/index.js
index 7685fedbc3c..7b465aac705 100644
--- a/packages/components/src/DraftConfigurator/PatternOptions/index.js
+++ b/packages/components/src/DraftConfigurator/PatternOptions/index.js
@@ -1,30 +1,30 @@
-import React, { useState } from "react";
-import PropTypes from "prop-types";
-import OptionGroup from "../OptionGroup";
-import { FormattedMessage } from "react-intl";
-import RightIcon from "@material-ui/icons/KeyboardArrowRight";
+import React, { useState } from 'react'
+import PropTypes from 'prop-types'
+import OptionGroup from '../OptionGroup'
+import { FormattedMessage } from 'react-intl'
+import RightIcon from '@material-ui/icons/KeyboardArrowRight'
const PatternOptions = props => {
- const [expanded, setExpanded] = useState([]);
+ const [expanded, setExpanded] = useState([])
const toggleGroup = group => {
- let shown = expanded.slice(0);
- let index = shown.indexOf(group);
- if (index === -1) shown.push(group);
- else shown.splice(index, 1);
- setExpanded(shown);
- };
+ let shown = expanded.slice(0)
+ let index = shown.indexOf(group)
+ if (index === -1) shown.push(group)
+ else shown.splice(index, 1)
+ setExpanded(shown)
+ }
const renderGroup = group => {
- let open = true;
- if (expanded.indexOf(group) === -1) open = false;
- let output = [];
- let children = null;
+ let open = true
+ if (expanded.indexOf(group) === -1) open = false
+ let output = []
+ let children = null
if (expanded.indexOf(group) !== -1)
children = (
{
raiseEvent={props.raiseEvent}
/>
- );
+ )
output.push(
-
+
toggleGroup(group)}>
-
-
+
+
{children}
- );
+ )
- return output;
- };
+ return output
+ }
- return (
-
- {Object.keys(props.config.optionGroups).map(group => renderGroup(group))}
-
- );
-};
+ const children = []
+ for (let group in props.config.optionGroups) {
+ if (props.gist.settings.advanced || group !== 'advanced') {
+ children.push(renderGroup(group))
+ }
+ }
+
+ return
+}
PatternOptions.propTypes = {
config: PropTypes.object.isRequired,
raiseEvent: PropTypes.func
-};
+}
-PatternOptions.defaultProps = {};
+PatternOptions.defaultProps = {}
-export default PatternOptions;
+export default PatternOptions
diff --git a/packages/components/src/DraftConfigurator/index.js b/packages/components/src/DraftConfigurator/index.js
index 5e2fc1c79f0..0bf99596f0c 100644
--- a/packages/components/src/DraftConfigurator/index.js
+++ b/packages/components/src/DraftConfigurator/index.js
@@ -25,7 +25,7 @@ const DraftConfigurator = props => {
-
+