Skip to content

Commit d518330

Browse files
committed
Refactor file renaming logic and error handling in upload.js and library.js
1 parent 0920325 commit d518330

File tree

7 files changed

+23
-28
lines changed

7 files changed

+23
-28
lines changed

dist/css/field.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js/field.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

resources/js/components/Tabs/LibraryTab.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ const onChoose = () => {
133133
<div v-if="selected.length > 0 && !mediaDetail" class="ln-absolute ln-bottom-5 ln-w-full ln-p-4"
134134
style="z-index: 100;">
135135
<div
136-
class="ln-bg-white ln-w-full ln-max-w-sm ln-mx-auto ln-border ln-gap-x-4 ln-border-gray-200 ln-py-1.5 ln-rounded-lg ln-px-2.5 ln-gap-x-4 ln-flex ln-flex-row ln-items-center ln-justify-between">
136+
class="ln-bg-white ln-w-full ln-max-w-sm ln-mx-auto ln-border ln-border-gray-200 ln-py-1.5 ln-rounded-lg ln-px-2.5 ln-gap-x-4 ln-flex ln-flex-row ln-items-center ln-justify-between">
137137
<DefaultButton class="ln-bg-primary-500 ln-w-full" @click.prevent.stop="onChoose">
138138
Choose
139139
</DefaultButton>

resources/js/components/drawer.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<script setup>
2-
import { useLocalization } from 'laravel-nova-useLocalization';
32
import { Dialog, DialogPanel, TransitionChild, TransitionRoot } from '@headlessui/vue';
43
import { XMarkIcon } from '@heroicons/vue/20/solid';
5-
import { computed, defineProps, ref, watch } from 'vue';
4+
import { useLocalization } from 'laravel-nova-useLocalization';
5+
import { computed, defineProps } from 'vue';
66
77
const { __ } = useLocalization()
88
@@ -20,7 +20,7 @@ const files = computed(() => {
2020
2121
return [...previewFiles, ...files]?.sort((a, b) => a.order - b.order).filter(file => !file.hide)
2222
})
23-
const onClose = () => {
23+
const onClose = (e) => {
2424
window.NovaMedia.commit("drawer", "close")
2525
}
2626
const onOpen = async () => {
@@ -40,12 +40,12 @@ const onOpen = async () => {
4040
<previews-container :field="field" :files="files" />
4141
</div>
4242
<TransitionRoot as="template" :show="open">
43-
<Dialog class="ln-relative ln-z-50" @close="onClose">
44-
<TransitionChild as="template" enter="ln-ease-in-out ln-duration-500" enter-from="ln-opacity-0"
43+
<Dialog class="ln-relative ln-z-50">
44+
<!-- <TransitionChild as="template" enter="ln-ease-in-out ln-duration-500" enter-from="ln-opacity-0"
4545
enter-to="ln-opacity-100" leave="ln-ease-in-out ln-duration-500" leave-from="ln-opacity-100"
4646
leave-to="ln-opacity-0">
47-
<div class="ln-fixed ln-inset-0 ln-bg-gray-500 ln-bg-opacity-75 ln-transition-opacity" />
48-
</TransitionChild>
47+
<div class="ln-fixed ln-inset-0 ln-bg-gray-400/40 ln-transition-opacity" @close="onClose"/>
48+
</TransitionChild> -->
4949
5050
<div class="ln-fixed ln-inset-0 ln-overflow-hidden">
5151
<div class="ln-absolute ln-inset-0 ln-overflow-hidden">

resources/js/field.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
import App from './app'
2-
import LibraryStore from './store/library'
32
import DrawerStore from './store/drawer'
3+
import LibraryStore from './store/library'
44
import UploadStore from './store/upload'
55

6-
import IndexField from './fields/IndexField.vue'
76
import DetailField from './fields/DetailField.vue'
87
import FormField from './fields/FormField.vue'
8+
import IndexField from './fields/IndexField.vue'
99

1010
import Drawer from './components/drawer.vue'
1111
import UploadField from './components/UploadField.vue'
1212

13-
import Tabs from './components/Tabs/Tabs.vue'
14-
import UploadTab from './components/Tabs/UploadTab.vue'
15-
import LibraryTab from './components/Tabs/LibraryTab.vue'
1613
import ImageCard from './components/Tabs/ImageCard.vue'
1714
import ImageDetail from './components/Tabs/ImageDetail.vue'
15+
import LibraryTab from './components/Tabs/LibraryTab.vue'
16+
import Tabs from './components/Tabs/Tabs.vue'
17+
import UploadTab from './components/Tabs/UploadTab.vue'
1818

19-
import RowPreview from './components/Previews/Row.vue'
20-
import BlockPreview from './components/Previews/Block.vue'
2119
import Gallery from './components/Gallery/Gallery.vue'
2220
import GalleryItem from './components/Gallery/GalleryItem.vue'
21+
import BlockPreview from './components/Previews/Block.vue'
2322
import Preview from './components/Previews/Preview.vue'
2423
import PreviewsContainer from './components/Previews/PreviewsContainer.vue'
24+
import RowPreview from './components/Previews/Row.vue'
2525
import Tools from './components/Previews/Tools.vue'
2626

2727
Nova.booting((app, store) => {

resources/js/store/library.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,7 @@ export default {
8585
},
8686
actions: {
8787
async fetchLoadMore({ commit, state }) {
88-
if (state.fetchLoadMoreCanceller) {
89-
state.fetchLoadMoreCanceller.value()
90-
}
88+
state.fetchLoadMoreCanceller?.()
9189

9290
try {
9391
const request = await Nova.request().get(state.media.links.next, {
@@ -110,9 +108,7 @@ export default {
110108
{ commit, state },
111109
{ resourceName, resourceId, attribute, id }
112110
) {
113-
if (state.fetchMediaDetailCanceller !== undefined) {
114-
await state.fetchMediaDetailCanceller()
115-
}
111+
state.fetchMediaDetailCanceller?.()
116112
if (!id) {
117113
return
118114
}
@@ -147,9 +143,7 @@ export default {
147143
}
148144
},
149145
async fetchMediaData({ state, commit }, s = undefined) {
150-
if (state.fetchMediaCanceller !== undefined) {
151-
state.fetchMediaCanceller.value()
152-
}
146+
state.fetchMediaCanceller?.()
153147

154148
if (s && s.length < 3) {
155149
return

resources/js/store/upload.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ export default {
147147
renameFile(state, { file, name }) {
148148
const files = [...state.files]
149149
const index = files.findIndex(f => f.mediaId === file.id)
150+
if (index === -1) return
150151
files[index].name = name
151152
files[index].file_name = `${name}.${_file.extension}`
152153
state.files = files
@@ -242,10 +243,10 @@ export default {
242243
commit('setFiles', files)
243244
})
244245
.catch(error => {
245-
console.log(error)
246246
if (error.response.status === 403) {
247+
const msg= 'Sorry! You are not authorized to perform this action.'
247248
Nova.error(
248-
this.__('Sorry! You are not authorized to perform this action.')
249+
Nova.config('translations')[msg] ?? msg
249250
)
250251
}
251252
})

0 commit comments

Comments
 (0)