Skip to content

合并 feature/utils-2.0.4 到 main#2

Merged
Little-LittleProgrammer merged 9 commits intomainfrom
feature/utils-2.0.4
Aug 11, 2025
Merged

合并 feature/utils-2.0.4 到 main#2
Little-LittleProgrammer merged 9 commits intomainfrom
feature/utils-2.0.4

Conversation

@Little-LittleProgrammer
Copy link
Owner

@Little-LittleProgrammer Little-LittleProgrammer commented Aug 11, 2025

变更概览:

  • chore: 删除过时的变更集文件和更新版本号 (ebcdbd5)
  • docs: 更新文档版本号 (44b6fd4)
  • fix: 移除表格组件中的分页功能 (939d0f5)
  • feat: 增加自定义筛选项和操作按钮悬浮功能 (40d821c)
  • feat: 增强模态框功能,添加 onOpened 回调 (d1bcd2c)
  • feat: 添加自定义筛选功能和全屏设置 (053aff6)
  • feat: 在富文本编辑器中新增字体大小选项 (c6a2590)
  • feat: 发布 0.0.3-beta.0 版本 (38c1fee)

分支信息:

  • head: feature/utils-2.0.4
  • base: main

检查项:

  • 代码已同步远端并无本地未提交变更
  • 与 main 比较的提交信息已整理

Summary by CodeRabbit

  • New Features

    • Forms: Added customizable filter modal with persistence (enableCustomFilter, formId, reset/button/title options).
    • Table: Floating draggable settings panel, fullscreen toggle, new formCustomFilterChange and pagination change events, boolean pagination support, improved column cache scoping.
    • Modal: New onOpenChange and onOpened hooks; conditional draggable/fullscreen behavior.
    • Rich Text: Lazy-load TinyMCE for faster startup.
    • Playground: Loading title updated to “Quantum Design”.
  • Documentation

    • Expanded docs for form custom filters and table events; formatting and version updates across multiple packages.
  • Tests

    • Added comprehensive serialization/parsing tests.
  • Chores

    • Package version bumps, new Moveable dependency, and GitHub Actions for auto-merge and tagging.

- 新增 .changeset/pre.json 文件,定义初始版本和变更集
- 更新 @quantum-design/utils 的 parse 方法
- 更新多个包的版本至 2.0.4-beta.0
- 更新 qm-product-analysis 版本至 0.0.3-beta.0
- 更新 playground 页面标题为 "Quantum Design"
- 在 rich-text.vue 中添加 fontsize_formats 配置,支持多种字体大小选择
- 在表单组件中新增自定义筛选功能,支持用户选择和排序字段
- 添加自定义筛选弹窗组件,允许用户配置筛选项
- 更新表格组件以支持全屏显示和浮动设置选项
- 优化表格配置管理,增强用户体验
- 更新样式以适应新功能
- 在模态框 API 中新增 onOpened 回调,支持弹窗打开动画结束的处理
- 更新相关组件以调用 onOpened 和 onOpenChange 方法,增强用户交互体验
- 优化代码格式,提升可读性
- 在表单组件中新增自定义筛选项功能,支持用户自定义筛选条件
- 表格组件中添加操作按钮悬浮切换功能,提升用户交互体验
- 更新相关组件以支持新功能,优化代码结构
- 在表格组件中移除了不必要的分页功能,简化了组件结构
- 优化了表格的渲染逻辑,提升了性能和可读性
- @quantum-design-configs/vite -> 2.0.4
- @quantum-design-configs/eslint -> 2.0.3
- @quantum-design-configs/rollup -> 2.0.3
- @quantum-design-configs/tsconfig -> 2.0.3
- @quantum-design/hooks -> 2.0.4
- @quantum-design/http -> 2.0.4
- @quantum-design/shared -> 2.0.3
- @quantum-design/types -> 2.0.3
- @quantum-design/vue3-antd-pc-ui -> 2.0.4
- @quantum-design/vue3-pc-ui -> 2.0.4
@coderabbitai
Copy link

coderabbitai bot commented Aug 11, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Adds auto-merge and tagging workflows, introduces a “Custom Filter” feature for forms with persistence, expands table settings (floating panel, fullscreen toggle, pagination change event), enhances modal API with onOpenChange/onOpened, refactors utils (safe parse/serialize, IndexedDB cache), updates playground demos, lazy-loads TinyMCE, adjusts docs, styles, and bumps versions/changelogs.

Changes

