Commit Graph

203 Commits (484b5c1b743e04be0cd9e54298bf35bb11d58a97)

Author SHA1 Message Date
LonelySnowman c5bf1924a6
feat: tag and category add save and continue button (#6223)
#### What type of PR is this?

/kind feature

#### What this PR does / why we need it:

文章分类和标签 Modal 添加 ”保存并继续添加” 按钮,便于连续添加。

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/6127

#### Special notes for your reviewer:

![image](https://github.com/halo-dev/halo/assets/111493458/4debe13e-4002-48a8-827b-58cb74b4b074)


#### Does this PR introduce a user-facing change?

```release-note
文章分类和标签页添加 "保存并继续添加" 按钮。
```
2024-07-01 15:49:18 +00:00
Ryan Wang 0b7b74e826
fix: resolve styling issue for checkbox when disabled (#6240)
#### What type of PR is this?

/area ui
/kind bug
/milestone 2.17.x

#### What this PR does / why we need it:

修复 FormKit 中当 checkbox 为 disabled 时的样式问题。

before:

<img width="550" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/65e8e750-6663-4e14-9f7f-5102e8412675">

after:

<img width="540" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/2b55dcb4-b71a-45bf-8eae-17c490168bc6">

#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-07-01 09:55:17 +00:00
Ryan Wang 2aaf64aa34
feat: add plugin detail modal as global component (#6233)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.17.x

#### What this PR does / why we need it:

添加 PluginDetailModal,用于打开插件的设置界面。并在扩展设置页面适配以测试。

<img width="1643" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/4bb38ab1-ed51-4437-8202-ccaf9f79cb41">

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/6232

#### Does this PR introduce a user-facing change?

```release-note
为 UI 添加通用的插件设置弹窗,以供插件主动调用
```
2024-07-01 08:59:17 +00:00
Ryan Wang 8a61a39be3
refactor: refine permissions of extension settings page (#6237)
#### 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
```
2024-07-01 08:37:16 +00:00
Ryan Wang b673e4a24f
chore: regenerate API client (#6229)
#### What type of PR is this?

/area ui
/kind cleanup

#### What this PR does / why we need it:

重新生成 api client,移除无用的文件。并且此 PR 改进了生成的脚本,会在生成前删除旧的 api client 文件,保证不会遗留旧文件。


#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-07-01 07:01:17 +00:00
Ryan Wang d92bb4398e
refactor: refine extension settings page (#6231)
#### 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 
```
2024-07-01 06:43:17 +00:00
Ryan Wang f3f48e2753
feat: refine 2fa-related i18n (#6228)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.17.x

#### What this PR does / why we need it:

补充 2FA 相关的 i18n 定义。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-07-01 06:41:16 +00:00
longjuan 2c454ccb28
feat: add disabled state styling to checkboxes (#6220)
<!--  Thanks for sending a pull request!  Here are some tips for you:
1. 如果这是你的第一次,请阅读我们的贡献指南:<https://github.com/halo-dev/halo/blob/main/CONTRIBUTING.md>。
1. If this is your first time, please read our contributor guidelines: <https://github.com/halo-dev/halo/blob/main/CONTRIBUTING.md>.
2. 请根据你解决问题的类型为 Pull Request 添加合适的标签。
2. Please label this pull request according to what type of issue you are addressing, especially if this is a release targeted pull request.
3. 请确保你已经添加并运行了适当的测试。
3. Ensure you have added or ran the appropriate tests for your PR.
-->

#### What type of PR is this?

<!--
添加其中一个类别:
Add one of the following kinds:

/kind bug
/kind cleanup
/kind documentation
/kind feature
/kind improvement

适当添加其中一个或多个类别(可选):
Optionally add one or more of the following kinds if applicable:

/kind api-change
/kind deprecation
/kind failing-test
/kind flake
/kind regression
-->
/area ui
/kind improvement
#### What this PR does / why we need it:
当前多选框disabled与非disabled样式上无区别,不好分辨。
#### Which issue(s) this PR fixes:

<!--
PR 合并时自动关闭 issue。
Automatically closes linked issue when PR is merged.

用法:`Fixes #<issue 号>`,或者 `Fixes (粘贴 issue 完整链接)`
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
Fixes https://github.com/halo-dev/halo/issues/5974

#### Special notes for your reviewer:
![image](https://github.com/halo-dev/halo/assets/28662535/f3a3b683-4964-4701-a14e-3b12b0af26c1)

#### Does this PR introduce a user-facing change?

<!--
如果当前 Pull Request 的修改不会造成用户侧的任何变更,在 `release-note` 代码块儿中填写 `NONE`。
否则请填写用户侧能够理解的 Release Note。如果当前 Pull Request 包含破坏性更新(Break Change),
Release Note 需要以 `action required` 开头。
If no, just write "NONE" in the release-note block below.
If yes, a release note is required:
Enter your extended release note in the block below. If the PR requires additional action from users switching to the new release, include the string "action required".
-->

```release-note
增加多选框disabled样式
```
2024-07-01 03:19:17 +00:00
Ryan Wang ceb97458d4
fix: correct the kind definition in the Device extension (#6222)
#### What type of PR is this?

/area core
/kind bug
/milestone 2.17.x

#### What this PR does / why we need it:

修复 Device 模型中,Kind 定义错误的问题。

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/6221

#### Does this PR introduce a user-facing change?

```release-note
None 
```
2024-07-01 03:05:16 +00:00
Ryan Wang c1ca8d14b7
feat: add slug generation rules to post saving feature in the post editing page (#6205)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.17.x

#### What this PR does / why we need it:

支持在文章编辑页面创建文章时,也应用别名生成规则

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/5118
Fixes https://github.com/halo-dev/halo/issues/6155

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
支持在文章编辑页面创建文章时,也应用别名生成规则
```
2024-06-29 16:37:20 +00:00
Ryan Wang bae53f59ea
fix: resolve issue with secret input saving additional data (#6196)
#### 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
```
2024-06-29 16:35:21 +00:00
BugKing 2fe1b54f9d
Make front-end scripts compatible with Windows environment (#6202)
#### What type of PR is this?

/kind improvement

#### What this PR does / why we need it:

#### Which issue(s) this PR fixes:


#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-06-28 13:49:00 +00:00
Ryan Wang f0445f4e51
refactor: remove page cache feature (#6108)
#### What type of PR is this?

/area core
/kind api-change
/milestone 2.17.x

#### What this PR does / why we need it:

移除内置的页面静态缓存功能,后续将由 https://github.com/halo-sigs/plugin-page-cache 插件提供。

#### Which issue(s) this PR fixes:

Fixes #5639 

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
移除内置的页面静态缓存功能,后续由 https://github.com/halo-sigs/plugin-page-cache 插件提供。
```
2024-06-28 10:08:59 +00:00
Ryan Wang 80e1110da2
feat: restrict deletion of the primary menu (#6203)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.17.x

#### What this PR does / why we need it:

添加对菜单的限制,不能删除已经设置为主菜单的菜单。

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4956

#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-06-28 08:18:59 +00:00
Ryan Wang fc35e69766
chore: add types path to ui-plugin-bunlder-kit package.json (#6169) 2024-06-27 18:13:57 +08:00
Ryan Wang bb0a3bc467
feat: add support for setting an owner for posts (#6178)
#### 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
支持手动为文章设置作者。
```
2024-06-27 10:10:55 +00:00
Ryan Wang 9d478eecf9
feat: add secret select input (#6140)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.17.x

#### What this PR does / why we need it:

为 FormKit 添加 Secret 选择组件。

<img width="749" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/5100d7c0-89c0-48d3-9db5-7de67504686e">

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/5094

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
为 FormKit 添加 Secret 选择组件。
```
2024-06-27 10:08:55 +00:00
Takagi 0f6722a37e
pref: add the option to open a new window to the picture jump link (#6170)
#### What type of PR is this?

/kind improvement
/area editor
/milestone 2.17.x

#### What this PR does / why we need it:

为图片跳转链接增加在新窗口打开的选项。

#### How to test it?

测试新窗口打开是否正常可用。

#### Which issue(s) this PR fixes:

Fixes #6109 

#### Does this PR introduce a user-facing change?
```release-note
默认编辑器图片跳转链接支持配置新窗口打开
```
2024-06-27 10:04:54 +00:00
Ryan Wang fc57978aa2
fix: text style in extension point definition page (#6179)
#### 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
```
2024-06-27 09:48:55 +00:00
Ryan Wang 4d22bc3bbb
refactor: improve the content area width of the editor for low-resolution screens (#6175)
#### What type of PR is this?

/area ui
/area editor
/kind improvement
/milestone 2.17.x

#### What this PR does / why we need it:

优化文章编辑器内容区域在低分屏下的表现。

默认:

<img width="1898" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/bfca69e5-29cf-45d9-8757-0952fd2a129c">


小屏幕:

<img width="1043" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/88efbeed-fe0c-4b78-b435-f6352dbd8d27">


#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/6172

#### Special notes for your reviewer:

建议测试在各个屏幕下的表现。

#### Does this PR introduce a user-facing change?

```release-note
优化文章编辑器内容区域在低分屏下的表现。
```
2024-06-27 09:46:54 +00:00
Takagi ab14157def
pref: add folding function to code blocks (#6177)
#### What type of PR is this?

/kind improvement
/area editor
/milestone 2.17.x

#### What this PR does / why we need it:

为默认编辑器代码块增加折叠功能。

<img width="892" alt="image" src="https://github.com/halo-dev/halo/assets/31335418/8325cba9-08ce-4bd7-98b6-6bc28fe52daf">

#### How to test it?

测试折叠功能是否可用。
测试重新打开文章之后代码块是否仍旧处于折叠状态。

#### Which issue(s) this PR fixes:

Fixes #6166

#### Does this PR introduce a user-facing change?
```release-note
为默认编辑器代码块增加折叠功能
```
2024-06-27 09:42:54 +00:00
Ryan Wang c59c61b251
fix: vue injection warn (#6168)
#### What type of PR is this?

/area ui
/kind bug
/milestone 2.17.x

#### What this PR does / why we need it:

Fix the vue injection warn in browser console

<img width="559" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/4160cbe4-fe8b-4b30-a1db-57d35d78e4f9">

#### Does this PR introduce a user-facing change?

```release-note
None 
```
2024-06-27 08:08:56 +00:00
Ryan Wang f277655e11
docs: update readme for api client package (#6167)
#### What type of PR is this?

/area ui
/kind documentation
/milestone 2.17.x

#### What this PR does / why we need it:

更新 `@halo-dev/api-client` 包的 readme。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-06-27 07:16:54 +00:00
Takagi cc36ddaec5
pref: block-level content actively sets fakeSelection (#6162)
#### What type of PR is this?

/kind improvement
/area editor
/milestone 2.17.x

#### What this PR does / why we need it:

由于 RangeSelection 可能将一些并不想展示为模拟选中效果的节点进行了转换,因此将 RangeSelection 中模拟选中的效果,由默认的自动设置为 true,变为 false。

之后需要由节点自行设置 `fakeSelection: true` 后才会展示为模拟选中的效果,否则保持原本的选择样式。

#### How to test it?

测试使用 Mod-a 全选后,listItem 等节点是否会展示为模拟选中的效果。

#### Does this PR introduce a user-facing change?
```release-note
None
```
2024-06-27 07:14:55 +00:00
Ryan Wang 28e4ef0756
fix: clear extension definition options after switching extension points (#6165)
#### 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
修复在扩展点设置页面切换扩展点定义后,扩展定义的选项被清空的问题。
```
2024-06-27 07:12:53 +00:00
John Niang 632bb69dfe
Refactor search engine and improve document extensibility (#6082)
#### What type of PR is this?

/kind improvement
/kind api-change
/area core

#### What this PR does / why we need it:

See https://github.com/JohnNiang/halo/blob/refactor/search/docs/extension-points/search-engine.md for more

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/5202
Fixes https://github.com/halo-dev/halo/issues/5339
Fixes https://github.com/halo-dev/halo/issues/5613
Fixes https://github.com/halo-dev/halo/issues/5172
Fixes https://github.com/halo-dev/halo/issues/4796
Fixes https://github.com/halo-dev/halo/issues/5625
Fixes https://github.com/halo-dev/halo/issues/5805

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
重构搜索引擎并提高可扩展性。
```
2024-06-26 15:22:51 +00:00
Ryan Wang 5eabce7544
feat: add management and view pages for extension points (#6137)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.17.x

#### What this PR does / why we need it:

添加扩展点的查看和设置页面。

<img width="1414" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/4dd4660f-540f-46b5-8250-b4f011ebaae6">

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/3206

#### Does this PR introduce a user-facing change?

```release-note
添加系统扩展点的查看和设置页面。
```
2024-06-26 13:58:51 +00:00
Ryan Wang 49c4a917e1
fix: resolve style issues caused by changing the order of CSS imports (#6153)
#### What type of PR is this?

/area ui
/kind bug

#### What this PR does / why we need it:

修复 https://github.com/halo-dev/halo/pull/6152 中因为改动了 css 文件的导入顺序带来的样式问题。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-06-26 11:36:50 +00:00
Ryan Wang bc1033611e Refine UI for categories hiden 2024-06-26 19:25:10 +08:00
John Niang 59edade8bb
Merge pull request #6100 from guqing/feature/6023 2024-06-26 19:19:46 +08:00
Takagi 73798e86c6
feat: add gap cursor for top-level block nodes in default editor (#6103)
#### What type of PR is this?

/kind feature
/area editor
/milestone 2.17.x

#### What this PR does / why we need it:

目前想对块级节点进行换行是一件比较困难的事情,尤其是两个相邻的块级节点之间的想插入额外的一行时更加困难。间隙光标可以解决这一问题。

为默认编辑器的顶级块节点(pos.depth = 1)增加间隙光标的功能。当 NodeType 属性 `allowGapCursor` 为 true 时,将会在目标节点上启用间隙光标的功能。间隙光标将可能出现在目标节点的左上方与右下方。

<img width="909" alt="image" src="https://github.com/halo-dev/halo/assets/31335418/fbbdc8fe-59c9-4ae3-a7c8-97a90607c785">

已知问题:
1. 对于 inlineContent 的节点,点击生成间隙光标时,光标会先出现在对应的内容上,会出现闪动的问题。
2. 在间隙光标上使用组合输入(例如中文输入)时,首个字母会被新增至新的一行。
3. CodeBlock 无法使用间隙光标(CodeBlock 自身问题,待适配)
~~4. 首行空文本无法被删除(与 Gap Cursor 问题无关,待适配  Paragraph)~~
~~5. 删除文本上方有可以添加间隙光标的块级节点时,无法触发间隙光标的 Backspace 事件(同 4,属于 Paragraph 适配问题)~~

目前已经启用此功能的节点:

- 表格
- 分栏卡片
- CodeBlock (无法生效)

#### How to test it?

测试间隙光标是否能够在表格与分栏卡片上出现。
测试间隙光标出现后,输入文本、使用快捷键等操作是否符合逻辑。
测试使用方向键调整间隙光标位置。

#### Does this PR introduce a user-facing change?
```release-note
为默认编辑器的块级节点增加间隙光标的功能。
```
2024-06-26 11:18:50 +00:00
Ryan Wang 2c9d94f034 Refine UI for device managment 2024-06-26 18:53:24 +08:00
Ryan Wang a93479dc34
chore: organize and fix imports (#6152)
#### 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
```
2024-06-26 10:42:50 +00:00
Takagi 5aacd8a252
pref: editor iframe risk with src tag (#6150)
#### What type of PR is this?

/kind improvement
/area editor
/milestone 2.17.x

#### What this PR does / why we need it:

在用户设置 iframe 相关的 src 时,检测设置的链接是否符合白名单。如果不符合则不允许设置。

see https://github.com/ueberdosis/tiptap/pull/5160

#### How to test it?

测试在 iframe 中的 src 输入 `javascript: alert("1")` 时是否会触发 javascript

#### Does this PR introduce a user-facing change?
```release-note
处理默认编辑器中 iframe 标签的 src 属性可能存在的风险
```
2024-06-26 10:24:50 +00:00
Ryan Wang ed6a5e3898
chore: add vscode settings.json (#6151)
Signed-off-by: Ryan Wang <i@ryanc.cc>
2024-06-26 18:07:53 +08:00
Ryan Wang 2ae5d222d9
feat: add batch setting for partial post fields (#6142)
#### What type of PR is this?

/kind feature
/area ui
/milestone 2.17.x

#### What this PR does / why we need it:

支持批量为文章设置部分属性。

![image](https://github.com/halo-dev/halo/assets/21301288/cc4aa912-20ba-4b50-869b-705702f56d7d)

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/4631

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
支持批量为文章设置部分属性。
```
2024-06-26 09:58:50 +00:00
Takagi 5d5df7c7a9
feat: add dynamic list input (#6146)
#### 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
```
2024-06-26 09:48:49 +00:00
guqing ae6724a2b6
feat: implement persistent token based remember me mechanism (#6131)
#### What type of PR is this?
/kind feature
/area core
/milestone 2.17.x

#### What this PR does / why we need it:
新增基于持久化 Token 的 RememberMe 机制

本次更新引入了一种新的 RememberMe 机制,该机制基于持久化 Token,以增强安全性和管理灵活性。在此之前,RememberMe 功能通过以下方式生成 Token,并将其作为 cookie 发送回客户端:
```
 username + ":" + expiryTime + ":" + algorithmName + ":"
   + algorithmHex(username + ":" + expiryTime + ":" + password + ":" + key)
```
此方法的优点在于无需存储 Token 就可以进行验证,并且用户密码的更改会自动使 Token 失效。然而,它的主要缺点是缺乏管理能力,例如无法手动撤销 Token。

鉴于最新的设备管理需求(见 PR #6100),我们需要一种支持设备撤销(revoke)的机制。因此,我们采用了持久化 Token 的方式,并通过随机生成的方法来提高安全性,而不将用户名和密码直接签名在 Token 中。新的 Token 格式如下:
```
base64(tokenValue:series)
```
此更改将为系统带来更高的安全保障和更灵活的管理选项,特别是在需要高度控制和监管设备访问时。

#### Does this PR introduce a user-facing change?
```release-note
引入基于持久化 Token 的新 RememberMe 机制以增强安全性和管理灵活性,升级后需要重新登录
```
2024-06-26 08:40:49 +00:00
Takagi ba2987b585
feat: range selection feature to default editor (#6117)
#### What type of PR is this?

/kind feature
/area editor
/milestone 2.17.x

#### What this PR does / why we need it:

为默认编辑器添加 `RangeSelection` 选择器。

<img width="989" alt="image" src="https://github.com/halo-dev/halo/assets/31335418/c976cf99-0d6e-4346-9b05-8b9b0dc95183">


它的功能基本与 TextSelection 相反,例如:

1. TextSelection 支持光标展示,RangeSelection 不允许空内容,即它并不支持光标。
2. TextSelection 会抛弃被选择的 Node 节点部分偏移量,而 RangeSelection 会扩展偏移量至 Node 节点结束。
3. TextSelection 支持 Text 而 RangeSelection 支持 Node 节点。

`RangeSelection` 可以用于范围选中块节点并进行操作,可用于全选内容并进行删除操作。

#### How to test it?

测试使用点击,拖拽,释放鼠标的操作,能否选中某些节点。
测试删除选中的节点。

#### Which issue(s) this PR fixes:

Fixes #5194

#### Does this PR introduce a user-facing change?
```release-note
为默认编辑器添加 RangeSelection 选择器
```
2024-06-26 06:14:50 +00:00
Takagi c1ba566e08
fix: autosave content feature not working (#6147)
#### What type of PR is this?

/kind bug
/area ui
/milestone 2.17.x

#### What this PR does / why we need it:

解决自动保存失效的问题

#### How to test it?

测试文章、页面输入内容后,点击其他页面是否能够自动保存。

#### Which issue(s) this PR fixes:

Fixes #6129 

#### Does this PR introduce a user-facing change?
```release-note
解决文章自动保存失效的问题
```
2024-06-26 06:10:49 +00:00
Ryan Wang 88db1976c8
refactor: hide move group button when no attachment groups are present (#6138)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.17.x

#### What this PR does / why we need it:

选择附件时,如果当前没有分组,改为不显示移动按钮。

<img width="385" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/2d805f29-ecea-4469-b305-e217bd17db8b">

<img width="497" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/34800eb1-8fae-42fa-b875-929a3d912967">


#### Which issue(s) this PR fixes:

Fixes #6124 

#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-06-26 04:26:49 +00:00
Ryan Wang f09b685d28
refactor: remove phone field for user form (#6139)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.17.x

#### What this PR does / why we need it:

移除用户创建/编辑表单的手机号字段,当前手机号在系统中没有任何使用。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-06-26 03:56:48 +00:00
Ryan Wang aee39906a4
refactor: preserve post title when opening settings (#6122)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.17.x

#### What this PR does / why we need it:

在文章编辑页面,打开文章设置时,支持保存标题,防止已修改的标题恢复为之前的值。

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/6058

#### Does this PR introduce a user-facing change?

```release-note
优化文章编辑页面自动保存标题的功能
```
2024-06-26 03:52:48 +00:00
Ryan Wang c0d38a99ed
feat: support batch publish/unpublish posts (#6123)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.17.x

#### What this PR does / why we need it:

支持批量发布/取消发布文章。

<img width="475" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/5b79123b-5917-4b5e-9eaa-41c0cf5c8cdb">

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/6085

#### Does this PR introduce a user-facing change?

```release-note
支持批量发布/取消发布文章。
```
2024-06-26 03:38:48 +00:00
Ryan Wang 8302c21bb6
feat: add avatar group component (#6128)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.17.x

#### What this PR does / why we need it:

添加 AvatarGroup 组件,用于堆叠多个 Avatar 组件。

<img width="243" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/2d202e95-e735-4635-b16e-cdcf1f94f69a">
<img width="352" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/da4a293d-eb3f-40b4-94b2-10dcf54d3305">

#### Which issue(s) this PR fixes:

Fixes #6079 

#### Does this PR introduce a user-facing change?

```release-note
添加 AvatarGroup 组件,用于堆叠多个头像。
```
2024-06-26 02:24:48 +00:00
Ryan Wang 705bd235c3
fix: incorrect root path in API client requests (#6136)
#### What type of PR is this?

/area ui
/kind bug

#### What this PR does / why we need it:

修复 api client 默认请求根地址不正确的问题。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-06-25 06:42:45 +00:00
Ryan Wang c74187c066 feat: add requests library as a global shared dependency 2024-06-25 12:31:44 +08:00
JohnNiang ecc0a70249 Refactor api client using separated OpenAPI groups 2024-06-25 12:31:25 +08:00
Ryan Wang af73a69e69
fix: resolve phantom dependency issue for iconify (#6120)
#### What type of PR is this?

/kind bug
/area ui
/milestone 2.17.x

#### What this PR does / why we need it:

修复关于 iconify 图标包的幽灵依赖问题,某些情况下,可能导致无法正常导入模块。

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/6102

#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-06-25 04:24:44 +00:00
Ryan Wang 9604262378
Refactor attachment moving using the patch api (#6111)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.17.x

#### What this PR does / why we need it:

使用新的 [patch](https://github.com/halo-dev/halo/pull/6031) 接口重构附件的移动功能。

#### Special notes for your reviewer:

1. 测试附件移动至其他分组的功能是否正常。
2. 测试删除附件分组,选择 **删除并将附件移动至未分组** 选项,观察删除分组之后,其中的附件是否已经移动到未分组。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2024-06-24 04:12:42 +00:00