DataView: expose classNames for filter-chip internals and loader rows
维护者通常 6 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 65/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- react, typescript
- 领域
- frontend
调研方向
从 DataView.List 和 FilterChip 的实现开始,然后跟踪 Filters.classNames.filterChips 和 DataViewListClassNames 如何应用于渲染出的元素。为列出的 filter-chip 内部元素以及 loading 容器或行添加 hooks,同时保留现有的 classNames 模式;当两个区域都可以在不使用经过哈希处理的 CSS-module 选择器的情况下进行主题化时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Summary
DataView.List renders its rows, cells, and group headers internally, and exposes classNames hooks for them (root, header, headerCell, row, cell, groupHeader, plus per-column cell/header and Filters.classNames.filterChips/addFilter). Two rendered parts still have no hook, so theming them means targeting hashed CSS-module classes ([class*="data-view-module_…"]), which are internal and can change between releases.
What has no hook
-
Filter-chip internals.
Filters.classNames.filterChipslands on the chip root only. The inner parts can't be reached:chip-label,operationText,operationValue,selectValue,removeIcon,removeIconContainer,leadingIcon. -
Loader / skeleton rows. When
isLoadingrenders placeholder rows, there's no hook on the loader container or its rows —DataViewListClassNamescovers real rows, not the loading state.
Proposed change
- Add a
classNamesobject toFilterChip(surfaced throughFilters) covering its inner parts. - Add a
loader(and/or loader-row) key toDataViewListClassNames.
Both follow the pattern the existing hooks already use: read an optional string from props, apply it to the element DataView already renders.
Willing to contribute
Happy to open a PR if the approach looks right.
- 主要语言
- TypeScript
- 星标
- 68
- 派生
- 13
- 平均合并
- 4 天 19 小时
- 30 天内合并 PR
- 37
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
raystack/apsara 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 6 天内回复
-
难度 2/5 1-3 小时 新手友好度 86/100
维护者通常 6 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 6 天内回复
-
难度 2/5 1-3 小时 新手友好度 85/100
维护者通常 6 天内回复
-
难度 4/5 3-5 天 新手友好度 30/100
维护者通常 6 天内回复
相似的 Issue
-
难度 1/5 1-3 小时 新手友好度 82/100
source-cooperative/docs.source.coop#41 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 76/100
Nimblesite/SharpLsp#468 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 85/100
solidjs-community/solid-primitives#1082 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 64/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复