diff --git a/relog-web/package-lock.json b/relog-web/package-lock.json index 8717bdd..1128e7a 100644 --- a/relog-web/package-lock.json +++ b/relog-web/package-lock.json @@ -11,6 +11,7 @@ "@testing-library/react": "^12.1.4", "@testing-library/user-event": "^13.5.0", "d3": "^7.3.0", + "dagre": "^0.8.5", "react": "^17.0.2", "react-dom": "^17.0.2", "react-flow-renderer": "^9.7.4", @@ -6266,6 +6267,15 @@ "node": ">=12" } }, + "node_modules/dagre": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", + "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", + "dependencies": { + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -8310,6 +8320,14 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, + "node_modules/graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "dependencies": { + "lodash": "^4.17.15" + } + }, "node_modules/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", @@ -21012,6 +21030,15 @@ "d3-transition": "2 - 3" } }, + "dagre": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", + "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", + "requires": { + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, "damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -22504,6 +22531,14 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, + "graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "requires": { + "lodash": "^4.17.15" + } + }, "gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", diff --git a/relog-web/package.json b/relog-web/package.json index 3193359..529dbc2 100644 --- a/relog-web/package.json +++ b/relog-web/package.json @@ -2,11 +2,18 @@ "name": "relog-web", "version": "0.1.0", "private": true, + "homepage": "/RELOG/0.6/casebuilder", + "jest": { + "moduleNameMapper": { + "d3": "/node_modules/d3/dist/d3.min.js" + } + }, "dependencies": { "@testing-library/jest-dom": "^5.16.2", "@testing-library/react": "^12.1.4", "@testing-library/user-event": "^13.5.0", "d3": "^7.3.0", + "dagre": "^0.8.5", "react": "^17.0.2", "react-dom": "^17.0.2", "react-flow-renderer": "^9.7.4", @@ -37,4 +44,4 @@ "last 1 safari version" ] } -} +} \ No newline at end of file diff --git a/relog-web/src/Button.js b/relog-web/src/Button.js index 7ffb84b..2ca148b 100644 --- a/relog-web/src/Button.js +++ b/relog-web/src/Button.js @@ -1,22 +1,22 @@ -import styles from './Button.module.css'; +import styles from "./Button.module.css"; const Button = (props) => { - let className = styles.Button; - if (props.kind === "inline") { - className += " " + styles.inline; - } + let className = styles.Button; + if (props.kind === "inline") { + className += " " + styles.inline; + } - let tooltip = ""; - if (props.tooltip != undefined) { - tooltip = {props.tooltip}; - } + let tooltip = ""; + if (props.tooltip !== undefined) { + tooltip = {props.tooltip}; + } - return ( - - ); + return ( + + ); }; -export default Button; \ No newline at end of file +export default Button; diff --git a/relog-web/src/Button.module.css b/relog-web/src/Button.module.css index 87d62bb..e1f0b3c 100644 --- a/relog-web/src/Button.module.css +++ b/relog-web/src/Button.module.css @@ -1,35 +1,32 @@ .Button { - padding: 6px 36px; - margin: 12px 6px; - line-height: 24px; - border: var(--box-border); - /* background-color: white; */ - box-shadow: var(--box-shadow); - border-radius: var(--border-radius); - cursor: pointer; - color: rgba(0, 0, 0, 0.8); - text-transform: uppercase; - font-weight: bold; - font-size: 12px; - background: linear-gradient( - rgb(255, 255, 255) 25%, - rgb(245, 245, 245) 100% - ) + padding: 6px 36px; + margin: 12px 6px; + line-height: 24px; + border: var(--box-border); + /* background-color: white; */ + box-shadow: var(--box-shadow); + border-radius: var(--border-radius); + cursor: pointer; + color: rgba(0, 0, 0, 0.8); + text-transform: uppercase; + font-weight: bold; + font-size: 12px; + background: linear-gradient(rgb(255, 255, 255) 25%, rgb(245, 245, 245) 100%); } .Button:hover { - background: rgb(245, 245, 245); + background: rgb(245, 245, 245); } .Button:active { - background: rgba(220, 220, 220); + background: rgba(220, 220, 220); } .inline { - padding: 0 12px; - margin: 2px 4px 2px 0; - height: 32px; - font-size: 11px; + padding: 0 12px; + margin: 2px 4px 2px 0; + height: 32px; + font-size: 11px; } /* .inline:last-child { @@ -37,29 +34,29 @@ } */ .tooltip { - visibility: hidden; - background-color: #333; - color: white; - opacity: 0%; - width: 180px; - margin-top: 36px; - margin-left: -180px; - position: absolute; - z-index: 100; - text-transform: none; - font-size: 13px; - border-radius: 4px; - box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25); - line-height: 18px; - padding: 6px; - transition: opacity .5s; - font-weight: normal; - text-align: left; - padding: 6px 12px; + visibility: hidden; + background-color: #333; + color: white; + opacity: 0%; + width: 180px; + margin-top: 36px; + margin-left: -180px; + position: absolute; + z-index: 100; + text-transform: none; + font-size: 13px; + border-radius: 4px; + box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25); + line-height: 18px; + padding: 6px; + transition: opacity 0.5s; + font-weight: normal; + text-align: left; + padding: 6px 12px; } .Button:hover .tooltip { - visibility: visible; - opacity: 100%; - transition: opacity .5s; -} \ No newline at end of file + visibility: visible; + opacity: 100%; + transition: opacity 0.5s; +} diff --git a/relog-web/src/ButtonRow.js b/relog-web/src/ButtonRow.js deleted file mode 100644 index db3afcd..0000000 --- a/relog-web/src/ButtonRow.js +++ /dev/null @@ -1,7 +0,0 @@ -import styles from './ButtonRow.module.css'; - -const ButtonRow = (props) => { - return
{props.children}
; -}; - -export default ButtonRow; \ No newline at end of file diff --git a/relog-web/src/ButtonRow.module.css b/relog-web/src/ButtonRow.module.css deleted file mode 100644 index f26d8e8..0000000 --- a/relog-web/src/ButtonRow.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.ButtonRow { - text-align: center; -} \ No newline at end of file diff --git a/relog-web/src/Card.js b/relog-web/src/Card.js index 5a2a14a..4789b82 100644 --- a/relog-web/src/Card.js +++ b/relog-web/src/Card.js @@ -1,7 +1,7 @@ -import styles from './Card.module.css'; +import styles from "./Card.module.css"; const Card = (props) => { - return (
{props.children}
); + return
{props.children}
; }; -export default Card; \ No newline at end of file +export default Card; diff --git a/relog-web/src/Card.module.css b/relog-web/src/Card.module.css index 375760a..e0b1404 100644 --- a/relog-web/src/Card.module.css +++ b/relog-web/src/Card.module.css @@ -1,22 +1,22 @@ .Card { - border: var(--box-border); - box-shadow: var(--box-shadow); - border-radius: var(--border-radius); - background-color: white; - padding: 12px; - min-height: 24px; + border: var(--box-border); + box-shadow: var(--box-shadow); + border-radius: var(--border-radius); + background-color: white; + padding: 12px; + min-height: 24px; } .Card h1 { - margin: 12px -12px 0px -12px; - padding: 6px 12px 0px 12px; - font-size: 14px; - line-height: 35px; - border-top: 1px solid #ddd; + margin: 12px -12px 0px -12px; + padding: 6px 12px 0px 12px; + font-size: 14px; + line-height: 35px; + border-top: 1px solid #ddd; } .Card h1:first-child { - margin: -12px -12px 0px -12px; - border-top: none; - background: none; -} \ No newline at end of file + margin: -12px -12px 0px -12px; + border-top: none; + background: none; +} diff --git a/relog-web/src/DictInputRow.js b/relog-web/src/DictInputRow.js index 00f84a0..bb4be40 100644 --- a/relog-web/src/DictInputRow.js +++ b/relog-web/src/DictInputRow.js @@ -1,87 +1,91 @@ -import form_styles from './Form.module.css'; -import Button from './Button'; -import { validate } from './Form'; +import form_styles from "./Form.module.css"; +import Button from "./Button"; +import { validate } from "./Form"; const DictInputRow = (props) => { - const dict = { ...props.value }; - if (!props.disableKeys) { - dict[""] = "0"; - } + const dict = { ...props.value }; + if (!props.disableKeys) { + dict[""] = "0"; + } - let unit = ""; - if (props.unit) { - unit = ({props.unit}); - } + let unit = ""; + if (props.unit) { + unit = ({props.unit}); + } - let tooltip = ""; - if (props.tooltip != undefined) { - tooltip =