widgetastic.patternfly5 23.8.25.1__py3-none-any.whl → 23.8.28.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: widgetastic.patternfly5
3
- Version: 23.8.25.1
3
+ Version: 23.8.28.0
4
4
  Summary: Patternfly5 widget library for Widgetastic.
5
5
  Project-URL: repository, https://github.com/RedHatQE/widgetastic.patternfly5
6
6
  Maintainer-email: Nikhil Dhandre <ndhandre@redhat.com>, Egor Shamardin <eshamard@redhat.com>, Mike Shriver <mshriver@redhat.com>
@@ -103,6 +103,9 @@ itteration of [widgetastic.patternfly4](https://github.com/RedHatQE/widgetastic.
103
103
  - [line-chart](https://www.patternfly.org/charts/line-chart)
104
104
  - [pie-chart](https://www.patternfly.org/charts/pie-chart)
105
105
 
106
+ ### Patterns:
107
+ - [card-view](https://patternfly-react-main.surge.sh/patterns/card-view)
108
+
106
109
 
107
110
  ### Contribution guide
108
111
 
@@ -1,4 +1,4 @@
1
- widgetastic_patternfly5/__init__.py,sha256=iQLuJr-PD_llO0E7AK-NBbKicIwi1XOTlL9zBCC3giI,4432
1
+ widgetastic_patternfly5/__init__.py,sha256=R3zeri7LfNyVbt-jNeRnHpns4aZkYLWCiwF23RjmM9M,4620
2
2
  widgetastic_patternfly5/ouia.py,sha256=e5eGepCYPB4oSc52h43e3xWaGhKtGMvyNsx07m27jgM,3622
3
3
  widgetastic_patternfly5/charts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  widgetastic_patternfly5/charts/bullet_chart.py,sha256=G7-U1l9d8VlkiPKc3IfFtcleHAmM5WXsfAKwiyw5DEg,3737
@@ -10,7 +10,7 @@ widgetastic_patternfly5/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
10
10
  widgetastic_patternfly5/components/alert.py,sha256=lSh2TxSOxLob4VO0J7fr-W09R2_Sa4RLRtR5XBjA4_U,2613
11
11
  widgetastic_patternfly5/components/breadcrumb.py,sha256=_lQ7pqmh2P9FSwMae_quUTteHsfXFlQvYaXE4Z1gK1g,2035
12
12
  widgetastic_patternfly5/components/button.py,sha256=taiZYjFez5zVyOUBklIIz-kEGFLjigf0I97G2PYepCI,3621
13
- widgetastic_patternfly5/components/card.py,sha256=96zUD0LS0E8u6Mp5lJx3dagcXwnFwkEq8fj5aNuxyK8,1375
13
+ widgetastic_patternfly5/components/card.py,sha256=Fo8r4gA-JpYlUg1xwqWzLpiBm2xS74og1EX98Mpwaxc,2787
14
14
  widgetastic_patternfly5/components/chip.py,sha256=kLSoDHtc3IpayEupGap64cG3uCuroY7YMeG51-6_-ds,11047
15
15
  widgetastic_patternfly5/components/clipboard_copy.py,sha256=klEgT2RN4Sc7pd7Erwlxyj6ahOwexeMkTzyn6cCHNRk,1352
16
16
  widgetastic_patternfly5/components/description_list.py,sha256=sVhKwKnvJguZh9FqyPC1NU2UA_w7uA3ugkY5eoVRlPk,989
@@ -36,7 +36,7 @@ widgetastic_patternfly5/components/menus/menu.py,sha256=0cUb5V1y3RgRpdAB8DlPIL9O
36
36
  widgetastic_patternfly5/components/menus/menu_toggle.py,sha256=PBwNvg6E2RPdCG6ALBUqyTZxCwThJgk5S-9ghTiZ9hM,1029
37
37
  widgetastic_patternfly5/components/menus/options_menu.py,sha256=c5L4MhXazdLnfBO9mf4-2UsZa7NGW9yJ6_aDDtHdXAc,1231
38
38
  widgetastic_patternfly5/components/menus/select.py,sha256=2nb78mGsdzgmYrtdvvRf2N51iKUDl2VeyE7qEjWl4qQ,5711
39
- widgetastic.patternfly5-23.8.25.1.dist-info/METADATA,sha256=wgVeJanzzNtghLoKdo61DA4qzr8AkKyEfDyz1z0vhcs,6328
40
- widgetastic.patternfly5-23.8.25.1.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87
41
- widgetastic.patternfly5-23.8.25.1.dist-info/licenses/LICENSE,sha256=nDhhj8jp0XsTdmvWpTWFpOKVn0LPXPb6ecA9zFF3Exk,576
42
- widgetastic.patternfly5-23.8.25.1.dist-info/RECORD,,
39
+ widgetastic.patternfly5-23.8.28.0.dist-info/METADATA,sha256=2F8FUbVRIHibZyBJDjbRuIHE-8w8i5w2v8QZgb02L9U,6416
40
+ widgetastic.patternfly5-23.8.28.0.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87
41
+ widgetastic.patternfly5-23.8.28.0.dist-info/licenses/LICENSE,sha256=nDhhj8jp0XsTdmvWpTWFpOKVn0LPXPb6ecA9zFF3Exk,576
42
+ widgetastic.patternfly5-23.8.28.0.dist-info/RECORD,,
@@ -8,6 +8,9 @@ from .components.alert import Alert
8
8
  from .components.breadcrumb import BreadCrumb
9
9
  from .components.button import Button
10
10
  from .components.card import Card
11
+ from .components.card import CardCheckBox
12
+ from .components.card import CardForCardGroup
13
+ from .components.card import CardGroup
11
14
  from .components.card import CardWithActions
12
15
  from .components.chip import CategoryChipGroup
13
16
  from .components.chip import Chip
@@ -71,6 +74,9 @@ __all__ = [
71
74
  "Button",
72
75
  "CalendarMonth",
73
76
  "Card",
77
+ "CardCheckBox",
78
+ "CardForCardGroup",
79
+ "CardGroup",
74
80
  "CardWithActions",
75
81
  "CategoryChipGroup",
76
82
  "CheckboxMenu",
@@ -1,6 +1,8 @@
1
1
  from widgetastic.utils import ParametrizedLocator
2
2
  from widgetastic.widget import Checkbox
3
3
  from widgetastic.widget import GenericLocatorWidget
4
+ from widgetastic.widget import ParametrizedView
5
+ from widgetastic.widget import View
4
6
 
5
7
  from widgetastic_patternfly5.components.menus.dropdown import Dropdown
6
8
 
@@ -32,13 +34,58 @@ class BaseCard:
32
34
 
33
35
 
34
36
  class Card(BaseCard, GenericLocatorWidget):
37
+ DEFAULT_LOCATOR = (
38
+ ".//div[@data-ouia-component-type='PF5/Card'] | .//article[contains(@class, 'pf-c-card')]"
39
+ )
40
+
35
41
  def __init__(self, parent, locator=None, logger=None):
36
- locator = locator or ".//div[contains(@class, '-c-card')]"
42
+ locator = locator or self.DEFAULT_LOCATOR
37
43
  super().__init__(parent, locator, logger=logger)
38
44
 
39
45
  ROOT = ParametrizedLocator("{@locator}")
40
46
 
41
47
 
48
+ class CardForCardGroup(BaseCard, ParametrizedView):
49
+ DEFAULT_LOCATOR = (
50
+ "(.//div[@data-ouia-component-type='PF5/Card'] | .//article[contains(@class, 'pf-c-card')])"
51
+ )
52
+
53
+ def __init__(self, parent, locator=None, logger=None, **kwargs):
54
+ View.__init__(self, parent, logger=logger, **kwargs)
55
+ self.locator = locator or self.DEFAULT_LOCATOR
56
+
57
+ PARAMETERS = ("position",)
58
+
59
+ ROOT = ParametrizedLocator("{@locator}[{position}]")
60
+
61
+ def __locator__(self):
62
+ return self.ROOT
63
+
64
+ @classmethod
65
+ def all(cls, browser):
66
+ # todo: OUIA versions should return component ids
67
+ elements = browser.elements(cls.DEFAULT_LOCATOR)
68
+ result = []
69
+ for index, item in enumerate(elements):
70
+ result.append((index + 1,))
71
+ return result
72
+
73
+
74
+ class CardGroup(GenericLocatorWidget, View):
75
+ def __init__(self, parent, locator=None, logger=None, **kwargs):
76
+ View.__init__(self, parent, logger=logger, **kwargs)
77
+ self.locator = locator
78
+
79
+ cards = ParametrizedView.nested(CardForCardGroup)
80
+
81
+ def __iter__(self):
82
+ return iter(self.cards)
83
+
84
+
42
85
  class CardWithActions(Card):
43
86
  dropdown = Dropdown(locator=".//div[contains(@class, '-c-card__actions')]")
44
87
  checkbox = Checkbox(locator=".//input[contains(@class, '-c-check__input')]")
88
+
89
+
90
+ class CardCheckBox(Checkbox):
91
+ ROOT = ".//input[contains(@class, '-c-check__input')]"