From ea9f6bcf7c155b5c30d275ab27639c204b5d40f0 Mon Sep 17 00:00:00 2001 From: = Date: Sun, 23 Feb 2025 18:55:10 +0100 Subject: [PATCH] first commit --- package-lock.json | 167 +++++++++++ package.json | 2 + public/index.html | 10 +- src/App.vue | 31 ++- src/assets/custom-bootstrap.css | 6 + .../img/photo-1514888286974-6c03e2ca1dba.jpg | Bin 0 -> 68771 bytes src/components/HelloWorld.vue | 58 ---- .../formDesigner/ComponentRenderer.vue | 58 ++++ .../FormDesignerToolsComponent.vue | 144 ++++++++++ .../FormDesignerTreeViewComponent.vue | 54 ++++ .../formDesigner/FormRendererComponent.vue | 85 ++++++ .../formRenderer/ButtonRenderer.vue | 23 ++ .../formRenderer/FlexLayoutRenderer.vue | 50 ++++ .../formRenderer/InputDateRenderer.vue | 34 +++ .../formRenderer/InputNumberRenderer.vue | 35 +++ .../formRenderer/InputTextRenderer.vue | 35 +++ .../formRenderer/LabelRenderer.vue | 12 + .../process/ProcessTableComponent.vue | 87 ++++++ src/components/topbar/TopbarComponent.vue | 44 +++ .../topbar/TopbarPagesComponent.vue | 66 +++++ src/dummyData/formularData.json | 42 +++ src/dummyData/processes.json | 38 +++ src/dummyData/treeExmaple.json | 11 + src/layouts/DevelopmentLayout.vue | 58 ++++ src/layouts/FormDesignerLayout.vue | 260 ++++++++++++++++++ src/main.js | 14 +- src/pages/DevelopmentDashboard.vue | 51 ++++ src/pages/ProcessOverviewComponent.vue | 65 +++++ src/pages/TestComponent.vue | 30 ++ src/store/uiStore.js | 69 +++++ vue.config.js | 10 +- 31 files changed, 1567 insertions(+), 82 deletions(-) create mode 100644 src/assets/custom-bootstrap.css create mode 100644 src/assets/img/photo-1514888286974-6c03e2ca1dba.jpg delete mode 100644 src/components/HelloWorld.vue create mode 100644 src/components/formDesigner/ComponentRenderer.vue create mode 100644 src/components/formDesigner/FormDesignerToolsComponent.vue create mode 100644 src/components/formDesigner/FormDesignerTreeViewComponent.vue create mode 100644 src/components/formDesigner/FormRendererComponent.vue create mode 100644 src/components/formDesigner/formRenderer/ButtonRenderer.vue create mode 100644 src/components/formDesigner/formRenderer/FlexLayoutRenderer.vue create mode 100644 src/components/formDesigner/formRenderer/InputDateRenderer.vue create mode 100644 src/components/formDesigner/formRenderer/InputNumberRenderer.vue create mode 100644 src/components/formDesigner/formRenderer/InputTextRenderer.vue create mode 100644 src/components/formDesigner/formRenderer/LabelRenderer.vue create mode 100644 src/components/process/ProcessTableComponent.vue create mode 100644 src/components/topbar/TopbarComponent.vue create mode 100644 src/components/topbar/TopbarPagesComponent.vue create mode 100644 src/dummyData/formularData.json create mode 100644 src/dummyData/processes.json create mode 100644 src/dummyData/treeExmaple.json create mode 100644 src/layouts/DevelopmentLayout.vue create mode 100644 src/layouts/FormDesignerLayout.vue create mode 100644 src/pages/DevelopmentDashboard.vue create mode 100644 src/pages/ProcessOverviewComponent.vue create mode 100644 src/pages/TestComponent.vue create mode 100644 src/store/uiStore.js diff --git a/package-lock.json b/package-lock.json index 82f4901..0800994 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,9 @@ "name": "pro-code", "version": "0.1.0", "dependencies": { + "bootstrap": "^5.3.3", "core-js": "^3.8.3", + "pinia": "^3.0.1", "vue": "^3.2.13" }, "devDependencies": { @@ -2011,6 +2013,17 @@ "dev": true, "license": "MIT" }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@sideway/address": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", @@ -2949,6 +2962,39 @@ "dev": true, "license": "ISC" }, + "node_modules/@vue/devtools-api": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.2.tgz", + "integrity": "sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.2" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.2.tgz", + "integrity": "sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.2", + "birpc": "^0.2.19", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.1" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.2.tgz", + "integrity": "sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, "node_modules/@vue/reactivity": { "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", @@ -3698,6 +3744,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/birpc": { + "version": "0.2.19", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.19.tgz", + "integrity": "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -3777,6 +3832,25 @@ "dev": true, "license": "ISC" }, + "node_modules/bootstrap": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", + "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "license": "MIT", + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -4378,6 +4452,21 @@ "dev": true, "license": "MIT" }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/copy-webpack-plugin": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", @@ -6735,6 +6824,12 @@ "node": "*" } }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -7281,6 +7376,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -8151,6 +8258,12 @@ "dev": true, "license": "ISC" }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -8796,6 +8909,12 @@ "node": ">=8" } }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -8815,6 +8934,27 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pinia": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.1.tgz", + "integrity": "sha512-WXglsDzztOTH6IfcJ99ltYZin2mY8XZCXujkYWVIJlBjqsP6ST7zw+Aarh63E1cDVYeyUcPCxPHzJpEOmzB6Wg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.2" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.4.4", + "vue": "^2.7.0 || ^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -10017,6 +10157,12 @@ "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -10610,6 +10756,15 @@ "wbuf": "^1.7.3" } }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -10753,6 +10908,18 @@ "postcss": "^8.2.15" } }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "license": "MIT", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", diff --git a/package.json b/package.json index 8457b38..1d331f4 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "lint": "vue-cli-service lint" }, "dependencies": { + "bootstrap": "^5.3.3", "core-js": "^3.8.3", + "pinia": "^3.0.1", "vue": "^3.2.13" }, "devDependencies": { diff --git a/public/index.html b/public/index.html index 3e5a139..f69d314 100644 --- a/public/index.html +++ b/public/index.html @@ -1,11 +1,12 @@ - - - - + + + + <%= htmlWebpackPlugin.options.title %> +
+ diff --git a/src/App.vue b/src/App.vue index 591a031..62b214a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,26 +1,29 @@ diff --git a/src/assets/custom-bootstrap.css b/src/assets/custom-bootstrap.css new file mode 100644 index 0000000..26cf92d --- /dev/null +++ b/src/assets/custom-bootstrap.css @@ -0,0 +1,6 @@ +:root { + --bs-primary: #27445d; /* Deine Wunschfarbe */ + --bs-link-color: #27445d; + --bs-link-hover-color: #71bbb2; + --bs-primary-bg-subtle: #bdd9f850; +} diff --git a/src/assets/img/photo-1514888286974-6c03e2ca1dba.jpg b/src/assets/img/photo-1514888286974-6c03e2ca1dba.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1856475c9b190e3ccc6793de66c1c0c0bf15fee7 GIT binary patch literal 68771 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 LTg|*jUO)fYj>R@q literal 0 HcmV?d00001 diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue deleted file mode 100644 index 879051a..0000000 --- a/src/components/HelloWorld.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - diff --git a/src/components/formDesigner/ComponentRenderer.vue b/src/components/formDesigner/ComponentRenderer.vue new file mode 100644 index 0000000..518f937 --- /dev/null +++ b/src/components/formDesigner/ComponentRenderer.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/components/formDesigner/FormDesignerToolsComponent.vue b/src/components/formDesigner/FormDesignerToolsComponent.vue new file mode 100644 index 0000000..f801d55 --- /dev/null +++ b/src/components/formDesigner/FormDesignerToolsComponent.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/src/components/formDesigner/FormDesignerTreeViewComponent.vue b/src/components/formDesigner/FormDesignerTreeViewComponent.vue new file mode 100644 index 0000000..314a65f --- /dev/null +++ b/src/components/formDesigner/FormDesignerTreeViewComponent.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/components/formDesigner/FormRendererComponent.vue b/src/components/formDesigner/FormRendererComponent.vue new file mode 100644 index 0000000..8abf648 --- /dev/null +++ b/src/components/formDesigner/FormRendererComponent.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/components/formDesigner/formRenderer/ButtonRenderer.vue b/src/components/formDesigner/formRenderer/ButtonRenderer.vue new file mode 100644 index 0000000..ba2ae1c --- /dev/null +++ b/src/components/formDesigner/formRenderer/ButtonRenderer.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/src/components/formDesigner/formRenderer/FlexLayoutRenderer.vue b/src/components/formDesigner/formRenderer/FlexLayoutRenderer.vue new file mode 100644 index 0000000..d5453ea --- /dev/null +++ b/src/components/formDesigner/formRenderer/FlexLayoutRenderer.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/components/formDesigner/formRenderer/InputDateRenderer.vue b/src/components/formDesigner/formRenderer/InputDateRenderer.vue new file mode 100644 index 0000000..44da4cc --- /dev/null +++ b/src/components/formDesigner/formRenderer/InputDateRenderer.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/components/formDesigner/formRenderer/InputNumberRenderer.vue b/src/components/formDesigner/formRenderer/InputNumberRenderer.vue new file mode 100644 index 0000000..2fcf357 --- /dev/null +++ b/src/components/formDesigner/formRenderer/InputNumberRenderer.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/components/formDesigner/formRenderer/InputTextRenderer.vue b/src/components/formDesigner/formRenderer/InputTextRenderer.vue new file mode 100644 index 0000000..14cd215 --- /dev/null +++ b/src/components/formDesigner/formRenderer/InputTextRenderer.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/components/formDesigner/formRenderer/LabelRenderer.vue b/src/components/formDesigner/formRenderer/LabelRenderer.vue new file mode 100644 index 0000000..2294be3 --- /dev/null +++ b/src/components/formDesigner/formRenderer/LabelRenderer.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/components/process/ProcessTableComponent.vue b/src/components/process/ProcessTableComponent.vue new file mode 100644 index 0000000..cf25788 --- /dev/null +++ b/src/components/process/ProcessTableComponent.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/src/components/topbar/TopbarComponent.vue b/src/components/topbar/TopbarComponent.vue new file mode 100644 index 0000000..7d058a0 --- /dev/null +++ b/src/components/topbar/TopbarComponent.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/components/topbar/TopbarPagesComponent.vue b/src/components/topbar/TopbarPagesComponent.vue new file mode 100644 index 0000000..59b22f1 --- /dev/null +++ b/src/components/topbar/TopbarPagesComponent.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/dummyData/formularData.json b/src/dummyData/formularData.json new file mode 100644 index 0000000..7ee6e29 --- /dev/null +++ b/src/dummyData/formularData.json @@ -0,0 +1,42 @@ +[ + { + "type": "Label", + "value": "Ich bin ein Label", + "key": "1" + }, + { + "type": "InputText", + "placeholder": "Gib deinen Namen ein", + "label": "Vorname", + "key": "2" + }, + { + "type": "FlexLayout", + "direction": "horizontal", + "key": "3", + "items": [ + { + "type": "InputNumber", + "placeholder": "Gib dein Alter ein", + "label": "Alter", + "key": "4" + }, + { + "type": "InputDate", + "placeholder": "Gib dein Geburtsdatum ein", + "label": "Geburtsdatum", + "key": "5" + }, + { + "type": "Label", + "value": "Ich bin ein Label", + "key": "6" + } + ] + }, + { + "type": "Button", + "label": "Klicke mich", + "key": "7" + } +] diff --git a/src/dummyData/processes.json b/src/dummyData/processes.json new file mode 100644 index 0000000..556119f --- /dev/null +++ b/src/dummyData/processes.json @@ -0,0 +1,38 @@ +{ + "processes": [ + { + "id": 1, + "name": "Prozess A", + "description": "Ich bin eine Beschreibung des oben genannten Prozesses", + "views": [ + { + "name": "Detailsmaske", + "changed": "13.02.2025" + }, + { + "name": "Übersicht Admins", + "changed": "12.01.2025" + } + ], + "workflows": [ + { + "name": "Erstellung eines Datensatzes", + "changed": "13.02.2025" + }, + { + "name": "Verwaltung von Sendungen", + "changed": "12.01.2025" + }, + { + "name": "Überprüfung von Sendungen", + "changed": "11.12.2024" + } + ] + }, + { + "id": 2, + "name": "Sendungslogik", + "description": "Kunden können in diesem Przoess Sendungen erfassen" + } + ] +} diff --git a/src/dummyData/treeExmaple.json b/src/dummyData/treeExmaple.json new file mode 100644 index 0000000..e1f8e47 --- /dev/null +++ b/src/dummyData/treeExmaple.json @@ -0,0 +1,11 @@ +[ + { + "id": 1, + "label": "Elternknoten", + "isExpanded": false, + "children": [ + { "id": 2, "label": "Kind 1", "isExpanded": false }, + { "id": 3, "label": "Kind 2", "isExpanded": false, "children": [{ "id": 4, "label": "Enkelkind 1", "isExpanded": false }] } + ] + } +] diff --git a/src/layouts/DevelopmentLayout.vue b/src/layouts/DevelopmentLayout.vue new file mode 100644 index 0000000..5692462 --- /dev/null +++ b/src/layouts/DevelopmentLayout.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/src/layouts/FormDesignerLayout.vue b/src/layouts/FormDesignerLayout.vue new file mode 100644 index 0000000..5e886d7 --- /dev/null +++ b/src/layouts/FormDesignerLayout.vue @@ -0,0 +1,260 @@ + + + + + diff --git a/src/main.js b/src/main.js index 01433bc..4f81ae2 100644 --- a/src/main.js +++ b/src/main.js @@ -1,4 +1,12 @@ -import { createApp } from 'vue' -import App from './App.vue' +import { createApp } from "vue"; +import { createPinia } from "pinia"; +import App from "./App.vue"; +import "bootstrap/dist/css/bootstrap.min.css"; +import "bootstrap/dist/js/bootstrap.bundle.min.js"; +import "@/assets/custom-bootstrap.css"; -createApp(App).mount('#app') +const app = createApp(App); +const pinia = createPinia(); + +app.use(pinia); +app.mount("#app"); diff --git a/src/pages/DevelopmentDashboard.vue b/src/pages/DevelopmentDashboard.vue new file mode 100644 index 0000000..eea6c48 --- /dev/null +++ b/src/pages/DevelopmentDashboard.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/src/pages/ProcessOverviewComponent.vue b/src/pages/ProcessOverviewComponent.vue new file mode 100644 index 0000000..2dc1acc --- /dev/null +++ b/src/pages/ProcessOverviewComponent.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/src/pages/TestComponent.vue b/src/pages/TestComponent.vue new file mode 100644 index 0000000..d37b153 --- /dev/null +++ b/src/pages/TestComponent.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/store/uiStore.js b/src/store/uiStore.js new file mode 100644 index 0000000..abf73de --- /dev/null +++ b/src/store/uiStore.js @@ -0,0 +1,69 @@ +import { defineStore } from "pinia"; + +export const useUiStore = defineStore("ui", { + state: () => ({ + // Ein Objekt, das die geöffneten Seiten und deren Status speichert + openComponents: [ + { + name: "Dashbord", + active: true, + componentName: "DevelopmentDashboardComponent", + }, + { + name: "Test", + active: false, + componentName: "TestComponent", + }, + ], + }), + + actions: { + // Seite aktivieren oder hinzufügen + setActivePage(componentName, displayName, props = {}) { + // Alle Seiten auf inaktiv setzen + this.openComponents.forEach((comp) => (comp.active = false)); + + // Überprüfen, ob die Seite bereits existiert + const existingComponent = this.openComponents.find((comp) => comp.componentName === componentName && comp.name === displayName); + + if (existingComponent) { + existingComponent.active = true; + existingComponent.props = { ...existingComponent.props, ...props }; + } else { + this.openComponents.push({ + componentName, + name: displayName, + active: true, + props, + }); + } + }, + + // Seite komplett entfernen + closePage(componentName, displayName) { + this.openComponents = this.openComponents.filter((comp) => !(comp.componentName === componentName && comp.name === displayName)); + + if (this.openComponents.length === 0) { + this.resetPages(); + } else { + this.openComponents[0].active = true; + } + }, + + // Prüfen, ob eine Seite aktiv ist + isPageActive(componentName) { + return this.openComponents.some((comp) => comp.componentName === componentName && comp.active); + }, + + // Setzt alle Seiten zurück (optional, wenn alle Seiten geschlossen werden sollen) + resetPages() { + this.openComponents = [ + { + name: "Dashbord", + active: true, + componentName: "DevelopmentDashboardComponent", + }, + ]; + }, + }, +}); diff --git a/vue.config.js b/vue.config.js index 910e297..6007d6a 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,4 +1,8 @@ -const { defineConfig } = require('@vue/cli-service') +const { defineConfig } = require("@vue/cli-service"); + module.exports = defineConfig({ - transpileDependencies: true -}) + transpileDependencies: true, + devServer: { + hot: true, // Explizit Hot Reload aktivieren + }, +});