RedHatQE / RedHatQE/widgetastic.core

Support multiple widgets in single table cell

Open
#95 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
37
Forks
46
PR merge metrics
No merged PRs in 30d

Description

In some cases we have multiple widgets in single table cell - e.g. 2 buttons in 'Actions' column, but currently Table widget supports only 1 widget per column.
We can try to workaround that by moving those widgets into separate view and assigning that view to table cell, but that will create some boilerplate (not to mention no one tried it out so no guarantees it will actually work :) ).
Ideally i just want to be able to specify some dict with widgets per table column, e.g:

resources = SatTable(
    locator='//table',
    column_widgets={
        'Version': Text('.//a'),
        'Status': PublishPromoteProgressBar(),
        'Actions': {'clone': Button(id='clone'), 'delete': Button(id='delete')}
    },
)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the SatTable implementation and how its column_widgets mapping currently resolves one widget per column. Trace the existing table-cell and widget handling before deciding how the shown nested mapping should be represented. Done means a column such as Actions can expose both clone and delete buttons while existing single-widget columns continue to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.