feat: support toggling file list columns by A-Words · Pull Request #12099 · 1Panel-dev/1Panel

@A-Words

What this PR does / why we need it?

Summary of your change

  1. 为文件管理列表增加列显示/隐藏能力,支持切换 权限、大小、修改时间、备注 列
  2. 支持文件列表列配置的本地持久化,刷新页面后仍保留用户选择

image

Please indicate you've done the following:

  • Made sure tests are passing and test coverage is added if needed.
  • Made sure commit message follow the rule of Conventional Commits specification.
  • Considered the docs impact and opened a new docs issue or PR with docs changes if needed.

@A-Words

@f2c-ci-robot

Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@f2c-ci-robot

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign zhengkunwang223 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ssongliu

感谢贡献,这里建议和 容器 / 文件 列表一样,统一使用 fu-table-column-select 组件

@A-Words

@A-Words

感谢贡献,这里建议和 容器 / 文件 列表一样,统一使用 fu-table-column-select 组件

谢谢提醒,已改为使用 fu-table-column-select 组件

@A-Words

ssongliu

</el-table-column>
<el-table-column :label="$t('file.mode')" prop="mode" width="80">
<el-table-column
v-if="isColumnVisible('mode')"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个判断是多余的吧

ssongliu

<el-table-column :label="$t('file.size')" prop="size" width="80" :sortable="'custom'">
<el-table-column
v-if="isColumnVisible('size')"
:label="$t('file.size')"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

多余判断

ssongliu


const pathRefs = ref<Record<string, any>>({});
const columns = ref<FileColumnConfig[]>([
{ label: i18n.global.t('file.mode'), value: 'mode', show: true },

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

可以不用赋值

@ssongliu

@A-Words

@A-Words

justadri pushed a commit to justadri/1Panel that referenced this pull request

Mar 29, 2026
* feat: support toggling file list columns

* feat: use fu table column select for file list

* chore: remove unused file column i18n keys

* feat: simplify file column visibility logic and remove unused configurations