diff --git a/README.md b/README.md index 21db9f3..552e37c 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,13 @@ -todo: 标签页,miaoDirectory切换动画 [finish] -todo: 重构virtualPage,所有page以插件形式使用 [finish] -todo: miaoDirectory插件化,为后续插件功能开发做准备 [finish] -todo: miaoPopupInput, 弹出一个输入框 [finish] -todo: miaoDirectory的重命名功能 [finish] -todo: miaoDirectory的剪切功能 [finish] -todo: miaoDirectory的上传按钮 [finish] -todo: miaoDirectory的新建文件/文件夹功能 [finish] -todo: miaoDirectory的多选功能 [finish] -todo: VirtualDirectory更新时更新文件信息 -todo: miaoDirectory的复制文件/文件夹功能 \ No newline at end of file +## TODO list: + +| 任务 | 状态 | +|---|---| +| 拆分miaoDirectory | ✅ | +| 完善视频插件 | ✅ | +| 完善PDF插件 | ✅ | +| 完善Code插件 | ✅ | +| 实现miaoDirectory的搜索功能 | ❌ | +| 完善miaoDirectory的搜索功能 | ❌ | +| 完善图片浏览插件 | ❌ | +| VirtualDirectory更新时更新文件信息 | ❌ | +| miaoDirectory的复制文件/文件夹功能 | ❌ | \ No newline at end of file diff --git a/src/components/miaoDirectory/miaoDirectoryBottom.vue b/src/components/miaoDirectory/miaoDirectoryBottom.vue new file mode 100644 index 0000000..52ace68 --- /dev/null +++ b/src/components/miaoDirectory/miaoDirectoryBottom.vue @@ -0,0 +1,77 @@ + + + + + \ No newline at end of file diff --git a/src/components/miaoDirectory/miaoDirectoryItem.vue b/src/components/miaoDirectory/miaoDirectoryItem.vue index feb59ea..184c30d 100644 --- a/src/components/miaoDirectory/miaoDirectoryItem.vue +++ b/src/components/miaoDirectory/miaoDirectoryItem.vue @@ -138,6 +138,7 @@ const dropDownOptions = computed(() => { }) // 是不是可以直接在这里面实现? +// 应该将所有事件emit出去才对 const handleDropdownSelect = (key: string) => { if (key === 'rename') { emit('rename') diff --git a/src/components/miaoDirectory/miaoDirectoryItemsContainer.vue b/src/components/miaoDirectory/miaoDirectoryItemsContainer.vue new file mode 100644 index 0000000..2de1ce2 --- /dev/null +++ b/src/components/miaoDirectory/miaoDirectoryItemsContainer.vue @@ -0,0 +1,81 @@ + + + + + \ No newline at end of file diff --git a/src/components/miaoDirectory/miaoDirectoryTop.vue b/src/components/miaoDirectory/miaoDirectoryTop.vue new file mode 100644 index 0000000..5aefc83 --- /dev/null +++ b/src/components/miaoDirectory/miaoDirectoryTop.vue @@ -0,0 +1,152 @@ + + + + + \ No newline at end of file diff --git a/src/views/miaoDirectory.vue b/src/views/miaoDirectory.vue index b13708d..d61cbde 100644 --- a/src/views/miaoDirectory.vue +++ b/src/views/miaoDirectory.vue @@ -1,466 +1,513 @@ @@ -469,161 +516,13 @@ $top-height: 30px; $bottom-bar-height: 60px; .miao-directory-item-container { - position: relative; - height: 100%; - width: inherit; - // min-width: 236px; - display: flex; - flex-direction: column; - overflow: hidden; - min-width: 170px; - - .container-top { - height: $top-height; - width: 100%; - user-select: none; - position: relative; - display: flex; - align-items: center; - overflow: hidden; - background-color: #f1f1f1; - - .container-top-colorfulBar { - height: 70%; - width: 5px; - margin-left: 10px; - border-radius: 3px 0 0 3px; - } - - .container-top-breadcrumb { - position: relative; - height: 70%; - width: calc(100% - 95px); - display: flex; - justify-content: flex-start; - align-items: center; - // overflow: hidden; - overflow-y: hidden; - overflow-x: hidden; - background-color: #ffffff; - padding: 0 5px; - border-radius: 0 3px 3px 0; - - .container-top-breadcrumb-container { - position: absolute; - height: 100%; - right: 0; - top: 0; - min-width: 100%; - display: flex; - justify-content: flex-start; - align-items: center; - } - } - - .container-top-tools { - position: relative; - height: 100%; - width: 70px; - padding: 0 5px; - display: flex; - justify-content: space-around; - align-items: center; - - .container-top-tools-item { - width: 20px; - height: 20px; - display: flex; - justify-content: center; - align-items: center; - background-color: #ffffff00; - border-radius: 5px; - transition: background-color 0.3s; - cursor: pointer; - - .container-top-tools-item-reload { - transition: transform 0.6s ease-in-out; - } - - &:hover { - background-color: rgba(128, 128, 128, 0.4); - } - - &:active .container-top-tools-item-reload { - transform: rotate(360deg); - } - } - - // &::after { - // content: ''; - // height: 60%; - // position: absolute; - // right: -2px; - // width: 2px; - // background-color: #828282; - // } - } - } - - .container-items { - width: 100%; - height: calc(100% - $top-height - $bottom-bar-height); - // flex: 1; - } - - .container-bottom { - height: $bottom-bar-height; - background-color: bisque; - display: flex; - justify-content: space-around; - align-items: center; - user-select: none; - box-shadow: 0px 1px 10px #888888; - z-index: 2; - - .container-bottom-item { - height: 40px; - width: 40px; - display: flex; - justify-content: center; - align-items: center; - - .container-bottom-item-icon { - svg { - width: 30px; - height: 30px; - transition: all 0.3s ease; - cursor: pointer; - } - - &:hover { - svg { - width: 40px; - height: 40px; - } - } - } - } - } + position: relative; + height: 100%; + width: inherit; + // min-width: 236px; + display: flex; + flex-direction: column; + overflow: hidden; + min-width: 170px; } - -// transition动画相关 -// .miao-directory-item-container { -// .container-items { -// .dirItem-move { -// transition: all 0.2s ease; -// } - -// .dirItem-leave-active { -// transition: none; -// } - -// .dirItem-enter-from { -// opacity: 0; -// } - -// .dirItem-leave-active { -// position: absolute; -// } -// } -// } + \ No newline at end of file diff --git a/src/views/miaoImages.vue b/src/views/miaoImages.vue index 06f7408..bb6fe45 100644 --- a/src/views/miaoImages.vue +++ b/src/views/miaoImages.vue @@ -66,9 +66,8 @@ const activeImageIndex = ref(-1) const scrollToActiveImage = () => { const dom = rootRef.value?.querySelector('.miaoImage-container-row-image-active') - console.log({ dom }) NScrollbarRef.value.scrollTo({ - top: dom?.offsetTop - 30 ?? 0, + top: dom.offsetTop - 30, behavior: "smooth" }) }