Cohort / File(s) Summary
CI Workflows
.github/workflows/auto-merge.yml, .github/workflows/tag-on-merge.yml
New workflows: auto-enable PR automerge to main; tag creation on merge using commit/PR-derived names with fallbacks.
Playground tweaks
apps/playground/index.html, apps/playground/src/views/demo/form/UseForm.vue, .../modal/base-demo.vue, .../table/FormTable/index.vue
Title text update; useForm gains enableCustomFilter/formId; modal demo switches to onOpenChange/onOpened; table demo rewritten to script-setup, integrates modal, new events, setColumns, floating setting, custom filter wiring.
Form: Custom Filter Feature
packages/vue3-antd-pc-ui/src/q-form/src/form.vue, .../props.ts, .../types/form.ts, .../hooks/use-custom-filter.ts, .../components/custom-filter-modal.vue, .../style/form.scss
Adds enableCustomFilter, formId, and UI texts; emits customFilterChange; new hook with IndexedDB-backed config; new CustomFilterModal component and styles; new schema/prop types (formFilterLabel etc.).
Modal API updates
packages/vue3-antd-pc-ui/src/q-modal/src/modal-api.ts, .../types/modal.ts, .../modal.vue, .../hooks/use-modal.ts
Adds onOpenChange/onOpened hooks; removes onClosed; modal invokes callbacks on open state changes; formatting cleanups.
Table enhancements
packages/vue3-antd-pc-ui/src/q-table/src/table.vue, .../components/setting/index.vue, .../components/setting/fullscreen-setting.vue, .../components/table-pagination.vue, .../hooks/use-columns.ts, .../hooks/use-moveable.ts, .../hooks/use-table-context.ts, .../hooks/use-table-scroll.ts, .../hooks/use-pagination.tsx, .../types/table.ts, .../style/table-setting.scss, .../style/table.scss, .../props.ts
New floating settings panel (draggable via Moveable), fullscreen toggle component, pagination change event and boolean mode, cache key uses path+hash, tableElRef in context, boolean pagination height handling, console log in pagination hook, TableSetting.floating, fullscreen styles and setting styles; minor import cleanup.
Utils: parse/indexed-db/tests/package
packages/utils/src/parse.ts, .../src/indexed-db.ts, .../__tests__/parse.spec.ts, packages/utils/package.json
Safe parsing/serialization overhaul, stringToBoolean typing; IndexedDB caching and multi-store/version support; comprehensive tests; move shared dep to devDependencies and version bump.
Rich Text (TinyMCE) Lazy Load
packages/vue3-pc-ui/src/q-rich-text/src/rich-text.vue
Dynamically loads TinyMCE, delays init until available, adds refs, extends font sizes.
Docs updates
docs/project-docs/docs/configs/*, .../packages/hooks/index.md, .../packages/http/index.md, .../packages/shared/index.md, .../packages/types/index.md, .../packages/vue3-antd-pc-ui/index.md, .../form.md, .../table.md, .../packages/vue3-pc-ui/index.md
Formatting, spacing, version bumps; document new form custom filter props/events and table events/slots/floating usage.
Packages/changelogs/version bumps
configs/vite/*, cli/product-analysis/*, packages/ai-hub/*, packages/hooks/*, packages/http/*, packages/vue3-antd-pc-ui/*, packages/vue3-antd-pc-ui-nuxt/*, packages/vue3-pc-ui/*, packages/vue3-pc-ui-nuxt/*
Version bumps and changelog entries; vue3-antd-pc-ui adds dependency on moveable.
Workspace catalog
pnpm-workspace.yaml
Adds catalog entry moveable ^0.51.0.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant QForm
  participant useCustomFilter
  participant IndexedDB
  participant CustomFilterModal

  User->>QForm: Open page
  QForm->>useCustomFilter: init(originalSchemas, props)
  useCustomFilter->>IndexedDB: preload/get(formId+url)
  IndexedDB-->>useCustomFilter: config or null
  useCustomFilter-->>QForm: displaySchemas (computed)

  User->>QForm: Click "自定义筛选"
  QForm->>CustomFilterModal: open with schemas + initial config
  User->>CustomFilterModal: Select fields / reorder
  CustomFilterModal-->>QForm: confirm(selectedFields, fieldOrder)
  QForm->>useCustomFilter: saveConfig(...)
  useCustomFilter->>IndexedDB: set(formId+url, config)
  useCustomFilter-->>QForm: emit customFilterChange
Loading
sequenceDiagram
  participant Dev
  participant ModalApi
  participant QModal
  participant App

  Dev->>ModalApi: new ModalApi({ onOpenChange, onOpened, ... })
  App->>QModal: open()
  QModal-->>ModalApi: onOpenChange(true)
  QModal-->>ModalApi: onOpened()
  App->>QModal: close()
  QModal-->>ModalApi: onOpenChange(false)
Loading
sequenceDiagram
  participant User
  participant QTable
  participant SettingPanel
  participant FullscreenSetting
  participant DragHelper

  User->>SettingPanel: Toggle floating
  SettingPanel->>DragHelper: init(container, panel)
  User->>FullscreenSetting: Click icon
  FullscreenSetting->>QTable: toggle .q-table-content-fullscreen
  FullscreenSetting-->>QTable: emit fullscreen-change
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

In fields of code I twitch my ear,
A carrot-click to filter clear.
Tables float, then fill the screen—
I drag the settings, swift and keen.
Modals whisper, “opened” bright,
While parsers nibble bugs to byte.
Hippity-hop—ship it tonight! 🥕✨

Note

🔌 MCP (Model Context Protocol) integration is now available in Early Access!

Pro users can now connect to remote MCP servers under the Integrations page to get reviews and chat conversations that understand additional development context.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e425ba1 and a70722c.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (66)
  • .github/workflows/auto-merge.yml (1 hunks)
  • .github/workflows/tag-on-merge.yml (1 hunks)
  • apps/playground/index.html (1 hunks)
  • apps/playground/src/views/demo/form/UseForm.vue (1 hunks)
  • apps/playground/src/views/demo/modal/base-demo.vue (1 hunks)
  • apps/playground/src/views/demo/table/FormTable/index.vue (1 hunks)
  • cli/product-analysis/CHANGELOG.md (1 hunks)
  • cli/product-analysis/package.json (1 hunks)
  • configs/vite/CHANGELOG.md (1 hunks)
  • configs/vite/package.json (1 hunks)
  • docs/project-docs/docs/configs/eslint/index.md (1 hunks)
  • docs/project-docs/docs/configs/rollup/index.md (2 hunks)
  • docs/project-docs/docs/configs/tsconfig/index.md (1 hunks)
  • docs/project-docs/docs/configs/vite/index.md (2 hunks)
  • docs/project-docs/docs/packages/hooks/index.md (1 hunks)
  • docs/project-docs/docs/packages/http/index.md (6 hunks)
  • docs/project-docs/docs/packages/shared/index.md (1 hunks)
  • docs/project-docs/docs/packages/types/index.md (1 hunks)
  • docs/project-docs/docs/packages/vue3-antd-pc-ui/form.md (7 hunks)
  • docs/project-docs/docs/packages/vue3-antd-pc-ui/index.md (1 hunks)
  • docs/project-docs/docs/packages/vue3-antd-pc-ui/table.md (10 hunks)
  • docs/project-docs/docs/packages/vue3-pc-ui/index.md (1 hunks)
  • packages/ai-hub/CHANGELOG.md (1 hunks)
  • packages/ai-hub/package.json (1 hunks)
  • packages/hooks/CHANGELOG.md (1 hunks)
  • packages/hooks/package.json (1 hunks)
  • packages/http/CHANGELOG.md (1 hunks)
  • packages/http/package.json (1 hunks)
  • packages/utils/CHANGELOG.md (1 hunks)
  • packages/utils/__tests__/parse.spec.ts (1 hunks)
  • packages/utils/package.json (2 hunks)
  • packages/utils/src/indexed-db.ts (8 hunks)
  • packages/utils/src/parse.ts (1 hunks)
  • packages/vue3-antd-pc-ui-nuxt/CHANGELOG.md (1 hunks)
  • packages/vue3-antd-pc-ui-nuxt/package.json (1 hunks)
  • packages/vue3-antd-pc-ui/CHANGELOG.md (1 hunks)
  • packages/vue3-antd-pc-ui/package.json (2 hunks)
  • packages/vue3-antd-pc-ui/src/q-form/src/components/custom-filter-modal.vue (1 hunks)
  • packages/vue3-antd-pc-ui/src/q-form/src/form.vue (9 hunks)
  • packages/vue3-antd-pc-ui/src/q-form/src/hooks/use-custom-filter.ts (1 hunks)
  • packages/vue3-antd-pc-ui/src/q-form/src/props.ts (1 hunks)
  • packages/vue3-antd-pc-ui/src/q-form/src/style/form.scss (3 hunks)
  • packages/vue3-antd-pc-ui/src/q-form/src/types/form.ts (4 hunks)
  • packages/vue3-antd-pc-ui/src/q-modal/src/hooks/use-modal.ts (4 hunks)
  • packages/vue3-antd-pc-ui/src/q-modal/src/modal-api.ts (6 hunks)
  • packages/vue3-antd-pc-ui/src/q-modal/src/modal.vue (2 hunks)
  • packages/vue3-antd-pc-ui/src/q-modal/src/types/modal.ts (2 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/components/setting/fullscreen-setting.vue (1 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/components/setting/index.vue (3 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/components/table-pagination.vue (1 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/hooks/use-columns.ts (1 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/hooks/use-moveable.ts (1 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/hooks/use-pagination.tsx (1 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/hooks/use-table-context.ts (1 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/hooks/use-table-scroll.ts (1 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/props.ts (1 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/style/table-setting.scss (4 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/style/table.scss (5 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/table.vue (5 hunks)
  • packages/vue3-antd-pc-ui/src/q-table/src/types/table.ts (1 hunks)
  • packages/vue3-pc-ui-nuxt/CHANGELOG.md (1 hunks)
  • packages/vue3-pc-ui-nuxt/package.json (1 hunks)
  • packages/vue3-pc-ui/CHANGELOG.md (1 hunks)
  • packages/vue3-pc-ui/package.json (1 hunks)
  • packages/vue3-pc-ui/src/q-rich-text/src/rich-text.vue (8 hunks)
  • pnpm-workspace.yaml (1 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/utils-2.0.4

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

- 在 PR 检查通过后启用 squash 自动合并
- 合并至 main 后自动基于被合并分支名创建 tag(失败则兜底日期+短 SHA)
@Little-LittleProgrammer Little-LittleProgrammer merged commit 1c3d9fa into main Aug 11, 2025
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant