9494
9595 <!-- show loading -->
9696 <div v-if =" loading && !waitForReload" >
97- <NcEmptyContent :name =" t('tables', 'Importing data from ') + importFileName" :description =" t('tables', 'This might take a while...')" >
98- <template #icon >
99- <NcIconTimerSand />
100- </template >
101- </NcEmptyContent >
97+ <div v-if =" !importFailed" >
98+ <NcEmptyContent :name =" t('tables', 'Importing data from ') + importFileName"
99+ :description =" t('tables', 'This might take a while...')" >
100+ <template #icon >
101+ <NcIconTimerSand />
102+ </template >
103+ </NcEmptyContent >
104+ </div >
105+ <div v-else >
106+ <NcEmptyContent :name =" t('tables', 'Failed')" :description =" errorMessage" />
107+ </div >
102108 </div >
103109
104110 <div v-if =" waitForReload" >
110116
111117<script >
112118import { NcDialog , NcButton , NcCheckboxRadioSwitch , NcEmptyContent , NcLoadingIcon } from ' @nextcloud/vue'
113- import { getFilePickerBuilder , FilePickerType , showError , showWarning } from ' @nextcloud/dialogs'
119+ import { getFilePickerBuilder , FilePickerType , showWarning } from ' @nextcloud/dialogs'
114120import RowFormWrapper from ' ../../shared/components/ncTable/partials/rowTypePartials/RowFormWrapper.vue'
115121import permissionsMixin from ' ../../shared/components/ncTable/mixins/permissionsMixin.js'
116122import IconFolder from ' vue-material-design-icons/Folder.vue'
@@ -164,6 +170,7 @@ export default {
164170 createMissingColumns: true ,
165171 pathError: false ,
166172 loading: false ,
173+ importFailed: false ,
167174 result: null ,
168175 preview: null ,
169176 columnsConfig: [],
@@ -177,6 +184,7 @@ export default {
177184 ' application/vnd.oasis.opendocument.spreadsheet' ,
178185 ],
179186 selectedUploadFile: null ,
187+ errorMessage: t (' tables' , ' Could not import data due to unknown errors.' ),
180188 }
181189 },
182190
@@ -281,21 +289,14 @@ export default {
281289 if (res .status === 200 ) {
282290 this .preview = res .data
283291 this .loading = false
284- } else if (res .status === 401 ) {
285- console .debug (' error while importing' , res)
286- showError (t (' tables' , ' Could not import, not authorized. Are you logged in?' ))
287- } else if (res .status === 403 ) {
288- console .debug (' error while importing' , res)
289- showError (t (' tables' , ' Could not import, missing needed permission.' ))
290- } else if (res .status === 404 ) {
291- console .debug (' error while importing' , res)
292- showError (t (' tables' , ' Could not import, needed resources were not found.' ))
293292 } else {
294- showError ( t ( ' tables ' , ' Could not import data due to unknown errors. ' ) )
295- console . debug ( ' error while importing ' , res)
293+ this . handleResponse (res, null )
294+ this . importFailed = true
296295 }
297296 } catch (e) {
297+ this .errorMessage = t (' tables' , ' Could not import data due to unknown errors.' )
298298 console .error (e)
299+ this .importFailed = true
299300 return false
300301 }
301302 },
@@ -315,21 +316,14 @@ export default {
315316 if (res .status === 200 ) {
316317 this .preview = res .data
317318 this .loading = false
318- } else if (res .status === 401 ) {
319- console .debug (' error while importing' , res)
320- showError (t (' tables' , ' Could not import, not authorized. Are you logged in?' ))
321- } else if (res .status === 403 ) {
322- console .debug (' error while importing' , res)
323- showError (t (' tables' , ' Could not import, missing needed permission.' ))
324- } else if (res .status === 404 ) {
325- console .debug (' error while importing' , res)
326- showError (t (' tables' , ' Could not import, needed resources were not found.' ))
327319 } else {
328- showError ( t ( ' tables ' , ' Could not import data due to unknown errors. ' ) )
329- console . debug ( ' error while importing ' , res)
320+ this . handleResponse (res, null )
321+ this . importFailed = true
330322 }
331323 } catch (e) {
324+ this .errorMessage = t (' tables' , ' Could not import data due to unknown errors.' )
332325 console .error (e)
326+ this .importFailed = true
333327 return false
334328 }
335329 },
@@ -389,22 +383,10 @@ export default {
389383 this .result = res .data
390384 } else {
391385 console .debug (' error while importing' , res)
392- showError ( t (' tables' , res .data ? .message || ' Could not import data due to unknown errors.' ) )
386+ this . errorMessage = t (' tables' , res .data ? .message || ' Could not import data due to unknown errors.' )
393387 }
394388 } catch (e) {
395- if (e .response ? .status === 401 ) {
396- console .debug (' error while importing' , e)
397- showError (t (' tables' , ' Could not import, not authorized. Are you logged in?' ))
398- } else if (e .response ? .status === 403 ) {
399- console .debug (' error while importing' , e)
400- showError (t (' tables' , ' Could not import, missing needed permission.' ))
401- } else if (e .response ? .status === 404 ) {
402- console .debug (' error while importing' , e)
403- showError (t (' tables' , ' Could not import, needed resources were not found.' ))
404- } else {
405- console .debug (' error while importing' , e)
406- showError (t (' tables' , e .response .data ? .message || ' Could not import data due to unknown errors.' ))
407- }
389+ this .handleResponse (e .response , e)
408390 }
409391 this .loading = false
410392 },
@@ -427,22 +409,10 @@ export default {
427409 this .result = res .data
428410 } else {
429411 console .debug (' error while importing' , res)
430- showError ( t (' tables' , res .data ? .message || ' Could not import data due to unknown errors.' ) )
412+ this . errorMessage = t (' tables' , res .data ? .message || ' Could not import data due to unknown errors.' )
431413 }
432414 } catch (e) {
433- if (e .response ? .status === 401 ) {
434- console .debug (' error while importing' , e)
435- showError (t (' tables' , ' Could not import, not authorized. Are you logged in?' ))
436- } else if (e .response ? .status === 403 ) {
437- console .debug (' error while importing' , e)
438- showError (t (' tables' , ' Could not import, missing needed permission.' ))
439- } else if (e .response ? .status === 404 ) {
440- console .debug (' error while importing' , e)
441- showError (t (' tables' , ' Could not import, needed resources were not found.' ))
442- } else {
443- console .debug (' error while importing' , e)
444- showError (t (' tables' , e .response ? .data ? .message || ' Could not import data due to unknown errors.' ))
445- }
415+ this .handleResponse (e .response , e)
446416 }
447417 this .loading = false
448418 },
@@ -488,6 +458,21 @@ export default {
488458 onUpdateColumnsConfig (event ) {
489459 this .columnsConfig = event
490460 },
461+ handleResponse (res , e ) {
462+ if (res? .status === 401 ) {
463+ console .debug (' error while importing' , e || res)
464+ this .errorMessage = t (' tables' , ' Could not import, not authorized. Are you logged in?' )
465+ } else if (res? .status === 403 ) {
466+ console .debug (' error while importing' , e || res)
467+ this .errorMessage = t (' tables' , ' Could not import, missing needed permission.' )
468+ } else if (res? .status === 404 ) {
469+ console .debug (' error while importing' , e || res)
470+ this .errorMessage = t (' tables' , ' Could not import, needed resources were not found.' )
471+ } else {
472+ console .debug (' error while importing' , e || res)
473+ this .errorMessage = t (' tables' , e? .response ? .data ? .message || ' Could not import data due to unknown errors.' )
474+ }
475+ },
491476 },
492477
493478}
0 commit comments