api resource refactoring part 5

This commit is contained in:
Peter Papp
2021-08-27 13:02:28 +02:00
parent 7984ce3ef1
commit 4304fb1ddb
14 changed files with 123 additions and 75 deletions
+58 -7
View File
@@ -12,7 +12,7 @@
"/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/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=0e511f0ceaac7257bf25",
"/chunks/admin~chunks/platform~chunks/settings.js": "/chunks/admin~chunks/platform~chunks/settings.js?id=f3bc2f8030f1dd06472a",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=99b4e9845e03f9d2e8ed",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=10dfcdaf479cf0f947e4",
"/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",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=fd6936cca8f3b8b4de9a",
@@ -37,7 +37,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=8ebd994024ba61c1e829",
"/chunks/files.js": "/chunks/files.js?id=83bffabbcec097fd3aac",
"/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=be2d7938bf33c26784fd",
"/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=e04827456ff09a9c4c4d",
"/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",
@@ -58,8 +58,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=fb5cf8097281b78ce520",
"/chunks/platform~chunks/shared.js": "/chunks/platform~chunks/shared.js?id=55a2d0fef1b90550bc8c",
"/chunks/platform.js": "/chunks/platform.js?id=ef6b3e1035ab17811965",
"/chunks/platform~chunks/shared.js": "/chunks/platform~chunks/shared.js?id=6c8ba90269dce3b0a2cf",
"/chunks/profile.js": "/chunks/profile.js?id=658aa03af778cc2cc100",
"/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=ddb7be518c092ed392ca",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=4b176796d100a2b24d71",
@@ -73,7 +73,7 @@
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=51b246c660e78c9263b5",
"/chunks/settings~chunks/settings-password.js": "/chunks/settings~chunks/settings-password.js?id=680f99e2021f19ff1af8",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=8a499266af9527039582",
"/chunks/shared.js": "/chunks/shared.js?id=3ee6779cdd3afb54ab6e",
"/chunks/shared.js": "/chunks/shared.js?id=ab772ee3d51869954f81",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=30b0b0d1930a1952648a",
"/chunks/shared/files.js": "/chunks/shared/files.js?id=0f216041b7c08a512785",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=453f36d6716f716561bc",
@@ -212,7 +212,7 @@
"/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~cd83f396.js": "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~cd83f396.js?id=537cbf03cc03f01380c4",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/settings-subscription~chunks/shared~f23e39b6.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/settings-subscription~chunks/shared~f23e39b6.js?id=5216516ba11c29601c91",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/shared/single-f~222c7501.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/shared/single-f~222c7501.js?id=546e98c6fc4cdd36e616",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.js?id=986b019e23295114496e",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.js?id=d38a44455911ae8be33d",
"/chunks/files~chunks/shared/files.js": "/chunks/files~chunks/shared/files.js?id=5e3e9744678568ca2f0c",
"/chunks/team-folders.06f03f5764345d4a21ae.hot-update.js": "/chunks/team-folders.06f03f5764345d4a21ae.hot-update.js",
"/vendors~chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunk~7a7e849f.js": "/vendors~chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunk~7a7e849f.js?id=84e471b380a972e986e6",
@@ -285,5 +285,56 @@
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0712655bd72af19a44db.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0712655bd72af19a44db.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0d0a3ec768afdd56172b.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0d0a3ec768afdd56172b.hot-update.js",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~8d246649.79e795629c63b8c2bd6f.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~8d246649.79e795629c63b8c2bd6f.hot-update.js",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~8d246649.805e066dbc352fc4f11f.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~8d246649.805e066dbc352fc4f11f.hot-update.js"
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~8d246649.805e066dbc352fc4f11f.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~8d246649.805e066dbc352fc4f11f.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.66602a893fce2b5a7454.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.66602a893fce2b5a7454.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.c4fa6600ec97552ec9e0.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.c4fa6600ec97552ec9e0.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.e2d39e75538a6518effe.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.e2d39e75538a6518effe.hot-update.js",
"/chunks/platform~chunks/shared.408beebc19015b9960df.hot-update.js": "/chunks/platform~chunks/shared.408beebc19015b9960df.hot-update.js",
"/chunks/platform~chunks/shared.2d54c1a6a84a2f98170a.hot-update.js": "/chunks/platform~chunks/shared.2d54c1a6a84a2f98170a.hot-update.js",
"/chunks/platform~chunks/shared.a18a47bba42aae8d5bb6.hot-update.js": "/chunks/platform~chunks/shared.a18a47bba42aae8d5bb6.hot-update.js",
"/chunks/platform~chunks/shared.1fc91453c7fbc8975e08.hot-update.js": "/chunks/platform~chunks/shared.1fc91453c7fbc8975e08.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.a3630db337e5fd3068c3.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.a3630db337e5fd3068c3.hot-update.js",
"/chunks/platform~chunks/shared.f2d2605b18fdd264027e.hot-update.js": "/chunks/platform~chunks/shared.f2d2605b18fdd264027e.hot-update.js",
"/chunks/platform~chunks/shared.ec4602ad18a118c9d632.hot-update.js": "/chunks/platform~chunks/shared.ec4602ad18a118c9d632.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.d70643a61ca03cdf1fc4.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.d70643a61ca03cdf1fc4.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.abfce2685dd823bfb3e9.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.abfce2685dd823bfb3e9.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.ecc62f490dd8e071bc2d.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.ecc62f490dd8e071bc2d.hot-update.js",
"/chunks/files.1c67c1778122090d9d9c.hot-update.js": "/chunks/files.1c67c1778122090d9d9c.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.88bc41dfbc1e1940606d.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.88bc41dfbc1e1940606d.hot-update.js",
"/chunks/platform~chunks/shared.88bc41dfbc1e1940606d.hot-update.js": "/chunks/platform~chunks/shared.88bc41dfbc1e1940606d.hot-update.js",
"/chunks/files.e947e6631c1f900cec5c.hot-update.js": "/chunks/files.e947e6631c1f900cec5c.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.e947e6631c1f900cec5c.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.e947e6631c1f900cec5c.hot-update.js",
"/chunks/platform~chunks/shared.e947e6631c1f900cec5c.hot-update.js": "/chunks/platform~chunks/shared.e947e6631c1f900cec5c.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.26301065408380de271f.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.26301065408380de271f.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.756eee34f599e371b286.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.756eee34f599e371b286.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.84435e60b9eb17df3089.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared/files~chunks/trash.84435e60b9eb17df3089.hot-update.js",
"/chunks/platform.7c78aea612ffa6f6dc60.hot-update.js": "/chunks/platform.7c78aea612ffa6f6dc60.hot-update.js",
"/chunks/platform.4a2125b0a58b659a175b.hot-update.js": "/chunks/platform.4a2125b0a58b659a175b.hot-update.js",
"/chunks/platform.c52ed04389556bad7d91.hot-update.js": "/chunks/platform.c52ed04389556bad7d91.hot-update.js",
"/js/main.e72a7a482f1c11cc5626.hot-update.js": "/js/main.e72a7a482f1c11cc5626.hot-update.js",
"/chunks/platform.c3bfbd9e462395f60b35.hot-update.js": "/chunks/platform.c3bfbd9e462395f60b35.hot-update.js",
"/chunks/platform.d3ae24b6df77449fd504.hot-update.js": "/chunks/platform.d3ae24b6df77449fd504.hot-update.js",
"/chunks/platform.b558590027fc0a529f0a.hot-update.js": "/chunks/platform.b558590027fc0a529f0a.hot-update.js",
"/chunks/files.48b748fe4c79df726c94.hot-update.js": "/chunks/files.48b748fe4c79df726c94.hot-update.js",
"/js/main.5ceca862fe1cab68b812.hot-update.js": "/js/main.5ceca862fe1cab68b812.hot-update.js",
"/js/main.95e9036634b1ee71d81f.hot-update.js": "/js/main.95e9036634b1ee71d81f.hot-update.js",
"/js/main.db0ecf4fe5144ff3f693.hot-update.js": "/js/main.db0ecf4fe5144ff3f693.hot-update.js",
"/js/main.681c952c266038f7da32.hot-update.js": "/js/main.681c952c266038f7da32.hot-update.js",
"/js/main.59f3f14374f1a83ceaa6.hot-update.js": "/js/main.59f3f14374f1a83ceaa6.hot-update.js",
"/chunks/platform.9207ccbb94faa2190fbe.hot-update.js": "/chunks/platform.9207ccbb94faa2190fbe.hot-update.js",
"/chunks/platform.7d71ef85e4202306c0ac.hot-update.js": "/chunks/platform.7d71ef85e4202306c0ac.hot-update.js",
"/chunks/platform.0ec1040479b8464d207a.hot-update.js": "/chunks/platform.0ec1040479b8464d207a.hot-update.js",
"/chunks/shared.7ff5834f3223bb763baa.hot-update.js": "/chunks/shared.7ff5834f3223bb763baa.hot-update.js",
"/chunks/platform.00ea94e9b804411f5426.hot-update.js": "/chunks/platform.00ea94e9b804411f5426.hot-update.js",
"/chunks/platform.508d32b30702c1b1f149.hot-update.js": "/chunks/platform.508d32b30702c1b1f149.hot-update.js",
"/chunks/platform.cc2821a1c02288dbb8f6.hot-update.js": "/chunks/platform.cc2821a1c02288dbb8f6.hot-update.js",
"/chunks/platform.436b57cc39be00b9abcb.hot-update.js": "/chunks/platform.436b57cc39be00b9abcb.hot-update.js",
"/chunks/platform.cf3b37b814bb844c0aa7.hot-update.js": "/chunks/platform.cf3b37b814bb844c0aa7.hot-update.js",
"/chunks/platform.60b3a89e25814c7b31b5.hot-update.js": "/chunks/platform.60b3a89e25814c7b31b5.hot-update.js",
"/chunks/platform.c9204051567c992ad827.hot-update.js": "/chunks/platform.c9204051567c992ad827.hot-update.js",
"/chunks/platform.d651fa5ed1c61477e02a.hot-update.js": "/chunks/platform.d651fa5ed1c61477e02a.hot-update.js",
"/chunks/platform.365ed255b193d9439fa8.hot-update.js": "/chunks/platform.365ed255b193d9439fa8.hot-update.js",
"/chunks/platform.084683751d8742219117.hot-update.js": "/chunks/platform.084683751d8742219117.hot-update.js",
"/chunks/platform.9fe84c8bd29a135f27bb.hot-update.js": "/chunks/platform.9fe84c8bd29a135f27bb.hot-update.js",
"/chunks/platform.f96a9e70557dc38c3516.hot-update.js": "/chunks/platform.f96a9e70557dc38c3516.hot-update.js"
}
@@ -39,7 +39,7 @@
let self = this;
self.pdfData = pdf.createLoadingTask(this.file.file_url);
self.pdfData = pdf.createLoadingTask(this.file.data.attributes.file_url);
self.pdfData.then(pdf => self.numPages = pdf.numPages);
},
@@ -57,15 +57,6 @@ export default {
// Reset item container
this.item = undefined
},
showFolderActionsMenu() {
let container = document.getElementById('folder-actions')
this.positionX = container.offsetLeft + 16
this.positionY = container.offsetTop + 30
// Show context menu
this.isVisible = true
},
showContextMenu(event) {
let parent = document.getElementById('menu-list')
let nodesSameClass = parent.getElementsByClassName('menu-option')
@@ -107,14 +98,16 @@ export default {
setTimeout(() => this.showContextMenu(event, item), 10)
})
events.$on('folder:actions', (folder) => {
// Store item
events.$on('context-menu:current-folder', folder => {
this.item = folder
this.isVisible = ! this.isVisible
if (this.isVisible) {
this.isVisible = false
} else {
this.showFolderActionsMenu()
let container = document.getElementById('folder-actions')
this.positionX = container.offsetLeft + 16
this.positionY = container.offsetTop + 30
}
})
@@ -8,7 +8,7 @@
{{ directoryName }}
</span>
<span v-if="isLoadedFolder" @click.stop="folderActions" class="location-more group" id="folder-actions">
<span v-show="isLoadedFolder" @click.stop="folderActions" class="location-more group" id="folder-actions">
<more-horizontal-icon size="14" class="icon-more group-hover-text-theme" />
</span>
</div>
@@ -228,8 +228,7 @@
events.$emit('popover:open', 'desktop-sorting')
},
folderActions() {
// todo: add current folder
events.$emit('folder:actions', this.currentFolder)
events.$emit('context-menu:current-folder', this.currentFolder)
},
},
}
@@ -57,7 +57,7 @@
:title="$t('file_detail.where')"
>
<div class="action-button" @click="openMoveOptions">
<span>{{ singleFile.parent ? singleFile.parent.name : $t('locations.home') }}</span>
<span>{{ singleFile.data.relationships.parent ? singleFile.data.relationships.parent.data.attributes.name : $t('locations.home') }}</span>
<edit-2-icon size="10" class="edit-icon" />
</div>
</ListInfoItem>
+8 -12
View File
@@ -56,11 +56,11 @@ const actions = {
if (!folder)
items = context.getters.clipboard
items.forEach((item) => {
items.forEach(item => {
if (item.data.type === 'folder') {
if (context.getters.user.data.relationships.favourites.data.attributes.folders.find(folder => folder.id === item.data.id)) return
if (context.getters.user.data.relationships.favourites.data.find(folder => folder.id === item.data.id)) return
addFavourites.push({id: item.data.id})
}
@@ -74,9 +74,9 @@ const actions = {
let pushToFavorites = []
// Check is favorites already don't include some of pushed folders
items.map(data => {
if (!context.getters.user.data.relationships.favourites.data.attributes.folders.find(folder => folder.id === data.id)) {
pushToFavorites.push(data)
items.map(item => {
if (!context.getters.user.data.relationships.favourites.data.find(folder => folder.data.id === item.id)) {
pushToFavorites.push(item)
}
})
@@ -121,11 +121,7 @@ const mutations = {
},
ADD_TO_FAVOURITES(state, folder) {
folder.forEach(item => {
state.user.data.relationships.favourites.data.attributes.folders.push({
id: item.data.id,
name: item.data.attributes.name,
type: item.data.type,
})
state.user.data.relationships.favourites.data.push(item)
})
},
UPDATE_NAME(state, name) {
@@ -135,10 +131,10 @@ const mutations = {
state.user.data.relationships.settings.data.attributes.avatar = avatar
},
REMOVE_ITEM_FROM_FAVOURITES(state, item) {
state.user.data.relationships.favourites.data.attributes.folders = state.user.data.relationships.favourites.data.attributes.folders.filter(folder => folder.id !== item.data.id)
state.user.data.relationships.favourites.data = state.user.data.relationships.favourites.data.filter(folder => folder.data.id !== item.data.id)
},
UPDATE_NAME_IN_FAVOURITES(state, data) {
state.user.data.relationships.favourites.data.attributes.folders.find(folder => {
state.user.data.relationships.favourites.data.find(folder => {
if (folder.id === data.id) {
folder.name = data.name
}
@@ -156,7 +156,7 @@ export default {
// Transition
.folder-item-move {
transition: transform 300s ease;
transition: all 300s ease;
}
.folder-item-enter-active {
@@ -77,18 +77,18 @@
<ContentGroup v-if="user" :title="$t('sidebar.favourites')" slug="favourites" :can-collapse="true">
<div @dragover.prevent="dragEnter" @dragleave="dragLeave" @drop="dragFinish($event)" :class="{ 'is-dragenter': area }" class="menu-list-wrapper vertical favourites">
<transition-group tag="div" class="menu-list" name="folder-item">
<span class="empty-note favourites" v-if="favourites.length === 0" :key="0">
<transition-group tag="div" class="menu-list" name="folder">
<span v-if="favourites.length === 0" class="empty-note favourites" :key="0">
{{ $t('sidebar.favourites_empty') }}
</span>
<router-link :to="{name: 'Files', params: {id: folder.id}}" v-for="folder in favourites" :key="folder.id" class="menu-list-item">
<div @click="goToFolder(folder)" v-for="folder in favourites" :key="folder.data.id" class="menu-list-item folder-item">
<div class="text-theme">
<folder-icon size="17" class="folder-icon" />
<span class="label text-theme">{{ folder.name }}</span>
<span class="label text-theme">{{ folder.data.attributes.name }}</span>
</div>
<x-icon @click.stop="$removeFavourite(folder)" size="17" class="delete-icon" />
</router-link>
</div>
</transition-group>
</div>
</ContentGroup>
@@ -127,7 +127,7 @@ export default {
'user',
]),
favourites() {
return this.user.data.relationships.favourites.data.attributes.folders
return this.user.data.relationships.favourites.data
},
storage() {
return this.$store.getters.user.data.attributes.storage
@@ -143,6 +143,9 @@ export default {
}
},
methods: {
goToFolder(folder) {
this.$router.push({name: 'Files', params: {id: folder.data.id}})
},
dragLeave() {
this.area = false
},
@@ -217,26 +220,16 @@ export default {
}
}
// Transition
.folder-item-move {
transition: transform 300s ease;
}
.folder-item-enter-active {
transition: all 300ms ease;
}
.folder-item-leave-active {
.folder-item {
transition: all 300ms;
display: inline-block;
margin-right: 10px;
}
.folder-item-enter, .folder-item-leave-to /* .list-leave-active below version 2.1.8 */
{
.folder-enter, .folder-leave-to {
opacity: 0;
transform: translateX(30px);
transform: translateY(-20px);
}
.folder-item-leave-active {
.folder-leave-active {
position: absolute;
}
</style>
+2 -1
View File
@@ -165,7 +165,7 @@
return this.clipboard.find(item => item.data.type !== 'folder')
},
favourites() {
return this.user.data.relationships.favourites.data.attributes.folders
return this.user.data.relationships.favourites.data
},
filterLocationTitle() {
return {
@@ -208,6 +208,7 @@
events.$on('context-menu:show', (event, item) => this.item = item)
events.$on('mobile-context-menu:show', item => this.item = item)
events.$on('context-menu:current-folder', folder => this.item = folder)
}
}
</script>
+1 -2
View File
@@ -147,8 +147,7 @@ class User extends Authenticatable implements MustVerifyEmail
public function favouriteFolders(): BelongsToMany
{
return $this->belongsToMany(Folder::class, 'favourite_folder', 'user_id', 'folder_id', 'id', 'id')
->where('team_folder', false)
->with('shared:token,id,item_id,permission,is_protected,expire_in');
->where('team_folder', false);
}
/**
+2 -9
View File
@@ -1,6 +1,7 @@
<?php
namespace App\Users\Resources;
use Domain\Folders\Resources\FolderCollection;
use Illuminate\Http\Resources\Json\JsonResource;
class UserResource extends JsonResource
@@ -50,15 +51,7 @@ class UserResource extends JsonResource
],
],
],
'favourites' => [
'data' => [
'id' => $this->id,
'type' => 'favourite_folders',
'attributes' => [
'folders' => $this->favouriteFolders->makeHidden(['pivot']),
],
],
],
'favourites' => new FolderCollection($this->favouriteFolders),
],
],
];
@@ -32,8 +32,9 @@ class BrowseTrashContentController
// Collect folders and files to single array
return [
'content' => collect([$folders, $files])->collapse(),
'folder' => $requestedFolder,
'folders' => new FolderCollection($folders),
'files' => new FilesCollection($files),
'root' => $requestedFolder,
];
}
@@ -43,6 +43,17 @@ class FileResource extends JsonResource
$this->mergeWhen($this->shared, fn() => [
'shared' => new ShareResource($this->shared),
]),
$this->mergeWhen($this->parent, fn() => [
'parent' => [
'data' => [
'type' => 'folder',
'id' => $this->parent->id,
'attributes' => [
'name' => $this->parent->name,
],
],
],
]),
]
],
];
@@ -43,6 +43,17 @@ class FolderResource extends JsonResource
$this->mergeWhen($this->shared, fn() => [
'shared' => new ShareResource($this->shared),
]),
$this->mergeWhen($this->parent, fn() => [
'parent' => [
'data' => [
'type' => 'folder',
'id' => $this->parent->id,
'attributes' => [
'name' => $this->parent->name,
],
],
],
]),
],
],
];