diff --git a/database/factories/FolderFactory.php b/database/factories/FolderFactory.php index 41e849b8..1aff4465 100644 --- a/database/factories/FolderFactory.php +++ b/database/factories/FolderFactory.php @@ -25,7 +25,7 @@ class FolderFactory extends Factory 'id' => $this->faker->uuid, 'user_id' => $this->faker->uuid, 'name' => $this->faker->word, - 'team_folder' => $this->faker->boolean(), + 'team_folder' => false, 'author' => $this->faker->randomElement( ['user', 'member', 'visitor'] ), diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 42db99e2..0d10ad19 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -9,7 +9,7 @@ "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~738b0c2f.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~738b0c2f.js?id=8013b71e5d41ca2752b8", "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~e44242d2.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~e44242d2.js?id=517790f13bf7daccdfe6", "/chunks/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=0e511f0ceaac7257bf25", - "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=2fe563914632c7cbd7a9", + "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=cbccd295e834a952bc78", "/chunks/admin~chunks/platform~chunks/settings~chunks/shared/file-browser.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared/file-browser.js?id=8d039f8ca0a670b99cca", "/chunks/app-appearance.js": "/chunks/app-appearance.js?id=5f8d3e698c1fd5b9b5a5", "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=055d17c4463d3ef30218", @@ -36,7 +36,7 @@ "/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=1e02112873d0b86eb1ac", "/chunks/email-verified.js": "/chunks/email-verified.js?id=dc4aa33310fc98be6749", "/chunks/environment-setup.js": "/chunks/environment-setup.js?id=a547f8b4e9a83935a777", - "/chunks/files.js": "/chunks/files.js?id=7f75ce6379e3f7d5fbe9", + "/chunks/files.js": "/chunks/files.js?id=782c17049fb6b68a3337", "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared/file-browser~d426c4eb.js": "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared/file-browser~d426c4eb.js?id=c6ab649e67651e0b9f18", "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~9a5728b1.js": "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~9a5728b1.js?id=4f10f893c25e398f40bc", "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~aaaa339d.js": "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~aaaa339d.js?id=593b877c4ab874ceccfe", @@ -59,8 +59,8 @@ "/chunks/plan-settings.js": "/chunks/plan-settings.js?id=17469545c5b6a16c3bbf", "/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=0dd0a5efe0e3cb511c48", "/chunks/plans.js": "/chunks/plans.js?id=5a3c28288952fcad96e5", - "/chunks/platform.js": "/chunks/platform.js?id=00aad462a215e1d31166", - "/chunks/platform~chunks/shared.js": "/chunks/platform~chunks/shared.js?id=5b1f86a4cb32fc3bb186", + "/chunks/platform.js": "/chunks/platform.js?id=f79041b0d1ecf91bcb16", + "/chunks/platform~chunks/shared.js": "/chunks/platform~chunks/shared.js?id=f31d4791b344030703e0", "/chunks/platform~chunks/shared/file-browser.js": "/chunks/platform~chunks/shared/file-browser.js?id=b142ad8801528b166787", "/chunks/platform~chunks/shared~chunks/shared/file-browser.js": "/chunks/platform~chunks/shared~chunks/shared/file-browser.js?id=6ba92eab6a45cbab3af5", "/chunks/profile.js": "/chunks/profile.js?id=658aa03af778cc2cc100", @@ -528,5 +528,91 @@ "/chunks/shared/files.4618b7b0d57385b7f2da.hot-update.js": "/chunks/shared/files.4618b7b0d57385b7f2da.hot-update.js", "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/shared/single-f~222c7501.46500898f3858d352390.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/shared/single-f~222c7501.46500898f3858d352390.hot-update.js", "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/shared/single-f~222c7501.c52a778b1010e0dd091a.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/shared/single-f~222c7501.c52a778b1010e0dd091a.hot-update.js", - "/chunks/admin~chunks/platform~chunks/settings.2789d840701137f131b1.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings.2789d840701137f131b1.hot-update.js" + "/chunks/admin~chunks/platform~chunks/settings.2789d840701137f131b1.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings.2789d840701137f131b1.hot-update.js", + "/chunks/platform~chunks/shared.28aa7c8585c56edd190e.hot-update.js": "/chunks/platform~chunks/shared.28aa7c8585c56edd190e.hot-update.js", + "/chunks/platform.ada3ba4b5ecaa0eef8ce.hot-update.js": "/chunks/platform.ada3ba4b5ecaa0eef8ce.hot-update.js", + "/chunks/platform.e9e5ba99ad043a697866.hot-update.js": "/chunks/platform.e9e5ba99ad043a697866.hot-update.js", + "/chunks/platform.ce600f3a70da4e695186.hot-update.js": "/chunks/platform.ce600f3a70da4e695186.hot-update.js", + "/chunks/platform.6cbc4542aabc7ad6d351.hot-update.js": "/chunks/platform.6cbc4542aabc7ad6d351.hot-update.js", + "/chunks/platform.ddb2325516f9bcd1adcd.hot-update.js": "/chunks/platform.ddb2325516f9bcd1adcd.hot-update.js", + "/chunks/platform.342f50bc49adbf8ed74c.hot-update.js": "/chunks/platform.342f50bc49adbf8ed74c.hot-update.js", + "/chunks/platform.87cb2c288351475b611b.hot-update.js": "/chunks/platform.87cb2c288351475b611b.hot-update.js", + "/chunks/platform.400844e7718efa16aaa5.hot-update.js": "/chunks/platform.400844e7718efa16aaa5.hot-update.js", + "/chunks/platform.6f86df1bfb3014cf7ae3.hot-update.js": "/chunks/platform.6f86df1bfb3014cf7ae3.hot-update.js", + "/chunks/platform.80a86821a9f9b0fc5e22.hot-update.js": "/chunks/platform.80a86821a9f9b0fc5e22.hot-update.js", + "/chunks/platform.1f441f9048e6e6504eeb.hot-update.js": "/chunks/platform.1f441f9048e6e6504eeb.hot-update.js", + "/js/main.7f3e997ca37391d9041f.hot-update.js": "/js/main.7f3e997ca37391d9041f.hot-update.js", + "/chunks/admin~chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-item~6fce3876.js": "/chunks/admin~chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-item~6fce3876.js?id=3dc49e837aec52b13e76", + "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~26d67489.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~26d67489.js?id=1ddfc4037fd22e1d1ec7", + "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~d04310d2.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~d04310d2.js?id=472611f69313ee74d4d7", + "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~f312a84e.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~f312a84e.js?id=004c11df35e63517608d", + "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-items~chunks/page~432c06d3.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-items~chunks/page~432c06d3.js?id=fc6a6da4bf975191e38e", + "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared/files~chunks~ad7e36b9.js": "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared/files~chunks~ad7e36b9.js?id=1071fb25e6a201145c1a", + "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~b068369d.js": "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~b068369d.js?id=7906cf5e691a1f3e472a", + "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/settings-subscription~chunks/shared~ab58556a.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/settings-subscription~chunks/shared~ab58556a.js?id=afa7d2dd8e1cc9c5947c", + "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/shared/single-f~f04cfcbc.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/shared/single-f~f04cfcbc.js?id=258de30a5518a04e03b5", + "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/team-folders~ch~ba7d6097.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/team-folders~ch~ba7d6097.js?id=2ef7b7c75f3f4f445216", + "/chunks/files~chunks/shared/files~chunks/team-folders.js": "/chunks/files~chunks/shared/files~chunks/team-folders.js?id=ed4e72b9cb1946e582c8", + "/chunks/team-folders.js": "/chunks/team-folders.js?id=9fcb3a94c6627b168d0a", + "/vendors~chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunk~3c02639c.js": "/vendors~chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunk~3c02639c.js?id=e31953d811b86273037b", + "/chunks/team-folders.a9d3db5ba16e4109033c.hot-update.js": "/chunks/team-folders.a9d3db5ba16e4109033c.hot-update.js", + "/js/main.35ff6622df9d809bb747.hot-update.js": "/js/main.35ff6622df9d809bb747.hot-update.js", + "/js/main.473a78e993e103cd8ca7.hot-update.js": "/js/main.473a78e993e103cd8ca7.hot-update.js", + "/js/main.504c5da8051076699faa.hot-update.js": "/js/main.504c5da8051076699faa.hot-update.js", + "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~26d67489.1a2ead4fedd6aa86957a.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~26d67489.1a2ead4fedd6aa86957a.hot-update.js", + "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~26d67489.c6392cf64191a248431a.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~26d67489.c6392cf64191a248431a.hot-update.js", + "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~26d67489.8284b2b4fe279364592d.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~26d67489.8284b2b4fe279364592d.hot-update.js", + "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~26d67489.27f145ce844bd2e8e510.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~26d67489.27f145ce844bd2e8e510.hot-update.js", + "/chunks/platform~chunks/shared.77fa211e19d12c7fb66e.hot-update.js": "/chunks/platform~chunks/shared.77fa211e19d12c7fb66e.hot-update.js", + "/chunks/platform~chunks/shared.904793813d5197f806fb.hot-update.js": "/chunks/platform~chunks/shared.904793813d5197f806fb.hot-update.js", + "/chunks/platform~chunks/shared.cd663426e58049cc4768.hot-update.js": "/chunks/platform~chunks/shared.cd663426e58049cc4768.hot-update.js", + "/chunks/platform~chunks/shared.259a52b382274b524994.hot-update.js": "/chunks/platform~chunks/shared.259a52b382274b524994.hot-update.js", + "/chunks/platform~chunks/shared.15f73fbfb2ce5daa32d3.hot-update.js": "/chunks/platform~chunks/shared.15f73fbfb2ce5daa32d3.hot-update.js", + "/chunks/platform~chunks/shared.72eb417af8a6e84603dc.hot-update.js": "/chunks/platform~chunks/shared.72eb417af8a6e84603dc.hot-update.js", + "/chunks/platform~chunks/shared.7b76d6aedc99146bf4e9.hot-update.js": "/chunks/platform~chunks/shared.7b76d6aedc99146bf4e9.hot-update.js", + "/chunks/platform~chunks/shared.4e27c2902762e992b796.hot-update.js": "/chunks/platform~chunks/shared.4e27c2902762e992b796.hot-update.js", + "/chunks/platform~chunks/shared.73b0d46e3e7b1deb1fa1.hot-update.js": "/chunks/platform~chunks/shared.73b0d46e3e7b1deb1fa1.hot-update.js", + "/chunks/platform~chunks/shared.91c4697f21a0fa63a045.hot-update.js": "/chunks/platform~chunks/shared.91c4697f21a0fa63a045.hot-update.js", + "/chunks/platform~chunks/shared.bc5500cd3490365cb8c7.hot-update.js": "/chunks/platform~chunks/shared.bc5500cd3490365cb8c7.hot-update.js", + "/chunks/platform~chunks/shared.757db34c4e28e87ba413.hot-update.js": "/chunks/platform~chunks/shared.757db34c4e28e87ba413.hot-update.js", + "/chunks/files.2d2c042e59a02db22e08.hot-update.js": "/chunks/files.2d2c042e59a02db22e08.hot-update.js", + "/chunks/platform.a23d85d0d3ea26f92390.hot-update.js": "/chunks/platform.a23d85d0d3ea26f92390.hot-update.js", + "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.6c1c30b3239224f7e91d.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.6c1c30b3239224f7e91d.hot-update.js", + "/chunks/platform.f2bc95687748a18d0daf.hot-update.js": "/chunks/platform.f2bc95687748a18d0daf.hot-update.js", + "/chunks/platform~chunks/shared.8d3c64f4b3b8b4b021d4.hot-update.js": "/chunks/platform~chunks/shared.8d3c64f4b3b8b4b021d4.hot-update.js", + "/chunks/platform~chunks/shared.f5c9d8934f684b0366cf.hot-update.js": "/chunks/platform~chunks/shared.f5c9d8934f684b0366cf.hot-update.js", + "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~d04310d2.c7080a5402539b7e25e9.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~d04310d2.c7080a5402539b7e25e9.hot-update.js", + "/chunks/team-folders.f216915afc49b197fc96.hot-update.js": "/chunks/team-folders.f216915afc49b197fc96.hot-update.js", + "/chunks/platform.740b85d9a2ccbd63d034.hot-update.js": "/chunks/platform.740b85d9a2ccbd63d034.hot-update.js", + "/chunks/platform.b5897c711784f23562b4.hot-update.js": "/chunks/platform.b5897c711784f23562b4.hot-update.js", + "/chunks/platform.64786c52c9eddf5fd846.hot-update.js": "/chunks/platform.64786c52c9eddf5fd846.hot-update.js", + "/js/main.527da5a4348ff8163437.hot-update.js": "/js/main.527da5a4348ff8163437.hot-update.js", + "/chunks/platform.527da5a4348ff8163437.hot-update.js": "/chunks/platform.527da5a4348ff8163437.hot-update.js", + "/chunks/team-folders.b76d9d35e06740b57e4d.hot-update.js": "/chunks/team-folders.b76d9d35e06740b57e4d.hot-update.js", + "/chunks/team-folders.0202e869009d8e084afd.hot-update.js": "/chunks/team-folders.0202e869009d8e084afd.hot-update.js", + "/chunks/platform.f5782ad69121c5449fed.hot-update.js": "/chunks/platform.f5782ad69121c5449fed.hot-update.js", + "/chunks/platform.7eda93be5c56c9868c22.hot-update.js": "/chunks/platform.7eda93be5c56c9868c22.hot-update.js", + "/chunks/platform.5d5177475492159754ed.hot-update.js": "/chunks/platform.5d5177475492159754ed.hot-update.js", + "/chunks/platform.954328e0484a1b2930fc.hot-update.js": "/chunks/platform.954328e0484a1b2930fc.hot-update.js", + "/chunks/platform.f682b42e914cd9c21c47.hot-update.js": "/chunks/platform.f682b42e914cd9c21c47.hot-update.js", + "/js/main.10d1afef9db1938825c4.hot-update.js": "/js/main.10d1afef9db1938825c4.hot-update.js", + "/js/main.d15f940c15a1c50d1414.hot-update.js": "/js/main.d15f940c15a1c50d1414.hot-update.js", + "/chunks/platform.0af284af51d4da44e492.hot-update.js": "/chunks/platform.0af284af51d4da44e492.hot-update.js", + "/chunks/platform.9addab8b98e415983916.hot-update.js": "/chunks/platform.9addab8b98e415983916.hot-update.js", + "/chunks/platform.520800f77d90d42f9705.hot-update.js": "/chunks/platform.520800f77d90d42f9705.hot-update.js", + "/chunks/platform.2687b09aa1060628943f.hot-update.js": "/chunks/platform.2687b09aa1060628943f.hot-update.js", + "/chunks/platform.46867c5fb7c4f9af68d1.hot-update.js": "/chunks/platform.46867c5fb7c4f9af68d1.hot-update.js", + "/chunks/platform.01eea14dae44cc2656fc.hot-update.js": "/chunks/platform.01eea14dae44cc2656fc.hot-update.js", + "/chunks/platform.3630178467dc9a8479b9.hot-update.js": "/chunks/platform.3630178467dc9a8479b9.hot-update.js", + "/chunks/platform.08b8429836cb1094e1dc.hot-update.js": "/chunks/platform.08b8429836cb1094e1dc.hot-update.js", + "/chunks/platform.1163cde6e86891fd7754.hot-update.js": "/chunks/platform.1163cde6e86891fd7754.hot-update.js", + "/chunks/platform.c51fdbac98921760eae2.hot-update.js": "/chunks/platform.c51fdbac98921760eae2.hot-update.js", + "/chunks/platform.08e561932dc35fd77618.hot-update.js": "/chunks/platform.08e561932dc35fd77618.hot-update.js", + "/chunks/platform.25f95466a4d216433ca1.hot-update.js": "/chunks/platform.25f95466a4d216433ca1.hot-update.js", + "/chunks/platform.a7f7266dc219aa2fc873.hot-update.js": "/chunks/platform.a7f7266dc219aa2fc873.hot-update.js", + "/chunks/platform.139c761716720278fcac.hot-update.js": "/chunks/platform.139c761716720278fcac.hot-update.js", + "/chunks/platform.74aadb3eabe898628f66.hot-update.js": "/chunks/platform.74aadb3eabe898628f66.hot-update.js", + "/chunks/platform.0f739327c96ee4c1ec4f.hot-update.js": "/chunks/platform.0f739327c96ee4c1ec4f.hot-update.js", + "/chunks/platform.0c681d4fd16b01ad1e8e.hot-update.js": "/chunks/platform.0c681d4fd16b01ad1e8e.hot-update.js", + "/chunks/platform.f4282e8b484d47959cd2.hot-update.js": "/chunks/platform.f4282e8b484d47959cd2.hot-update.js" } diff --git a/resources/js/components/FilesView/DesktopToolbar.vue b/resources/js/components/FilesView/DesktopToolbar.vue index 8e773dc5..15bbf41f 100644 --- a/resources/js/components/FilesView/DesktopToolbar.vue +++ b/resources/js/components/FilesView/DesktopToolbar.vue @@ -16,9 +16,9 @@ - + @@ -40,7 +40,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -151,6 +151,7 @@ 'Trash': this.$t('Trash'), 'Public': this.$t('Files'), 'Files': this.$t('Files'), + 'TeamFolders': this.$t('Team Folders'), }[this.$route.name] } }, @@ -172,6 +173,9 @@ ] return !this.$isThisRoute(this.$route, routes) || this.clipboard.length === 0 }, + canShowConvertToTeamFolder() { + return this.$isThisRoute(this.$route, ['Files', 'MySharedItems']) + }, canUploadInView() { return ! this.$isThisRoute(this.$route, ['Files', 'Public']) }, diff --git a/resources/js/components/FilesView/FileItemList.vue b/resources/js/components/FilesView/FileItemList.vue index 48223175..8269100a 100644 --- a/resources/js/components/FilesView/FileItemList.vue +++ b/resources/js/components/FilesView/FileItemList.vue @@ -228,6 +228,8 @@ export default { this.$router.push({name: 'Trash', params: {id: this.item.id}}) } else if (route === 'Files') { this.$router.push({name: 'Files', params: {id: this.item.id}}) + } else if (route === 'TeamFolders') { + this.$router.push({name: 'TeamFolders', params: {id: this.item.id}}) } } else { @@ -269,6 +271,8 @@ export default { this.$router.push({name: 'Trash', params: {id: this.item.id}}) } else if (route === 'Files') { this.$router.push({name: 'Files', params: {id: this.item.id}}) + } else if (route === 'TeamFolders') { + this.$router.push({name: 'TeamFolders', params: {id: this.item.id}}) } } }, diff --git a/resources/js/components/FilesView/FolderIcon.vue b/resources/js/components/FilesView/FolderIcon.vue index ceddd46a..2199e5e8 100644 --- a/resources/js/components/FilesView/FolderIcon.vue +++ b/resources/js/components/FilesView/FolderIcon.vue @@ -7,7 +7,7 @@ /> @@ -95,6 +95,14 @@ fill: $dark_background; } } + + &.is-team { + path { + fill: transparent; + stroke-width: 20px; + stroke: inherit; + } + } } .dark-mode { diff --git a/resources/js/components/Others/Popup/PopupHeader.vue b/resources/js/components/Others/Popup/PopupHeader.vue index 3380f8e4..7384b72e 100644 --- a/resources/js/components/Others/Popup/PopupHeader.vue +++ b/resources/js/components/Others/Popup/PopupHeader.vue @@ -6,6 +6,7 @@ +

{{ title }}

@@ -15,7 +16,7 @@ diff --git a/resources/js/components/Teams/Components/TeamMemberList.vue b/resources/js/components/Teams/Components/TeamList.vue similarity index 89% rename from resources/js/components/Teams/Components/TeamMemberList.vue rename to resources/js/components/Teams/Components/TeamList.vue index 35b8356e..6f8bb570 100644 --- a/resources/js/components/Teams/Components/TeamMemberList.vue +++ b/resources/js/components/Teams/Components/TeamList.vue @@ -6,11 +6,11 @@
- +
- {{ member.name ? member.name : member.email }} - + {{ member.settings ? member.settings.name : member.email }} +
@@ -28,7 +28,7 @@ import {XIcon} from 'vue-feather-icons' export default { - name: "TeamMemberList", + name: "TeamList", props: [ 'value', ], @@ -67,7 +67,6 @@ @import '/resources/sass/vuefilemanager/_forms'; .member-list { - margin-bottom: 20px; max-height: 270px; overflow-y: scroll; } diff --git a/resources/js/components/Teams/CreateTeamFolderPopup.vue b/resources/js/components/Teams/CreateTeamFolderPopup.vue index c8c5674c..bcf4b13b 100644 --- a/resources/js/components/Teams/CreateTeamFolderPopup.vue +++ b/resources/js/components/Teams/CreateTeamFolderPopup.vue @@ -2,7 +2,7 @@ - + @@ -31,7 +31,7 @@ {{ $t('Please add at least one member.') }} - + @@ -69,7 +69,7 @@ import PopupHeader from '/resources/js/components/Others/Popup/PopupHeader' import ThumbnailItem from '/resources/js/components/Others/ThumbnailItem' import ButtonBase from '/resources/js/components/FilesView/ButtonBase' - import TeamMemberList from "./Components/TeamMemberList"; + import TeamList from "./Components/TeamList"; import {required} from 'vee-validate/dist/rules' import InfoBox from "../Others/Forms/InfoBox"; import {events} from '/resources/js/bus' @@ -80,7 +80,7 @@ components: { ValidationProvider, ValidationObserver, - TeamMemberList, + TeamList, ThumbnailItem, PopupWrapper, PopupActions, @@ -92,7 +92,7 @@ }, computed: { popupTitle() { - return this.item ? this.$t('Move into a Team Folder') : this.$t('Create Team Folder') + return this.item ? this.$t('Convert as Team Folder') : this.$t('Create Team Folder') }, popupSubmit() { return this.item ? this.$t('Move & Invite Members') : this.$t('Create Team Folder') @@ -103,29 +103,7 @@ }, data() { return { - members: [ - { - id: 1, - name: 'Jane Doe', - email: 'jane@doe.com', - avatar: '/temp/avatar-01.png', - permission: 'can-edit', - }, - { - id: 2, - name: 'Emma Willis', - email: 'dawn_mcglynn@adams.tv', - avatar: '/temp/avatar-02.png', - permission: 'can-view', - }, - { - id: 3, - name: 'Barry Erickson', - email: 'ulatid@jabo.edu', - avatar: '/temp/avatar-03.png', - permission: 'can-view-and-download', - }, - ], + invitations: [], item: undefined, name: undefined, email: undefined, @@ -140,21 +118,37 @@ this.isLoading = true - let route = this.name ? `/api/teams` : `/api/teams/${this.item.id}` + let route = this.name + ? `/api/teams/folders` + : `/api/teams/convert/${this.item.id}` + + let payload = this.name + ? { + name: this.name, + invitations: this.invitations, + } + : { + invitations: this.invitations, + } axios - .post(route, { - name: this.name, - members: this.members, - }) + .post(route, payload) .then(response => { + // todo: push to team folder + //this.$router.push({name: 'TeamFolders', params: {id: response.data.id}}) + if (! this.$isThisRoute(this.$route, ['TeamFolders'])) + this.$router.push({name: 'TeamFolders'}) + + this.$store.dispatch('getAppData') }) .catch(() => this.$isSomethingWrong()) .finally(() => { this.isLoading = false this.name = undefined - this.members = undefined + this.invitations = undefined + + this.$closePopup() }) }, addMember() { @@ -168,7 +162,7 @@ this.$refs.teamFolderForm.reset() - this.members.push({ + this.invitations.push({ email: this.email, avatar: '/assets/images/default-avatar.png', permission: 'can-edit', @@ -191,7 +185,7 @@ this.email = undefined this.name = undefined this.item = undefined - this.members = [] + this.invitations = [] }, 150) }) } diff --git a/resources/js/components/Teams/EditTeamFolderPopup.vue b/resources/js/components/Teams/EditTeamFolderPopup.vue new file mode 100644 index 00000000..3fbf3eef --- /dev/null +++ b/resources/js/components/Teams/EditTeamFolderPopup.vue @@ -0,0 +1,176 @@ + + + + + diff --git a/resources/js/helpers/itemHelpers.js b/resources/js/helpers/itemHelpers.js index c055022a..10fa4092 100644 --- a/resources/js/helpers/itemHelpers.js +++ b/resources/js/helpers/itemHelpers.js @@ -1,8 +1,4 @@ import {events} from "../bus"; -import {debounce, isArray} from "lodash"; -import axios from "axios"; -import i18n from "../i18n"; -import store from "../store"; const itemHelpers = { install(Vue) { @@ -54,7 +50,7 @@ const itemHelpers = { } Vue.prototype.$updateTeamFolder = function (entry) { - events.$emit('popup:open', {name: 'create-team-folder', item: [entry]}) + events.$emit('popup:open', {name: 'update-team-folder', item: entry}) } Vue.prototype.$removeFavourite = function (folder) { diff --git a/resources/js/routes/routesFile.js b/resources/js/routes/routesFile.js index 2e10566b..24a2744c 100644 --- a/resources/js/routes/routesFile.js +++ b/resources/js/routes/routesFile.js @@ -43,9 +43,9 @@ const routesFile = [ }, { name: 'TeamFolders', - path: '/platform/team-folder/:id?', + path: '/platform/team-folders/:id?', component: () => - import(/* webpackChunkName: "chunks/team-folders" */ '../views/FileView/Trash'), + import(/* webpackChunkName: "chunks/team-folders" */ '../views/FileView/TeamFolders'), meta: { requiresAuth: true }, diff --git a/resources/js/store/modules/fileBrowser.js b/resources/js/store/modules/fileBrowser.js index a3bf2277..1fe89ae4 100644 --- a/resources/js/store/modules/fileBrowser.js +++ b/resources/js/store/modules/fileBrowser.js @@ -43,6 +43,35 @@ const actions = { } }) }, + getTeamFolder: ({commit, getters}, id) => { + commit('LOADING_STATE', {loading: true, data: []}) + + axios + .get(`${getters.api}/teams/folders/${id}/${getters.sorting.URI}`) + .then(response => { + commit('LOADING_STATE', {loading: false, data: response.data.content}) + commit('SET_CURRENT_FOLDER', response.data.folder) + + events.$emit('scrollTop') + }) + .catch(error => { + + // Redirect if unauthenticated + if ([401, 403].includes(error.response.status)) { + + commit('SET_AUTHORIZED', false) + router.push({name: 'SignIn'}) + + } else { + + // Show error message + events.$emit('alert:open', { + title: i18n.t('popup_error.title'), + message: i18n.t('popup_error.message'), + }) + } + }) + }, getRecentUploads: ({commit, getters}) => { commit('LOADING_STATE', {loading: true, data: []}) diff --git a/resources/js/views/FileView/Files.vue b/resources/js/views/FileView/Files.vue index c10d36e0..f80aced3 100644 --- a/resources/js/views/FileView/Files.vue +++ b/resources/js/views/FileView/Files.vue @@ -54,7 +54,7 @@