Skip to content

demo(app-showcase): 批量编辑增强的可操作示例(多选/日期/可搜索选人)(#2185)#2548

Merged
baozhoutao merged 2 commits into
mainfrom
claude/showcase-bulk-multiselect
Jul 3, 2026
Merged

demo(app-showcase): 批量编辑增强的可操作示例(多选/日期/可搜索选人)(#2185)#2548
baozhoutao merged 2 commits into
mainfrom
claude/showcase-bulk-multiselect

Conversation

@baozhoutao

Copy link
Copy Markdown
Contributor

目的

给 objectui #2185 的批量编辑增强(多选/日期控件、单选可搜索选人组件)在 framework 的 examples/app-showcase 里加一套可真实操作的示例,方便 dogfood 和回归。对应 objectui 侧:PR #2186(已合并)+ #2190(嵌套下拉/选人组件的关闭行为修复)。

改动

examples/app-showcase/src/objects/project.object.ts

  • 新增 labels(多选,固定选项)
  • 新增 team_members: Field.user({ multiple: true })

examples/app-showcase/src/views/project.view.ts — Project 列表网格上加了四个 bulkActionDefs,每个都覆盖 #2185 新增的一种控件:

  • Set Labelsselect 多选(固定选项)
  • Assign Teamlookup 多选(用户;数组补丁)
  • Reassign Accountlookup 单选(可搜索的 reference 选人组件,不是裸下拉)
  • Reschedule → 新的 date 控件 + 单选 select 同屏

验证

objectstack dev 起的 showcase 上,用真实后端逐个跑通并查库核对持久化:

  • Set Labels:labels: ["frontend","devops"] 落到 5 行 ✓
  • Assign Team:team_members 数组落到 5 行 ✓
  • Reassign Account:account 单值(非数组)落到 5 行 ✓
  • Reschedule:end_date: "2026-12-31" 落到 5 行 ✓

注:此 PR 只含 showcase 示例源码(objects/views),不含任何 dist 构建产物。

@vercel

vercel Bot commented Jul 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jul 3, 2026 2:40pm

Request Review

@github-actions github-actions Bot added the size/m label Jul 3, 2026
@baozhoutao
baozhoutao merged commit 9d12193 into main Jul 3, 2026
15 checks passed
@baozhoutao
baozhoutao deleted the claude/showcase-bulk-multiselect branch July 3, 2026 14:58
Exercises the objectui BulkActionDialog multi-select fix
(objectstack-ai/objectui#2186) end-to-end in a real running app:

- project.object.ts: add `labels` (multiselect, fixed options) and
  `team_members` (multi-user) — the two shapes the bulk dialog could not
  set before #2185 (its picker collapsed to a single value / overwrote
  the array).
- project.view.ts: add the two columns and three `bulkActionDefs`:
  • set_labels  → multi-select on a `select` param (array patch)
  • assign_team → multi-select on a `lookup` param (sys_user)
  • reschedule  → the new `date` control + a single-select

Verified in objectstack dev: select rows → each action writes an array
(or date) patch to all selected records; labels/team_members/end_date
persist server-side.
Exercises the searchable single-lookup picker (objectui#2186): a
`lookup` param with no `multiple` now renders a searchable reference
combobox over showcase_account, not a bare dropdown. Verified in
objectstack dev — select rows → Reassign Account → search/pick one →
every selected project's `account` is set to the single chosen id.
os-zhuang added a commit that referenced this pull request Jul 16, 2026
…-0085 detail shapes (#2548) (#3019)

Follow-up to objectui#2546 (ADR-0085 PR4): rewrite the stale renderViaSchema forward-reference comment into a completed-state note, and land the deferred real-backend browser verification of the four detail-page shapes (grouped / ungrouped / stageField:false / related-heavy) as a dogfood audit note. Comment + docs only; no type/runtime change.
os-zhuang added a commit that referenced this pull request Jul 16, 2026
…ast PR4, detail-shapes e2e, shadowed-group lint, labeled feed summaries (#3029)

Follow-up plan from the #2548 real-backend browser pass (companion objectui#2577): .objectui-sha bumped to 092bd85 so the vendored console includes ADR-0085 PR4; permanent detail-shapes Playwright e2e (four shapes, 3/3 locally); semantic-zoo fixture keeps one non-highlighted member per group + money icon/description + option colors + currencyConfig USD; new field-group-shadowed lint warning; plugin-audit feed summaries use the object display label; ADR-0085 flipped to Accepted with as-built addendum; audit-note out-of-scope section replaced with triaged root causes (DEV_PROXY_TARGET harness misconfig; approvals cookie-only auth fixed in objectui#2577).
os-zhuang added a commit that referenced this pull request Jul 16, 2026
…ntract in detail-shapes e2e (#3047)

Last mile of the #2548 follow-up series: the vendored console pin moves past objectui#2577 so `objectstack dev --ui` gets the detail-page UX fixes, and detail-shapes e2e now pins that contract (strip title dedupe, group icon svg + description, currencyConfig symbols, no dangling footer). Local run against the rebuilt vendored console: 3/3 green (check:console-sha ✓).
os-zhuang added a commit that referenced this pull request Jul 16, 2026
… saves work (objectui#2572) (#3067)

The REST record PATCH accepts the OCC token as an If-Match header —
objectui's record-level inline edit sends it on every save — but the default
CORS allow-list (plugin-hono-server + the hono adapter) omitted it, so on
split-origin deployments the preflight failed and every inline-edit save
died in the browser with 'Failed to fetch'. Found live while dogfooding
objectui#2572 (console dev :5191 against a showcase backend on :4022); same
split-origin class as the #2548 Bearer fixes.

Explicit user-supplied allowHeaders still win unchanged; new unit test pins
If-Match in the default list.


Claude-Session: https://claude.ai/code/session_01JQjNZDdqmz2QHGQndpjZrR

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant