1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-20 19:08:21 +00:00
Files
seahub/frontend/src/utils/editor-utilties.js

92 lines
2.3 KiB
JavaScript
Raw Normal View History

2018-09-04 17:16:50 +08:00
import { slug, repoID, siteRoot } from '../components/constance';
import { SeafileAPI } from 'seafile-js';
import cookie from 'react-cookies';
import { bytesToSize } from '../components/utils'
2018-09-04 17:16:50 +08:00
let seafileAPI = new SeafileAPI();
let xcsrfHeaders = cookie.load('sfcsrftoken');
seafileAPI.initForSeahubUsage({ siteRoot, xcsrfHeaders });
class EditorUtilities {
getFiles() {
return seafileAPI.listWikiDir(slug, "/").then(items => {
const files = items.data.dir_file_list.map(item => {
return {
name: item.name,
type: item.type === 'dir' ? 'dir' : 'file',
isExpanded: item.type === 'dir' ? true : false,
parent_path: item.parent_dir,
last_update_time: item.last_update_time,
size: bytesToSize(item.size)
2018-09-04 17:16:50 +08:00
}
})
return files;
})
}
listRepoDir() {
return seafileAPI.listDir(repoID, "/",{recursive: true}).then(items => {
const files = items.data.map(item => {
return {
name: item.name,
type: item.type === 'dir' ? 'dir' : 'file',
isExpanded: item.type === 'dir' ? true : false,
parent_path: item.parent_dir,
last_update_time: item.mtime,
size: item.size ? bytesToSize(item.size) : '0 bytes'
}
})
return files;
})
}
2018-09-04 17:16:50 +08:00
createFile(filePath) {
return seafileAPI.createFile(repoID, filePath)
}
deleteFile(filePath) {
return seafileAPI.deleteFile(repoID, filePath)
}
renameFile(filePath, newFileName) {
return seafileAPI.renameFile(repoID, filePath, newFileName)
}
createDir(dirPath) {
return seafileAPI.createDir(repoID, dirPath)
}
deleteDir(dirPath) {
return seafileAPI.deleteDir(repoID, dirPath)
}
renameDir(dirPath, newDirName) {
return seafileAPI.renameDir(repoID, dirPath, newDirName)
}
getWikiFileContent(slug, filePath) {
return seafileAPI.getWikiFileContent(slug, filePath);
}
getSource() {
return seafileAPI.getSource();
}
searchFiles(queryData,cancelToken) {
return seafileAPI.searchFiles(queryData,cancelToken);
}
getAccountInfo() {
return seafileAPI.getAccountInfo();
}
}
const editorUtilities = new EditorUtilities();
export default editorUtilities;
export { seafileAPI };