#### What type of PR is this?
/area ui
/kind bug
/milestone 2.20.x
#### What this PR does / why we need it:
修复使用 Secret 输入框创建 Secret 时,stringData 的 key 可能为 undefined 的问题。
#### Which issue(s) this PR fixes:
See https://github.com/halo-sigs/plugin-alist/issues/23#issuecomment-2443499980 for more
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
修复使用 Secret 输入框创建 Secret 时,stringData 的 key 可能为 undefined 的问题。
```
#### What type of PR is this?
/kind feature
/milestone 2.20.x
/area core
#### What this PR does / why we need it:
支持用户在个人中心管理自己的附件(需要具有对应权限)
Fixes https://github.com/halo-dev/halo/issues/5278
#### Does this PR introduce a user-facing change?
```release-note
支持用户在个人中心管理自己的附件(需要具有对应权限)
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.20.x
#### What this PR does / why we need it:
为 Code Input 设置默认高度,修复全屏按钮被遮挡的问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/6681
#### Does this PR introduce a user-facing change?
```release-note
为 Code Input 设置默认高度,修复全屏按钮被遮挡的问题。
```
#### What type of PR is this?
/kind improvement
/area ui
/milsetone 2.20.x
#### What this PR does / why we need it:
在 userSelect 查询用户列表时,移除匿名与已删除用户这两个保留用户。
#### How to test it?
在文章设置,用户列表中不存在匿名与已删除用户即可。
#### Which issue(s) this PR fixes:
Fixes#6665
#### Does this PR introduce a user-facing change?
```release-note
在 user select 中不再显示匿名与已删除用户。
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
优化了 Formkit 中的 selec 组件,使得其使用快捷键与鼠标选中的预选状态始终只有一个。且在多选状态下按回车时,不再预选跳转至第一个选项。
#### How to test it?
在多选状态下测试使用键盘进行预选及使用鼠标 hover 进行预选的状态是否符合预期。
#### Which issue(s) this PR fixes:
Fixes#6600
#### Does this PR introduce a user-facing change?
```release-note
优化 Formkit select 组件在多选状态下的待选中状态。
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.20.x
#### What this PR does / why we need it:
为 FormKit 添加菜单选择输入类型
<img width="549" alt="image" src="https://github.com/user-attachments/assets/b5e40c1d-908f-4cdc-89d5-76f9b67ae298">
#### Does this PR introduce a user-facing change?
```release-note
为 FormKit 添加菜单选择输入类型
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
为 formkit select 组件优化逻辑,目前将可以监听到 options 的变化,用于在变化时设置值。用于解决当 options 是异步获取,而 value 是初始设置时,无法显示正常的 label。
#### How to test it?
测试 options 比设置 value 晚时,数据能否正常显示 label。
#### Does this PR introduce a user-facing change?
```release-note
解决当 formkit select 组件中的 options 延迟设置时无法正常回显的问题。
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
解决 Formkit Selector 在值为布尔或者数字类型时,回显时内容不正常的问题。
#### How to test it?
测试当 FormKit Select 组件的值为布尔或者数字时,回显的内容是否正常。
#### Does this PR introduce a user-facing change?
```release-note
修复 FormKit Select 组件中布尔值的显示问题。
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
重新修改 formkit select 初始化值的监听方式,用于当 value 发生变化时,使选项值可以发生变化。
另外在更新数据时,如果数据发生变化,则发出 `onChange` 事件。
> 需要注意的是,通过 v-modal 传入默认值,再将此值改为 `undefined` 时无法触发 `watch` 及 formkit 的 `input` 事件,原因暂时未知,将此值设置为 `""` 即可正常触发。
#### How to test it?
由于此 PR 改动了初始化的方式,因此需要全量测试所有使用 `Select` 组件的位置。包括多选与单选,本地源与远程源。确保功能符合预期。
#### Which issue(s) this PR fixes:
Fixes#6594
#### Does this PR introduce a user-facing change?
```release-note
解决 Formkit Select 组件在值变更时不会发出事件及修改选项值的问题。
```
#### What type of PR is this?
/kind bug
/area ui
#### What this PR does / why we need it:
解决 formkit select 组件中,option 使用 `attrs: { disabled: true }` 无效的问题。
#### How to test it?
测试在 formkit select 组件中,option 设置 disabled 属性是否有效。
#### Which issue(s) this PR fixes:
Fixed#6592
#### Does this PR introduce a user-facing change?
```release-note
解决 formkit select 组件的 Option 设置 disabled 无效的问题
```
#### What type of PR is this?
/kind improvment
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
为 Formkit Select 组件增加 `fieldSelectorKey` 字段,用于在使用 `fieldSelector` 字段远程查询时,指定查询所使用的 Key。
例如指定 `fieldSelectorKey` 为 `metadata.name` 则接口调用时的参数为 `fieldSelector: metadata.name=(admin)`。
#### How to test it?
测试在远程搜索时,`fieldSelector` 的查询 key 是否为设置的内容。
#### Which issue(s) this PR fixes:
Fixes#6589
#### Does this PR introduce a user-facing change?
```release-note
为 Formkit Select 组件远程查询增加指定 Key 的字段。
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
当 formkit 选择器初始没有值的情况下,会默认选择第一项,但这同时会导致监听器取消监听,进而无法监听到后续的 value 值变更。
此 PR 将选择值的逻辑与自动选择第一项分开,用于解决此问题。
#### How to test it?
测试当选择器不存在初始值时,后续通过 v-model 传入的值是否还会使当前选项进行变更。
#### Does this PR introduce a user-facing change?
```release-note
解决 formkit 选择器回显数据异常的问题
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
为 formkit select 增加属性 `autoSelect`。
这个属性仅会作用于单选,且目的是为了初始化数据所用。当 value 或者 placeholder 存在时,此属性无效。
会查找第一个 option 不为 disabled 的数据。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
解决 formkit select 远程请求时的参数错误问题。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
使用 #6473 中重构的 Formkit Select 组件来实现用户、文章、页面等各种业务搜索组件。
Fixes https://github.com/halo-dev/halo/issues/4931
#### How to test it?
测试各类搜索组件是否正常可用。
测试从旧版本升级后,原有数据是否可以正常显示。
#### Does this PR introduce a user-facing change?
```release-note
使用重构的 Formkit Select 组件来实现业务选择器。
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.17.x
#### What this PR does / why we need it:
修复 Secret Input 保存之后会多出 Secret Form 中数据的问题。
#### Which issue(s) this PR fixes:
Fixes#6193
#### Special notes for your reviewer:
测试方式:
1. 在保存 Secret 的表单选项前,打开一次编辑 Secret 的对话框。
2. 保存数据,检查内容是否多出了其他数据。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.17.x
#### What this PR does / why we need it:
支持手动为文章设置作者。
<img width="734" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/b91b1754-4f50-4333-8478-6735d5846847">
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/5720
#### Special notes for your reviewer:
需要测试:
1. 打开任意文章的设置,在高级中设置作者并保存,观察是否成功。
2. 选择一批文章,点击批量设置,设置一个作者,观察是否设置成功。
#### Does this PR introduce a user-facing change?
```release-note
支持手动为文章设置作者。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.17.x
#### What this PR does / why we need it:
重新组织和固定 UI 部分代码的 imports 导入,防止后续因为 imports 的顺序造成不必要的 diff。
基于:https://github.com/halo-dev/halo/pull/6151
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind feature
/area ui
/milestone 2.17.x
#### What this PR does / why we need it:
为 formkit 增加动态列表的 input。
使用方式:
```
- $formkit: list
name: users
label: Users
addLabel: Add User
min: 1
max: 3
itemType: string
children:
- $formkit: text
index: "$index"
validation: required
```
> [!NOTE]
> `list` 组件有且只有一个子节点,并且必须为子节点传递 `index` 属性。若想提供多个字段,则建议使用 `group` 组件包裹。
#### How to test it?
测试动态数组是否正常可用。保存的结果是否为 `{users: ["", ""]}`
#### Which issue(s) this PR fixes:
Fixes#6098
#### Does this PR introduce a user-facing change?
```release-note
为 Formkit 增加动态列表的 input 组件 list
```
#### What type of PR is this?
/area ui
/kind cleanup
/milestone 2.16.x
#### What this PR does / why we need it:
规范 api client 的方法名,之前生成的 api client 的方法名没有完全遵循驼峰命名。
#### Which issue(s) this PR fixes:
Close https://github.com/halo-dev/halo/issues/5716
#### Special notes for your reviewer:
CI 通过即可。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area ui
#### What this PR does / why we need it:
优化 formkit 中 checkout、repeater、group 组件的 help 样式。
移除 checkout 的内边距
为 repeater、group 组件增加底部边距
#### How to test it?
观察上述组件的 help 样式是否正常。
#### Which issue(s) this PR fixes:
Fixes#5411
#### Does this PR introduce a user-facing change?
```release-note
优化 formkit 中 checkout、repeater 及 group 组件的 help 样式
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.14.x
#### What this PR does / why we need it:
在 `TagSelect` 与 `CategorySelect` 组件中,当搜索的同时允许进行创建新的分类或标签。
#### How to test it?
测试在搜索标签或者分类时,能否创建新的标签或者分类
#### Which issue(s) this PR fixes:
Fixes#4660
#### Does this PR introduce a user-facing change?
```release-note
在搜索标签或分类的同时允许进行创建新的分类或标签
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.14.0
#### What this PR does / why we need it:
为附件分组设置默认排序规则(按照创建时间升序),和 2.13.0 版本之间保持一致。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/5429
#### Special notes for your reviewer:
测试方式:
1. 创建若干附件分组。
2. 观察排序是否符合预期。
#### Does this PR introduce a user-facing change?
```release-note
修复附件管理中的分组排序不固定的问题。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.13.x
#### What this PR does / why we need it:
升级 FormKit 的依赖版本至 1.5.x
Please see https://formkit.com/changelog#_150
#### Does this PR introduce a user-facing change?
```release-note
升级 FormKit 的依赖版本至 1.5.x
```