diff --git a/app/package-lock.json b/app/package-lock.json index b708c60..6c52103 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -10,6 +10,9 @@ "dependencies": { "@capacitor/core": "^4.5.0", "@capacitor/preferences": "^4.0.2", + "@fullcalendar/core": "^6.0.2", + "@fullcalendar/daygrid": "^6.0.2", + "@fullcalendar/vue3": "^6.0.2", "@ionic/vue": "^6.3.6", "@mdi/font": "5.9.55", "@vuelidate/core": "^2.0.0", @@ -1850,6 +1853,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@fullcalendar/core": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.0.2.tgz", + "integrity": "sha512-mpJ+8l2t6b98umrRG2FfDnMqEr0Z+wNT2SjY7H49V3wcj4oe3gwuty8GBYHG/vgxS+DXR/NcEvW1CsMQh4Cr/A==", + "dependencies": { + "preact": "^10.0.5" + } + }, + "node_modules/@fullcalendar/daygrid": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.0.2.tgz", + "integrity": "sha512-OoHo+HbKmunq2hy5K6T2390DmSwXIENxHBeKFPlUXHK48xD/zXQI3N1zRlZRd83+Yrq+vDF6l8ObO9PMu2leJw==", + "peerDependencies": { + "@fullcalendar/core": "~6.0.2" + } + }, + "node_modules/@fullcalendar/vue3": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/vue3/-/vue3-6.0.2.tgz", + "integrity": "sha512-TuinDWNm39YYon4kNeO+8xU/bZ0ETzV8tV0eAFxDmArX8icrs1bUzIy3veUI8A11/WAt8ffuu65Hc93TK+SJZQ==", + "peerDependencies": { + "@fullcalendar/core": "~6.0.2", + "vue": "^3.0.11" + } + }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -10353,6 +10381,15 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "node_modules/preact": { + "version": "10.11.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz", + "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -14980,6 +15017,26 @@ } } }, + "@fullcalendar/core": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.0.2.tgz", + "integrity": "sha512-mpJ+8l2t6b98umrRG2FfDnMqEr0Z+wNT2SjY7H49V3wcj4oe3gwuty8GBYHG/vgxS+DXR/NcEvW1CsMQh4Cr/A==", + "requires": { + "preact": "^10.0.5" + } + }, + "@fullcalendar/daygrid": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.0.2.tgz", + "integrity": "sha512-OoHo+HbKmunq2hy5K6T2390DmSwXIENxHBeKFPlUXHK48xD/zXQI3N1zRlZRd83+Yrq+vDF6l8ObO9PMu2leJw==", + "requires": {} + }, + "@fullcalendar/vue3": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@fullcalendar/vue3/-/vue3-6.0.2.tgz", + "integrity": "sha512-TuinDWNm39YYon4kNeO+8xU/bZ0ETzV8tV0eAFxDmArX8icrs1bUzIy3veUI8A11/WAt8ffuu65Hc93TK+SJZQ==", + "requires": {} + }, "@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -21366,6 +21423,11 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "preact": { + "version": "10.11.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz", + "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==" + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", diff --git a/app/package.json b/app/package.json index 220eeda..eda8842 100644 --- a/app/package.json +++ b/app/package.json @@ -10,6 +10,9 @@ "dependencies": { "@capacitor/core": "^4.5.0", "@capacitor/preferences": "^4.0.2", + "@fullcalendar/core": "^6.0.2", + "@fullcalendar/daygrid": "^6.0.2", + "@fullcalendar/vue3": "^6.0.2", "@ionic/vue": "^6.3.6", "@mdi/font": "5.9.55", "@vuelidate/core": "^2.0.0", diff --git a/app/public/mock/v1/overview/projects.GET.json b/app/public/mock/v1/overview/projects.GET.json index ab90bdd..6712f38 100644 --- a/app/public/mock/v1/overview/projects.GET.json +++ b/app/public/mock/v1/overview/projects.GET.json @@ -3,38 +3,42 @@ { "id": 1, "name": "Master task 1", - "starts_at": "2022-05-10T00:00:00+00:00", - "deadline": "2022-05-10T00:00:00+00:00", - "is_finished": false, - "project_code": "CO-2201" + "starts_at": "2023-01-01", + "deadline": "2023-01-09", + "is_finished": true, + "project_code": "CO-2201", + "color": "#BB86FC" }, { - "id": 1, - "name": "Master task 1", - "starts_at": "2022-05-10T00:00:00+00:00", - "deadline": "2022-11-10T00:00:00+00:00", + "id": 2, + "name": "Master task 2", + "starts_at": "2023-01-02", + "deadline": "2023-01-05", "is_finished": false, - "project_code": "CO-2201" + "project_code": "CO-2201", + "color": "#FF7B5E" }, { - "id": 1, - "name": "Master task 1", - "starts_at": "2022-05-10T00:00:00+00:00", - "deadline": "2022-15-10T00:00:00+00:00", + "id": 3, + "name": "Master task 3", + "starts_at": "2023-01-12", + "deadline": "2023-01-15", "is_finished": false, - "project_code": "CO-2201" + "project_code": "CO-2201", + "color": "#011995" }, { - "id": 1, - "name": "Master task 1", - "starts_at": "2022-05-10T00:00:00+00:00", - "deadline": "2022-20-10T00:00:00+00:00", + "id": 4, + "name": "Master task 4", + "starts_at": "2023-01-12", + "deadline": "2023-02-12", "is_finished": false, - "project_code": "CO-2201" + "project_code": "CO-2201", + "color": "#BABE00" } ], "status": 200 -} \ No newline at end of file +} diff --git a/app/src/plugins/app/_config/router.ts b/app/src/plugins/app/_config/router.ts index 0b85aa3..905e96f 100644 --- a/app/src/plugins/app/_config/router.ts +++ b/app/src/plugins/app/_config/router.ts @@ -84,7 +84,18 @@ const routes: Array = [ name: 'Dashboard - User', meta: { title: 'Váš profil' }, component: () => import('@/plugins/tm@profile/profile/my-profile.vue') - } + }, + // { + // path: '/app/search/:searchText', + // redirect: to => { + // return { path: '/app/search', query: { q: to.params.searchText } } + // }, + // }, + // { + // path: '/app/search', + // name: 'Search', + // component: () => import('@/plugins/lib@search/search/search.vue') + // } ] } ] diff --git a/app/src/plugins/lib@search/search/search.vue b/app/src/plugins/lib@search/search/search.vue index e69de29..b02a397 100644 --- a/app/src/plugins/lib@search/search/search.vue +++ b/app/src/plugins/lib@search/search/search.vue @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/app/src/plugins/tm@dashboard/projects/_components/a-project-calendar.vue b/app/src/plugins/tm@dashboard/projects/_components/a-project-calendar.vue index e69de29..bd67de0 100644 --- a/app/src/plugins/tm@dashboard/projects/_components/a-project-calendar.vue +++ b/app/src/plugins/tm@dashboard/projects/_components/a-project-calendar.vue @@ -0,0 +1,68 @@ + + + diff --git a/app/src/plugins/tm@dashboard/projects/_components/a-project-filter.vue b/app/src/plugins/tm@dashboard/projects/_components/a-project-filter.vue new file mode 100644 index 0000000..ee549a4 --- /dev/null +++ b/app/src/plugins/tm@dashboard/projects/_components/a-project-filter.vue @@ -0,0 +1,130 @@ + + + + diff --git a/app/src/plugins/tm@dashboard/projects/projects.vue b/app/src/plugins/tm@dashboard/projects/projects.vue index 68ac751..b31c094 100644 --- a/app/src/plugins/tm@dashboard/projects/projects.vue +++ b/app/src/plugins/tm@dashboard/projects/projects.vue @@ -1,9 +1,54 @@ \ No newline at end of file + diff --git a/app/src/plugins/tm@modal/sub-task/z-sub-task-detail-modal.vue b/app/src/plugins/tm@modal/sub-task/z-sub-task-detail-modal.vue deleted file mode 100644 index e69de29..0000000 diff --git a/app/src/plugins/tm@overview/_components/z-tasks-search.vue b/app/src/plugins/tm@overview/_components/z-tasks-search.vue index bd3fe05..a9250ea 100644 --- a/app/src/plugins/tm@overview/_components/z-tasks-search.vue +++ b/app/src/plugins/tm@overview/_components/z-tasks-search.vue @@ -62,14 +62,11 @@ export default { border-bottom: 1px solid rgba(33, 33, 33, 0.08) gap: 25px flex-wrap: wrap - position: sticky - top: 0 - z-index: 9999 - background: white - + flex: 0 0 auto .subheader-input max-width: 250px !important min-width: 250px + height: 56px &:deep(.v-input__details) display: none diff --git a/app/src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue b/app/src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue index f87fe21..11de00a 100644 --- a/app/src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue +++ b/app/src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue @@ -18,7 +18,7 @@ {{ (task.remaining_time / 1000 / 60 / 60).toFixed(2) }} h
- pencil-icon + pencil-icon trash-icon diff --git a/app/src/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue b/app/src/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue index 87c1caf..b9af626 100644 --- a/app/src/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue +++ b/app/src/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue @@ -37,7 +37,6 @@ export default { try { this.unscheduledTasks = await this.$axios.get_auth_data('v1/overview/unscheduled-tasks') this.filterUnscheduledTasks() - console.log(this.unscheduledTasks) } catch (error) { this.unscheduledTasks = error this.$toast.error(error)