@ -438,22 +438,30 @@ export default {
} , 600 ) ,
} , 600 ) ,
async onCmPaste ( cm , ev ) {
async onCmPaste ( cm , ev ) {
const clipItems = ( ev . clipboardData || ev . originalEvent . clipboardData ) . items
const clipItems = ( ev . clipboardData || ev . originalEvent . clipboardData ) . items
for ( let clipItem of clipItems ) {
/ / I n C h r o m i u m k e r n e l t h e p a s t e e v e n t w i l l b e r e l e a s e d a f t e r c a l l b a c k r e t u r n
if ( _ . startsWith ( clipItem . type , 'image/' ) ) {
/ / S i n c e t h i s i s a n a s y n c f u n c t i o n , t h e f i l e m u s t b e g e t b e f o r e ' a w a i t ' k e y w o r d
const files = Array . from ( clipItems ) . filter ( item => _ . startsWith ( item . type , 'image/' ) ) . map ( item => item . getAsFile ( ) )
/ / u p l o a d a l l f i l e
for ( const file of files ) {
/ / g e t p a r e n t d i r e c t o r y
/ / g e t p a r e n t d i r e c t o r y
const folderPath = '/' + this . path . split ( '/' ) . slice ( 0 , - 1 ) . join ( '/' )
let folderID = 0
let folderID = 0
let folderPath = "/assets/" + this . locale
try {
try {
if ( this . path . includes ( "/" ) ) {
/ / p a t h t o l o w e r c a s e , t h e w i k i j s f o l d r e d o e s n o t s u p p o r t c a s e s e n s i t i v i t y .
folderPath += "/" + this . path . toLowerCase ( ) . split ( '/' ) . slice ( 0 , - 1 ) . join ( '/' )
}
/ / t r y t o g e t t h e f o l d e r i d , c r e a t e i t i f d o e s n o t e x i s t s .
folderID = await this . createFolder ( folderPath )
folderID = await this . createFolder ( folderPath )
} catch ( err ) {
} catch ( err ) {
this . $store . commit ( 'pushGraphError' , err )
this . $store . commit ( 'pushGraphError' , err )
return
return
}
}
const file = clipItem . getAsFile ( )
const now = new Date ( )
const now = new Date ( )
/ / f i l e n a m e f o r m a t y y y y - M M - d d _ r a n d o m . p n g
/ / f i l e n a m e f o r m a t y y y y - M M - d d _ r a n d o m . p n g
let filename = ` ${ now . getFullYear ( ) } - ${ now . getMonth ( ) + 1 } - ${ now . getDate ( ) } _ ${ parseInt ( Math . random ( ) * ( 10 * * 5 ) ) } `
let filename = ` ${ now . getFullYear ( ) } - ${ now . getMonth ( ) + 1 } - ${ now . getDate ( ) } _ ${ parseInt ( Math . random ( ) * ( 10 * * 5 ) ) } `
filename += file . name . slice ( file . name . lastIndexOf ( '.' ) )
filename += file . name . slice ( file . name . lastIndexOf ( '.' ) )
/ / u p l o a d f i l e
const form = new FormData ( )
const form = new FormData ( )
form . append ( 'mediaUpload' , JSON . stringify ( { 'folderId' : folderID } ) )
form . append ( 'mediaUpload' , JSON . stringify ( { 'folderId' : folderID } ) )
form . append ( 'mediaUpload' , file , filename )
form . append ( 'mediaUpload' , file , filename )
@ -476,7 +484,6 @@ export default {
icon : 'error'
icon : 'error'
} )
} )
}
}
}
}
}
} ,
} ,
async createFolder ( path ) {
async createFolder ( path ) {
@ -484,7 +491,7 @@ export default {
for ( const folderName of path . split ( "/" ) . slice ( 1 ) ) {
for ( const folderName of path . split ( "/" ) . slice ( 1 ) ) {
let folders = await this . getSubFolder ( folderID )
let folders = await this . getSubFolder ( folderID )
/ / a p i c a s e - i n s e n s i t i v e f o r f o l d e r n a m e
/ / a p i c a s e - i n s e n s i t i v e f o r f o l d e r n a m e
let folder = folders . find ( folder => folder . slug . toLowerCase ( ) === folderName . toLowerCase ( ) )
let folder = folders . find ( folder => folder . slug === folderName )
if ( ! folder ) {
if ( ! folder ) {
const resp = await this . $apollo . mutate ( {
const resp = await this . $apollo . mutate ( {
mutation : createAssetFolderMutation ,
mutation : createAssetFolderMutation ,
@ -499,8 +506,7 @@ export default {
throw new Error ( message ) ;
throw new Error ( message ) ;
}
}
folders = await this . getSubFolder ( folderID )
folders = await this . getSubFolder ( folderID )
console . log ( "getSubFolder" , folders )
folder = folders . find ( folder => folder . slug === folderName )
folder = folders . find ( folder => folder . slug . toLowerCase ( ) === folderName . toLowerCase ( ) )
}
}
folderID = folder . id
folderID = folder . id
}
}