Skip to content

Commit

Permalink
feat: implement two create btn
Browse files Browse the repository at this point in the history
  • Loading branch information
saltbo committed Jan 11, 2022
1 parent f356292 commit 24378d3
Show file tree
Hide file tree
Showing 8 changed files with 1,652 additions and 49 deletions.
2 changes: 1 addition & 1 deletion babel.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module.exports = {
presets: [
'@vue/app'
'@vue/app',
],
"plugins": ["module:@vue/babel-sugar-v-model"]
}
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
},
"devDependencies": {
"@kangc/v-md-editor": "^1.7.7",
"@vue/cli-service": "3.12.1",
"@vue/cli-plugin-babel": "^3.12.0",
"@vue/cli-plugin-eslint": "^3.12.0",
"@vue/cli-service": "^3.12.0",
"axios": "^0.21.1",
"clipboard": "^2.0.8",
"el-table-infinite-scroll": "^1.0.10",
Expand Down
8 changes: 6 additions & 2 deletions src/libs/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,19 @@ let utils = {
upload(fileObj, destURL, headers, cancel) {
let file = fileObj.file
return new Promise((resolve, reject) => {
const CancelToken = axios.CancelToken;
let options = {
headers: headers,
cancelToken: new CancelToken(cancel),
onUploadProgress: function (event) {
file.percent = event.loaded / event.total * 100;
if (fileObj.onProgress) fileObj.onProgress(file);
}
};
if (cancel) {
const CancelToken = axios.CancelToken;
options.cancelToken = new CancelToken(cancel)
}

if (!destURL) reject('none upload url')

window.axios.put(destURL, file, options).then((ret) => {
if (fileObj.onSuccess) fileObj.onSuccess();
Expand Down
4 changes: 2 additions & 2 deletions src/libs/zpan/matter.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ class zMatter {
return new Promise((resolve, reject) => {
axios.post('/matters', body).then(ret => {
let data = ret.data
utils.upload(fileObj, data.link, data.headers, cancel).then(() => {
axios.patch(`/matters/${data.alias}/done`).then((ret) => {
utils.upload(fileObj, data.uplink, data.headers, cancel).then(() => {
axios.patch(`/matters/${data.matter.alias}/done`).then((ret) => {
resolve(ret.data)
})
}).catch(reject)
Expand Down
6 changes: 4 additions & 2 deletions src/locales/zh-CN.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"click-copy-link": "点击复制链接",
"copy-link": "复制链接",
"create-folder": "新建文件夹",
"day": "",
"op": {
"close": "关闭",
Expand All @@ -13,7 +12,9 @@
"disable": "禁用",
"rename": "重命名",
"delete": "删除",
"batch-delete": "批量删除"
"batch-delete": "批量删除",
"create-folder": "新建文件夹",
"create-file": "新建文件"
},
"msg": {
"success": "成功",
Expand Down Expand Up @@ -90,6 +91,7 @@
"tips": {
"batch-delete": "此操作将永久删除所选文件,是否继续?",
"create-folder": "请输入新的文件夹名称",
"create-file": "请输入新的文件名称",
"remove": "此操作将文件移动到回收站, 是否继续?",
"rename": "请输入新的名称",
"recyclebin": "提示:回收站也占用网盘空间,请及时清理哦~",
Expand Down
52 changes: 44 additions & 8 deletions src/views/home/disk/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,13 @@
<el-dropdown-item command="folder">上传文件夹</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown size="small">
<el-button type="primary" size="small" icon="el-icon-folder-add" plain>新建</el-button>
<el-dropdown size="small" @command="onCreationSelect">
<el-button type="primary" size="small" icon="el-icon-folder-add" @click="openCreateFolderDiglog" plain>新建</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>新建文件</el-dropdown-item>
<el-dropdown-item>新建文件夹</el-dropdown-item>
<el-dropdown-item command="file">新建文件</el-dropdown-item>
<el-dropdown-item command="folder">新建文件夹</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<!-- <el-button type="primary" size="medium" icon="el-icon-upload" @click="onUploadClick">{{ $t("disk.upload") }}</el-button> -->
<!-- <el-button v-show="folderBtnShown" type="primary" size="medium" icon="el-icon-folder-add" @click="openCreateDiglog" plain>{{ $t("disk.folder") }}</el-button> -->
<el-button-group v-show="selectedItems.length > 0" style="margin-left: 10px">
<el-button type="primary" icon="el-icon-download" size="medium" plain @click="onOutlinkClick">{{ $t("disk.download") }}</el-button>
<!-- <el-button type="primary" icon="el-icon-share" size="medium" @click="share" plain>分享</el-button> -->
Expand Down Expand Up @@ -146,8 +144,8 @@ export default {
a.remove();
});
},
openCreateDiglog() {
this.$prompt(this.$t("tips.create-folder"), this.$t("create-folder"), {
openCreateFolderDiglog() {
this.$prompt(this.$t("tips.create-folder"), this.$t("op.create-folder"), {
confirmButtonText: this.$t("op.confirm"),
cancelButtonText: this.$t("op.cancel"),
}).then(({ value }) => {
Expand All @@ -161,9 +159,47 @@ export default {
});
});
},
openCreateFileDiglog() {
var filename
var fileext = '.md'
var message = <el-input placeholder="请输入内容" v-model={filename} class="input-with-select">
<el-select v-model={fileext} slot="append" placeholder="请选择" style="width: 70px">
<el-option label=".txt" value=".txt"></el-option>
<el-option label=".md" value=".md"></el-option>
</el-select>
</el-input>
this.$msgbox({
title: this.$t("op.create-file"),
message: message,
showCancelButton: true,
confirmButtonText: this.$t("op.confirm"),
cancelButtonText: this.$t("op.cancel"),
}).then(({ value }) => {
let fileObj = {
file: new File([""], value, {type: "text/plain"}),
filename: value
}
this.$zpan.File.upload(this.getSid(), fileObj).then((data) => {
window.open(`f/editor?alias=${data.alias}`, "_blank")
});
});
},
onUploadSelect(cmd) {
this.$emit("upload-action", { type: cmd, sid: this.getSid(), dist: this.query.dir });
},
onCreationSelect(cmd){
switch (cmd) {
case 'file':
this.openCreateFileDiglog()
break;
case 'folder':
this.openCreateFolderDiglog()
break;
default:
break;
}
},
onFileOpen(type, obj, link) {
if (obj.type.startsWith("audio")) {
this.$emit("audio-open", obj, link);
Expand Down
2 changes: 1 addition & 1 deletion src/views/home/editor/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export default {
window.document.title = ret.name;
this.fileinfo = ret;
this.$axios.get(ret.url).then((ret) => {
this.content = ret;
this.content = String(ret);
});
});
},
Expand Down
Loading

0 comments on commit 24378d3

Please sign in to comment.