From 0f2b17dab959e69a913c5759aa37d7e831a75ab8 Mon Sep 17 00:00:00 2001 From: Marco Crapts Date: Fri, 19 May 2023 22:07:58 +0200 Subject: [PATCH] mindmap --- package-lock.json | 49 ++++- package.json | 2 + src/App.vue | 2 +- src/components/SideBar.vue | 2 +- src/components/ViewModes/Mindmap.vue | 286 +++++++++++++++++++++++++++ vite.config.ts | 8 +- 6 files changed, 339 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index f59cd8c..c93f624 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,9 +20,11 @@ "@ckeditor/vite-plugin-ckeditor5": "^0.1.1", "@fontsource/source-sans-pro": "^4.5.11", "@fortawesome/fontawesome-free": "^6.4.0", + "@types/cytoscape": "^3.19.9", "@types/marked": "^4.0.8", "@vueuse/components": "^10.1.0", "@vueuse/core": "^10.1.2", + "cytoscape": "^3.25.0", "daisyui": "^2.51.6", "date-fns": "^2.29.3", "dompurify": "^3.0.2", @@ -1644,6 +1646,11 @@ "integrity": "sha512-UqdfvuJK0SArA2CxhKWwwAWfnVSXiYe63bVpMutc27vpngCntGUZQETO24pEJ46zU6XM+7SpqYoMgcO3bM11Ew==", "dev": true }, + "node_modules/@types/cytoscape": { + "version": "3.19.9", + "resolved": "https://registry.npmjs.org/@types/cytoscape/-/cytoscape-3.19.9.tgz", + "integrity": "sha512-oqCx0ZGiBO0UESbjgq052vjDAy2X53lZpMrWqiweMpvVwKw/2IiYDdzPFK6+f4tMfdv9YKEM9raO5bAZc3UYBg==" + }, "node_modules/@types/dompurify": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.2.tgz", @@ -2720,6 +2727,18 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, + "node_modules/cytoscape": { + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.25.0.tgz", + "integrity": "sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==", + "dependencies": { + "heap": "^0.2.6", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/daisyui": { "version": "2.51.6", "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-2.51.6.tgz", @@ -3772,6 +3791,11 @@ "he": "bin/he" } }, + "node_modules/heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" + }, "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -4252,8 +4276,7 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash-es": { "version": "4.17.21", @@ -7605,6 +7628,11 @@ "integrity": "sha512-UqdfvuJK0SArA2CxhKWwwAWfnVSXiYe63bVpMutc27vpngCntGUZQETO24pEJ46zU6XM+7SpqYoMgcO3bM11Ew==", "dev": true }, + "@types/cytoscape": { + "version": "3.19.9", + "resolved": "https://registry.npmjs.org/@types/cytoscape/-/cytoscape-3.19.9.tgz", + "integrity": "sha512-oqCx0ZGiBO0UESbjgq052vjDAy2X53lZpMrWqiweMpvVwKw/2IiYDdzPFK6+f4tMfdv9YKEM9raO5bAZc3UYBg==" + }, "@types/dompurify": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.2.tgz", @@ -8352,6 +8380,15 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, + "cytoscape": { + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.25.0.tgz", + "integrity": "sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==", + "requires": { + "heap": "^0.2.6", + "lodash": "^4.17.21" + } + }, "daisyui": { "version": "2.51.6", "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-2.51.6.tgz", @@ -9140,6 +9177,11 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" + }, "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -9486,8 +9528,7 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash-es": { "version": "4.17.21", diff --git a/package.json b/package.json index 338a2f9..545e393 100644 --- a/package.json +++ b/package.json @@ -25,9 +25,11 @@ "@ckeditor/vite-plugin-ckeditor5": "^0.1.1", "@fontsource/source-sans-pro": "^4.5.11", "@fortawesome/fontawesome-free": "^6.4.0", + "@types/cytoscape": "^3.19.9", "@types/marked": "^4.0.8", "@vueuse/components": "^10.1.0", "@vueuse/core": "^10.1.2", + "cytoscape": "^3.25.0", "daisyui": "^2.51.6", "date-fns": "^2.29.3", "dompurify": "^3.0.2", diff --git a/src/App.vue b/src/App.vue index 725ecb9..21305b2 100644 --- a/src/App.vue +++ b/src/App.vue @@ -28,7 +28,7 @@ const sideBarCollapsed = ref(false) @update="(note) => updateNote(note.id, note)" /> - + diff --git a/src/components/SideBar.vue b/src/components/SideBar.vue index 4960f39..af23f14 100644 --- a/src/components/SideBar.vue +++ b/src/components/SideBar.vue @@ -48,7 +48,7 @@ const emit = defineEmits<{