#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
Lazy load partial routes to optimize initial load speed
#### Does this PR introduce a user-facing change?
```release-note
None
```
* Enhance type hints for globally registered components
* Refactor Codemirror props and language support
* Update
Signed-off-by: Ryan Wang <i@ryanc.cc>
---------
Signed-off-by: Ryan Wang <i@ryanc.cc>
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
Lazy load some routes to improve initial render performance
#### Does this PR introduce a user-facing change?
```release-note
懒加载 Console 和 UC 的部分路由,优化首屏渲染速度
```
#### What type of PR is this?
/area ui
/kind api-change
/milestone 2.22.x
#### What this PR does / why we need it:
See #7925
#### Which issue(s) this PR fixes:
Fixes#7925
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
将 `@halo-dev/console-shared` 重命名为 `@halo-dev/ui-shared`
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.22.x
#### What this PR does / why we need it:
Fix comment and plugin list filtering not working correctly
This issue might have been caused by the VueUse dependency upgrade in #7819.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.22.x
#### What this PR does / why we need it:
This PR introduces a developer-friendly utility for checking UI permissions, which is also exposed for use by plugins.
Usage:
```ts
import { utils } from "@halo-dev/console-shared"
utils.permission.has(['any:permission'])
```
#### Does this PR introduce a user-facing change?
```release-note
在 `@halo-dev/console-shared` 包中提供 UI 权限检查工具
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.22.x
#### What this PR does / why we need it:
This PR introduces date and attachment utilities into the `@halo-dev/console-shared` package. This makes it convenient for plugins to share and reuse these common functions.
#### Does this PR introduce a user-facing change?
```release-note
在 `@halo-dev/console-shared` 包中提供统一的 date 和 attachment 工具
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
This PR refactors the code to use shallowRef instead of ref in scenarios where deep reactivity for the properties of an object or array is unnecessary.
Using shallowRef is more performant in these cases as it avoids the overhead of making the entire data structure deeply reactive.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Migrate to ESLint 9, use flat config file, and simplify ESLint configuration.
Now, linting for all packages will be managed by the configuration in the project root directory.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Update extension points settings using new configMap API
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
1. Add ghost variant
2. Improve icon style
3. Refactoring css using scss functions
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
As per the title, the time shown in the plugin list is the installation time of the plugin. For usage purposes, this time seems to have no meaning or reference value.
#### Which issue(s) this PR fixes:
Fixes#7493
#### Does this PR introduce a user-facing change?
```release-note
移除插件列表的时间字段,并在插件详情中显示安装时间。
```
* refactor: improve entity component layout for better device responsiveness
Signed-off-by: Ryan Wang <i@ryanc.cc>
* Resolve CSS style conflicts
Signed-off-by: Ryan Wang <i@ryanc.cc>
* Update missing translaions
Signed-off-by: Ryan Wang <i@ryanc.cc>
---------
Signed-off-by: Ryan Wang <i@ryanc.cc>
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
Prevent data clearing on FormKit component unmount
#### Which issue(s) this PR fixes:
Fixes#7121
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
修复 FormKit 组件卸载时,对应数据值也被清除的问题
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
优化插件是否需要重载页面的判断条件,否则从低版本升级到 2.19 时,所有插件都会提示需要重载。
因为在 https://github.com/halo-dev/halo/pull/6470 中修改了 bundle.js 的结构,但升级到 2.19 之后可能并不会及时抛弃 bundle.js 的缓存,因为插件本身的 version 并没有改变,bundle.js 的 hash 参数也不会改变。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.17.x
#### What this PR does / why we need it:
优化插件扩展管理页面的 UI 权限,限制只有超级管理员才能访问。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.17.x
#### What this PR does / why we need it:
完善插件扩展设置页面:
1. 完善 i18n。
2. 将入口移动至插件页面右上角的操作按钮区域。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.17.0
#### What this PR does / why we need it:
修复插件扩展点设置页面标题的颜色问题。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.17.x
#### What this PR does / why we need it:
修复在扩展点设置页面切换扩展点定义后,扩展定义的选项被清空的问题。
#### Which issue(s) this PR fixes:
Fixes#6164
#### 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?
/area ui
/kind improvement
/milestone 2.17.x
#### What this PR does / why we need it:
简化插件启动的接口,改为之前单独提供的修改插件状态的接口,而不是修改 `spec.enabled`。
#### Special notes for your reviewer:
需要测试:
1. 手动安装插件之后,启动插件。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.16.x
#### What this PR does / why we need it:
在插件数据管理列表页面路由中记录查询条件,可以保证在刷新页面或者切换路由返回时保留之前的查询状态。
<img width="1663" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/2638dfc9-793b-48c6-81dd-f460a6c9214d">
#### Special notes for your reviewer:
需要测试:
1. 插件管理列表的所有筛选项是否可以正常工作。
2. 尝试设置部分筛选,然后刷新页面,观察筛选条件是否正常保留。
#### Does this PR introduce a user-facing change?
```release-note
Console 端的插件管理列表支持在地址栏记录筛选条件。
```
#### What type of PR is this?
/kind improvement
/area core
/area plugin
#### What this PR does / why we need it:
This PR wholly refactors plugin reconciliation to implement dependency mechanism.
Currently,
- If we disable plugin which has dependents, the plugin must wait for dependents to be disabled.
- If we enable plugin which has dependencies , the plugin must wait for dependencies to be enabled.
- If we upgrade plugin which has dependents, the plugin must request dependents to be unloaded. After the plugin is unloaded, the plugin must cancel unload request for dependents.
#### Which issue(s) this PR fixes:
Fixes#5872
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
优化被依赖的插件的升级,启用和禁用
```
#### 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?
/area ui
/kind bug
/milestone 2.15.0
#### What this PR does / why we need it:
修复插件异常启动时,指示器显示不正确的问题。
Fixes https://github.com/halo-dev/halo/pull/5520
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area core
/area ui
/kind feature
/kind api-change
#### What this PR does / why we need it:
为主题和插件的定义文件添加 issues 字段,用于填写问题反馈地址。方便使用者可以清楚的知道可以在哪里反馈问题。
<img width="767" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/b7dfce3f-8362-4964-82b8-cc018b85bb82">
#### Which issue(s) this PR fixes:
Fixes#5715
#### Does this PR introduce a user-facing change?
```release-note
为主题和插件的定义文件添加问题反馈(issues)字段
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.14.x
#### What this PR does / why we need it:
优化插件安装弹框组件的渲染时机,改为在未打开时不进行渲染,可以避免一些不必要的请求,尤其是在安装了应用市场插件之后。
#### Which issue(s) this PR fixes:
Fixes#5573
#### Special notes for your reviewer:
测试插件安装和升级功能是否正常即可。
#### Does this PR introduce a user-facing change?
```release-note
优化插件安装弹框组件的渲染时机,避免不必要的请求。
```