ワンクリックで
ewl-table
Build data tables with EwfTable including pagination, sorting, row activation, selection, and group actions
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Build data tables with EwfTable including pagination, sorting, row activation, selection, and group actions
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Configure opencode on a new development machine for EWL work by creating the global AGENTS.md and granting access to the EWL source, EWL System Manager source, EWL folder, and EWL client systems directory. Use when setting up opencode on a new machine, or when the user asks to bootstrap, initialize, or configure global opencode for EWL.
Run local EWL Development Utility (DU) operations on EWL systems. Use when asked to run DU operations such as sync or update-data against a particular path or system.
Database schema migration using FluentMigrator with the EWL Data Migrator project
Inspect and troubleshoot EWL systems hosted in Azure — locating an installation's App Service, Container App Job, and Log Analytics workspace, and reliably reading Container App (data migrator) console and system logs. Use when checking whether a deploy's data migrator ran, reading container logs for a hosted installation, or investigating an installation's Azure resources. Companion to ewl-azure-pipelines, which covers the build/deploy pipelines that create these resources.
Test changes to EWL agent rules, subagents, skills, OpenCode plugins, and MCP tools by driving OpenCode headlessly, capturing transcripts, and cleaning up afterwards. Load this skill when verifying changes to anything under Library\Files\Agent Rules.md, Library\Files\Agents\, Library\Files\Agent Skills\, Library\Files\OpenCode Plugins\, or Library\Files\OpenCode Tools\.
Azure Pipelines CI/CD for EWL systems including build templates, deploy templates, and pipeline code generation
| name | ewl-table |
| description | Build data tables with EwfTable including pagination, sorting, row activation, selection, and group actions |
Create a table with EwfTable.Create, add data rows with AddData:
EwfTable.Create(
caption: "Service orders",
fields: new EwfTableField( size: 1.ToPercentage() )
.Append( new EwfTableField( size: 3.ToPercentage() ) )
.Append( new EwfTableField( size: 6.ToPercentage() ) )
.Materialize(),
headItems: EwfTableItem.Create(
"ID".ToCell().Append( "Customer".ToCell() ).Append( "Bicycle".ToCell() ).Materialize() )
.ToCollection(),
defaultItemLimit: DataRowLimit.Fifty )
.AddData(
ServiceOrdersTableRetrieval.GetRows(),
i => EwfTableItem.Create(
i.ServiceOrderId.ToString().ToCell()
.Append( i.CustomerName.ToCell() )
.Append( i.BicycleDescription.ToCell() )
.Materialize() ) )
Field sizes use proportions (not required to sum to 100%). The
.ToPercentage() call is just a helper:
fields: new EwfTableField( size: 1.ToPercentage() )
.Append( new EwfTableField( size: 3.ToPercentage() ) )
.Append( new EwfTableField( size: 8.ToPercentage() ) )
.Materialize()
Make rows clickable by adding an activationBehavior to the item setup:
EwfTableItem.Create(
cells,
setup: EwfTableItemSetup.Create(
activationBehavior: ElementActivationBehavior.CreateHyperlink( new EditPage( i.Id ) ) ) )
Check authorization before creating links:
var page = new EditPage( i.Id );
setup: EwfTableItemSetup.Create(
activationBehavior: page.UserCanAccess ? ElementActivationBehavior.CreateHyperlink( page ) : null )
defaultItemLimit limits initially visible rows for performance. Users can
show more via built-in buttons:
EwfTable.Create( defaultItemLimit: DataRowLimit.Fifty )
Available limits: DataRowLimit.Fifty, DataRowLimit.FiveHundred,
DataRowLimit.Unlimited.
Add buttons above the table:
EwfTable.Create(
tableActions: new HyperlinkSetup( new CreatePage(), "Add New" ).ToCollection() )
Header rows use EwfTableItem.Create with cell collections:
headItems: EwfTableItem.Create(
"Name".ToCell().Append( "Email".ToCell() ).Append( "Role".ToCell() ).Materialize() )
.ToCollection()
Use .ToCell() to convert strings or component collections to table cells:
i.Name.ToCell()
"Active".ToComponents().ToCell()
new EwfHyperlink( target, new StandardHyperlinkStyle( "Edit" ) ).ToCell()
For drag-and-drop reordering, pass rankId to the item setup:
EwfTableItemSetup.Create( rankId: i.OrderRankId )
For transposed tables where items render as columns instead of rows:
ColumnPrimaryTable.Create( fields: /* ... */ )
.AddData( items, i => EwfTableItem.Create( /* cells */ ) )
The AddData method takes a data sequence and a selector function. Selectors
only execute for rows that are actually drawn (respecting item limits):
.AddData(
dataRows,
i => EwfTableItem.Create(
i.Name.ToCell().Append( i.Email.ToCell() ).Materialize(),
setup: EwfTableItemSetup.Create( /* ... */ ) ) )
For tables with checkboxes and bulk operations, use selectedItemActions
and ItemIdCell:
EwfTable.Create(
selectedItemActions: new SelectedItemAction<int>( "Delete Selected", ids => { /* delete logic */ } )
.ToCollection() )
.AddData(
rows,
i => EwfTableItem.Create(
new EwfTableItemSetup( id: i.Id ),
i.Name.ToCell().Materialize() ) )