generated from coulomb/repo-seed
refactor: use abstract ITEM placeholders with dynamic property mapping
Changed from fixed TASK placeholders to flexible ITEM placeholders that
automatically map all CSV fields to template placeholders.
Key changes:
- Renamed task-template → item-template in all templates
- Changed TASK_* → ITEM_* placeholder naming
- Implemented dynamic placeholder generation from item properties
- Any field in fieldMapping now creates ITEM_{FIELD} placeholder
- Updated all tests and documentation
Naming convention: CSV field → item.property → ITEM_PROPERTY
Example: "assignee" → item.assignee → {{ITEM_ASSIGNEE}}
This enables users to add custom fields without modifying generator code:
- Add "assignee": "Assignee" to fieldMapping
- Use {{ITEM_ASSIGNEE}} in template
- No code changes required
Benefits:
- More flexible and extensible
- Clearer abstraction (items vs tasks)
- Consistent naming convention
- Better documented
All 56 tests passing.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -36,12 +36,12 @@
|
||||
font-size="14" font-weight="700">{{LANE_NAME}}</text>
|
||||
</g>
|
||||
|
||||
<g id="task-template" style="display: none;">
|
||||
<circle cx="{{TASK_X}}" cy="{{TASK_Y}}" r="6"
|
||||
<g id="item-template" style="display: none;">
|
||||
<circle cx="{{ITEM_X}}" cy="{{ITEM_Y}}" r="6"
|
||||
fill="#2d8659" stroke="#4a9b6b" stroke-width="2"/>
|
||||
<text x="{{TEXT_X}}" y="{{TEXT_Y}}" font-size="12" fill="#2d8659" font-weight="500">
|
||||
<tspan class="item-id">{{TASK_ID}}: </tspan>
|
||||
<tspan class="item-title" fill="#1e5a3d">{{TASK_TITLE}}</tspan>
|
||||
<tspan class="item-id">{{ITEM_ID}}: </tspan>
|
||||
<tspan class="item-title" fill="#1e5a3d">{{ITEM_TITLE}}</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</defs>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Reference in New Issue
Block a user