diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..cf70988
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1 @@
+**/node_modules
diff --git a/.gitignore b/.gitignore
index 46aa385..7d0e412 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,5 +3,7 @@ server/api/**/*.nedb
server/static/javascript
server/static/react
client/node_modules/
+Dockerfile
.vscode
+site
diff --git a/client/package.json b/client/package.json
index 32eb938..6647ba3 100644
--- a/client/package.json
+++ b/client/package.json
@@ -35,6 +35,7 @@
"react-ga": "^3.2.0",
"react-helmet": "^6.1.0",
"react-live": "^2.2.3",
+ "react-loadable": "^5.5.0",
"react-redux": "^7.2.2",
"react-scripts": "4.0.0",
"react-sortable-hoc": "^1.11.0",
@@ -43,6 +44,7 @@
"redial": "^0.5.0",
"redux": "^4.0.5",
"redux-logger": "^3.0.6",
+ "source-map-explorer": "^2.5.0",
"web-vitals": "^0.2.4"
},
"devDependencies": {
@@ -52,7 +54,8 @@
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
- "eject": "react-scripts eject"
+ "eject": "react-scripts eject",
+ "analyze": "source-map-explorer 'build/static/js/*.js'"
},
"eslintConfig": {
"extends": [
diff --git a/client/public/android-icon-144x144.png b/client/public/android-icon-144x144.png
new file mode 100644
index 0000000..9573d85
Binary files /dev/null and b/client/public/android-icon-144x144.png differ
diff --git a/client/public/android-icon-192x192.png b/client/public/android-icon-192x192.png
new file mode 100644
index 0000000..a307773
Binary files /dev/null and b/client/public/android-icon-192x192.png differ
diff --git a/client/public/android-icon-36x36.png b/client/public/android-icon-36x36.png
new file mode 100644
index 0000000..2187a4e
Binary files /dev/null and b/client/public/android-icon-36x36.png differ
diff --git a/client/public/android-icon-48x48.png b/client/public/android-icon-48x48.png
new file mode 100644
index 0000000..bd491aa
Binary files /dev/null and b/client/public/android-icon-48x48.png differ
diff --git a/client/public/android-icon-72x72.png b/client/public/android-icon-72x72.png
new file mode 100644
index 0000000..7d3ec43
Binary files /dev/null and b/client/public/android-icon-72x72.png differ
diff --git a/client/public/android-icon-96x96.png b/client/public/android-icon-96x96.png
new file mode 100644
index 0000000..6df06c3
Binary files /dev/null and b/client/public/android-icon-96x96.png differ
diff --git a/client/public/apple-icon-114x114.png b/client/public/apple-icon-114x114.png
new file mode 100644
index 0000000..cb0bae4
Binary files /dev/null and b/client/public/apple-icon-114x114.png differ
diff --git a/client/public/apple-icon-120x120.png b/client/public/apple-icon-120x120.png
new file mode 100644
index 0000000..eaba344
Binary files /dev/null and b/client/public/apple-icon-120x120.png differ
diff --git a/client/public/apple-icon-144x144.png b/client/public/apple-icon-144x144.png
new file mode 100644
index 0000000..9573d85
Binary files /dev/null and b/client/public/apple-icon-144x144.png differ
diff --git a/client/public/apple-icon-152x152.png b/client/public/apple-icon-152x152.png
new file mode 100644
index 0000000..9801896
Binary files /dev/null and b/client/public/apple-icon-152x152.png differ
diff --git a/client/public/apple-icon-180x180.png b/client/public/apple-icon-180x180.png
new file mode 100644
index 0000000..53a2703
Binary files /dev/null and b/client/public/apple-icon-180x180.png differ
diff --git a/client/public/apple-icon-57x57.png b/client/public/apple-icon-57x57.png
new file mode 100644
index 0000000..e0e6fb3
Binary files /dev/null and b/client/public/apple-icon-57x57.png differ
diff --git a/client/public/apple-icon-60x60.png b/client/public/apple-icon-60x60.png
new file mode 100644
index 0000000..4a165aa
Binary files /dev/null and b/client/public/apple-icon-60x60.png differ
diff --git a/client/public/apple-icon-72x72.png b/client/public/apple-icon-72x72.png
new file mode 100644
index 0000000..7d3ec43
Binary files /dev/null and b/client/public/apple-icon-72x72.png differ
diff --git a/client/public/apple-icon-76x76.png b/client/public/apple-icon-76x76.png
new file mode 100644
index 0000000..42a7eb2
Binary files /dev/null and b/client/public/apple-icon-76x76.png differ
diff --git a/client/public/apple-icon-precomposed.png b/client/public/apple-icon-precomposed.png
new file mode 100644
index 0000000..b4b8bc0
Binary files /dev/null and b/client/public/apple-icon-precomposed.png differ
diff --git a/client/public/apple-icon.png b/client/public/apple-icon.png
new file mode 100644
index 0000000..b4b8bc0
Binary files /dev/null and b/client/public/apple-icon.png differ
diff --git a/client/public/browserconfig.xml b/client/public/browserconfig.xml
new file mode 100644
index 0000000..c554148
--- /dev/null
+++ b/client/public/browserconfig.xml
@@ -0,0 +1,2 @@
+
+#ffffff
\ No newline at end of file
diff --git a/client/public/favicon-16x16.png b/client/public/favicon-16x16.png
new file mode 100644
index 0000000..225b154
Binary files /dev/null and b/client/public/favicon-16x16.png differ
diff --git a/client/public/favicon-32x32.png b/client/public/favicon-32x32.png
new file mode 100644
index 0000000..e81753c
Binary files /dev/null and b/client/public/favicon-32x32.png differ
diff --git a/client/public/favicon-96x96.png b/client/public/favicon-96x96.png
new file mode 100644
index 0000000..6df06c3
Binary files /dev/null and b/client/public/favicon-96x96.png differ
diff --git a/client/public/favicon.ico b/client/public/favicon.ico
index 306910a..bc6fb20 100644
Binary files a/client/public/favicon.ico and b/client/public/favicon.ico differ
diff --git a/client/public/logo192.png b/client/public/logo192.png
index fc44b0a..a307773 100644
Binary files a/client/public/logo192.png and b/client/public/logo192.png differ
diff --git a/client/public/logo512.png b/client/public/logo512.png
index a4e47a6..0471266 100644
Binary files a/client/public/logo512.png and b/client/public/logo512.png differ
diff --git a/client/public/manifest.json b/client/public/manifest.json
index 080d6c7..cb5d0a9 100644
--- a/client/public/manifest.json
+++ b/client/public/manifest.json
@@ -1,25 +1,52 @@
{
- "short_name": "React App",
- "name": "Create React App Sample",
- "icons": [
- {
- "src": "favicon.ico",
- "sizes": "64x64 32x32 24x24 16x16",
- "type": "image/x-icon"
- },
- {
- "src": "logo192.png",
- "type": "image/png",
- "sizes": "192x192"
- },
- {
- "src": "logo512.png",
- "type": "image/png",
- "sizes": "512x512"
- }
- ],
- "start_url": ".",
- "display": "standalone",
- "theme_color": "#000000",
- "background_color": "#ffffff"
-}
+"short_name": "Basic Primitives Diagrams",
+"name": "Basic Primitives Diagrams - Data visualization diagramming Components for dependencies visualization and analysis",
+"icons": [
+ {
+ "src": "favicon.ico",
+ "sizes": "64x64 32x32 24x24 16x16",
+ "type": "image/x-icon"
+ },
+ {
+ "src": "android-icon-36x36.png",
+ "sizes": "36x36",
+ "type": "image/png",
+ "density": "0.75"
+ },
+ {
+ "src": "android-icon-48x48.png",
+ "sizes": "48x48",
+ "type": "image/png",
+ "density": "1.0"
+ },
+ {
+ "src": "android-icon-72x72.png",
+ "sizes": "72x72",
+ "type": "image/png",
+ "density": "1.5"
+ },
+ {
+ "src": "android-icon-96x96.png",
+ "sizes": "96x96",
+ "type": "image/png",
+ "density": "2.0"
+ },
+ {
+ "src": "android-icon-144x144.png",
+ "sizes": "144x144",
+ "type": "image/png",
+ "density": "3.0"
+ },
+ {
+ "src": "android-icon-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png",
+ "density": "4.0"
+ },
+ {
+ "src": "logo512.png",
+ "type": "image/png",
+ "sizes": "512x512"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/client/public/ms-icon-144x144.png b/client/public/ms-icon-144x144.png
new file mode 100644
index 0000000..9573d85
Binary files /dev/null and b/client/public/ms-icon-144x144.png differ
diff --git a/client/public/ms-icon-150x150.png b/client/public/ms-icon-150x150.png
new file mode 100644
index 0000000..30be040
Binary files /dev/null and b/client/public/ms-icon-150x150.png differ
diff --git a/client/public/ms-icon-310x310.png b/client/public/ms-icon-310x310.png
new file mode 100644
index 0000000..4929201
Binary files /dev/null and b/client/public/ms-icon-310x310.png differ
diff --git a/client/public/ms-icon-70x70.png b/client/public/ms-icon-70x70.png
new file mode 100644
index 0000000..917b397
Binary files /dev/null and b/client/public/ms-icon-70x70.png differ
diff --git a/client/public/robots.txt b/client/public/robots.txt
index e9e57dc..3de9fbf 100644
--- a/client/public/robots.txt
+++ b/client/public/robots.txt
@@ -1,3 +1,4 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:
+Sitemap: https://www.basicprimitives.com/sitemap.txt
\ No newline at end of file
diff --git a/client/src/components/Options/OptionsPanel.js b/client/src/components/Options/OptionsPanel.js
index b4b263b..076d959 100644
--- a/client/src/components/Options/OptionsPanel.js
+++ b/client/src/components/Options/OptionsPanel.js
@@ -5,13 +5,13 @@ import AccordionSummary from '@material-ui/core/AccordionSummary';
import AccordionDetails from '@material-ui/core/AccordionDetails';
import Typography from '@material-ui/core/Typography';
import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
-import { RadioGroupOption } from 'components';
-import { CheckboxOption } from 'components';
-import { ComboBoxOption } from 'components';
-import { SizeOption } from 'components';
-import { ThicknessOption } from 'components';
-import { TextOption } from 'components';
-import { ItemsOrderOption } from 'components';
+import RadioGroupOption from 'components/Options/RadioGroupOption';
+import CheckboxOption from 'components/Options/CheckboxOption';
+import ComboBoxOption from 'components/Options/ComboBoxOption';
+import SizeOption from 'components/Options/SizeOption';
+import ThicknessOption from 'components/Options/ThicknessOption';
+import TextOption from 'components/Options/TextOption';
+import ItemsOrderOption from 'components/Options/ItemsOrderOption';
import { makeStyles } from "@material-ui/core/styles";
const useStyles = makeStyles(theme => {
diff --git a/client/src/components/PdfViewDialog/FamPdfViewDialog.js b/client/src/components/PdfViewDialog/FamPdfViewDialog.js
new file mode 100644
index 0000000..70e6c1c
--- /dev/null
+++ b/client/src/components/PdfViewDialog/FamPdfViewDialog.js
@@ -0,0 +1,9 @@
+import React from 'react';
+import PdfViewDialog from './PdfViewDialog';
+import primitives from 'basicprimitives';
+
+function FamPdfViewDialog(props) {
+ return
+}
+
+export default FamPdfViewDialog;
\ No newline at end of file
diff --git a/client/src/components/PdfViewDialog/FamPdfViewDialogLoadable.js b/client/src/components/PdfViewDialog/FamPdfViewDialogLoadable.js
new file mode 100644
index 0000000..c43c5b8
--- /dev/null
+++ b/client/src/components/PdfViewDialog/FamPdfViewDialogLoadable.js
@@ -0,0 +1,11 @@
+import React from "react"
+import Loadable from "react-loadable"
+
+const loadable = Loadable({
+ loader: () => import("./FamPdfViewDialog"),
+ loading() {
+ return
Loading...
+ }
+ })
+
+export default loadable;
\ No newline at end of file
diff --git a/client/src/components/PdfViewDialog/OrgPdfViewDialog.js b/client/src/components/PdfViewDialog/OrgPdfViewDialog.js
new file mode 100644
index 0000000..6aa81b0
--- /dev/null
+++ b/client/src/components/PdfViewDialog/OrgPdfViewDialog.js
@@ -0,0 +1,9 @@
+import React from 'react';
+import PdfViewDialog from './PdfViewDialog';
+import primitives from 'basicprimitives';
+
+function OrgPdfViewDialog(props) {
+ return
+}
+
+export default OrgPdfViewDialog;
\ No newline at end of file
diff --git a/client/src/components/PdfViewDialog/OrgPdfViewDialogLoadable.js b/client/src/components/PdfViewDialog/OrgPdfViewDialogLoadable.js
new file mode 100644
index 0000000..31b9aec
--- /dev/null
+++ b/client/src/components/PdfViewDialog/OrgPdfViewDialogLoadable.js
@@ -0,0 +1,11 @@
+import React from "react"
+import Loadable from "react-loadable"
+
+const loadable = Loadable({
+ loader: () => import("./OrgPdfViewDialog"),
+ loading() {
+ return Loading...
+ }
+ })
+
+export default loadable;
\ No newline at end of file
diff --git a/client/src/components/PdfViewDialog/PdfViewDialog.js b/client/src/components/PdfViewDialog/PdfViewDialog.js
index e5b3a52..2360234 100644
--- a/client/src/components/PdfViewDialog/PdfViewDialog.js
+++ b/client/src/components/PdfViewDialog/PdfViewDialog.js
@@ -97,17 +97,4 @@ function PdfViewDialog(props) {
);
}
-function OrgPdfViewDialog(props) {
- return
-}
-
-function FamPdfViewDialog(props) {
- return
-}
-
-const result = {
- OrgPdfViewDialog,
- FamPdfViewDialog
-}
-
-export default result;
\ No newline at end of file
+export default PdfViewDialog;
\ No newline at end of file
diff --git a/client/src/components/index.js b/client/src/components/index.js
index 75f3bc7..765a9a6 100644
--- a/client/src/components/index.js
+++ b/client/src/components/index.js
@@ -1,4 +1,5 @@
-import pdfViewDialog from './PdfViewDialog/PdfViewDialog';
+import orgPdfViewDialog from './PdfViewDialog/OrgPdfViewDialogLoadable';
+import famPdfViewDialog from './PdfViewDialog/FamPdfViewDialogLoadable';
import radioGroupOption from './Options/RadioGroupOption';
import checkboxOption from './Options/CheckboxOption';
import comboBoxOption from './Options/ComboBoxOption';
@@ -9,8 +10,8 @@ import itemsOrderOption from './Options/ItemsOrderOption';
import optionsPanel from './Options/OptionsPanel';
import options from './Options/options';
-export const OrgPdfViewDialog = pdfViewDialog.OrgPdfViewDialog;
-export const FamPdfViewDialog = pdfViewDialog.FamPdfViewDialog;
+export const OrgPdfViewDialog = orgPdfViewDialog;
+export const FamPdfViewDialog = famPdfViewDialog;
export const RadioGroupOption = radioGroupOption;
export const CheckboxOption = checkboxOption;
export const ComboBoxOption = comboBoxOption;
diff --git a/client/src/containers/App/AppDrawer.js b/client/src/containers/App/AppDrawer.js
index 9e9bad8..21f2644 100644
--- a/client/src/containers/App/AppDrawer.js
+++ b/client/src/containers/App/AppDrawer.js
@@ -4,7 +4,7 @@ import { withStyles } from '@material-ui/core/styles';
import List from '@material-ui/core/List';
import AppDrawerNavItem from './AppDrawerNavItem';
import {pageToTitle} from './helpers';
-import { useSelector, useDispatch } from 'react-redux'
+import { useSelector, useDispatch } from 'react-redux';
import { load } from 'redux/modules/pages';
import { useLocation } from "@reach/router"
import primitives from 'basicprimitives';
diff --git a/client/src/containers/App/Version.js b/client/src/containers/App/Version.js
index 141fa92..448dc61 100644
--- a/client/src/containers/App/Version.js
+++ b/client/src/containers/App/Version.js
@@ -1,8 +1,8 @@
import React from 'react';
-import primitives from 'basicprimitives';
import { makeStyles } from '@material-ui/core/styles';
import ListSubheader from '@material-ui/core/ListSubheader';
import List from '@material-ui/core/List';
+import { useSelector } from 'react-redux';
const useStyles = makeStyles((theme) => ({
root: {
@@ -17,13 +17,14 @@ const useStyles = makeStyles((theme) => ({
export default function Navigation() {
const classes = useStyles();
+ const version = useSelector(state => state.pages.version);
return (