FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

refactor: Use OuiaSupport interface across all base classes and compo… · patternfly-java/patternfly-java@6db444c · GitHub

Commit 6db444c

Browse files
committed
refactor: Use OuiaSupport interface across all base classes and components
Extend OuiaSupport with initOuia(), ouiaSafe(), and ouiaTransition() default methods. BaseLayout and BaseChart now implement OuiaSupport. Replace direct Ouia static calls with OuiaSupport default methods in Button, Icon, Skeleton, Drawer, PageSidebar, and ExpandableSection. Only BaseComponentSVG and Expandable retain direct Ouia usage due to SVGElement type and static helper constraints respectively.
1 parent ae2e705 commit 6db444c

14 files changed

Lines changed: 56 additions & 27 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
88

99
### Added
1010

11-
- Add `OuiaSupport` interface in `core` module for custom components to participate in OUIA without extending PatternFly Java base classes; `BaseComponent`, `SubComponent`, and `ComponentDelegate` now implement this interface
11+
- Add `OuiaSupport` interface in `core` module for custom components to participate in OUIA without extending PatternFly Java base classes; `BaseComponent`, `SubComponent`, `ComponentDelegate`, `BaseLayout`, and `BaseChart` now implement this interface
12+
- Replace direct `Ouia` static method calls with `OuiaSupport` default methods in `Button`, `Icon`, `Skeleton`, `Drawer`, `PageSidebar`, and `ExpandableSection`
1213

1314
## [0.7.8] - 2026-05-19
1415

‎charts/src/main/java/org/patternfly/chart/BaseChart.java‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,16 @@
2727
import org.jboss.elemento.HTMLElementStyleMethods;
2828
import org.jboss.elemento.HTMLElementVisibilityMethods;
2929
import org.jboss.elemento.TypedBuilder;
30+
import org.patternfly.core.OuiaSupport;
3031

3132
import elemental2.core.JsArray;
3233
import jsinterop.base.Js;
3334

3435
import static java.util.Objects.requireNonNull;
35-
import static org.patternfly.core.Ouia.ouia;
3636

3737
public abstract class BaseChart<E extends ChartElement, B extends TypedBuilder<E, B>> implements
3838
Chart,
39+
OuiaSupport<E, B>,
3940
ElementAttributeMethods<E, B>,
4041
ElementClassListMethods<E, B>,
4142
ElementConsumerMethods<E, B>,
@@ -56,7 +57,12 @@ public abstract class BaseChart<E extends ChartElement, B extends TypedBuilder<E
5657
protected BaseChart(ChartType chartType, E element) {
5758
this.chartType = requireNonNull(chartType, "chart type required");
5859
this.element = Js.uncheckedCast(requireNonNull(element, "element required"));
59-
ouia(element, chartType.id, chartType.chartName);
60+
initOuia(chartType.id);
61+
}
62+
63+
@Override
64+
public String ouiaComponentType() {
65+
return chartType.chartName;
6066
}
6167

6268
@Override

‎components/src/main/java/org/patternfly/component/BaseComponent.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333

3434
import static java.util.Objects.requireNonNull;
3535
import static org.patternfly.component.ComponentRegistry.componentRegistry;
36-
import static org.patternfly.core.Ouia.ouia;
3736

3837
public abstract class BaseComponent<E extends HTMLElement, B extends TypedBuilder<E, B>> implements
3938
Component,
@@ -56,7 +55,7 @@ public abstract class BaseComponent<E extends HTMLElement, B extends TypedBuilde
5655
protected BaseComponent(ComponentType componentType, E element) {
5756
this.componentType = requireNonNull(componentType, "component type required");
5857
this.element = requireNonNull(element, "element required");
59-
ouia(element, componentType.componentName);
58+
initOuia();
6059
}
6160

6261
@Override

‎components/src/main/java/org/patternfly/component/ComponentDelegate.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import elemental2.dom.HTMLElement;
3434

3535
import static java.util.Objects.requireNonNull;
36-
import static org.patternfly.core.Ouia.ouia;
3736

3837
public abstract class ComponentDelegate<E extends HTMLElement, B extends TypedBuilder<E, B>> implements
3938
Component,
@@ -60,7 +59,7 @@ protected ComponentDelegate(ComponentType componentType) {
6059

6160
protected void delegateTo(E delegate) {
6261
this.delegate = delegate;
63-
ouia(delegate, componentType.componentName);
62+
initOuia();
6463
}
6564

6665
@Override

‎components/src/main/java/org/patternfly/component/SubComponent.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434

3535
import static java.util.Objects.requireNonNull;
3636
import static org.patternfly.component.ComponentRegistry.componentRegistry;
37-
import static org.patternfly.core.Ouia.ouia;
3837

3938
public abstract class SubComponent<E extends HTMLElement, B extends TypedBuilder<E, B>> implements
4039
OuiaSupport<E, B>,
@@ -60,7 +59,7 @@ protected SubComponent(ComponentType componentType, String subComponentId, Strin
6059
this.subComponentId = requireNonNull(subComponentId, "sub-component ID required");
6160
this.subComponentName = requireNonNull(subComponentName, "sub-component name required");
6261
this.element = requireNonNull(element, "element required");
63-
ouia(element, componentType.componentName + "/" + subComponentName);
62+
initOuia();
6463
}
6564

6665
@Override

‎components/src/main/java/org/patternfly/component/button/Button.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
import static org.jboss.elemento.Elements.span;
5454
import static org.jboss.elemento.EventType.click;
5555
import static org.patternfly.component.spinner.Spinner.spinner;
56-
import static org.patternfly.core.Ouia.ouiaSafe;
5756
import static org.patternfly.style.Classes.block;
5857
import static org.patternfly.style.Classes.button;
5958
import static org.patternfly.style.Classes.component;
@@ -309,7 +308,7 @@ public Button progress(boolean inProgress, String label, Consumer<Spinner> spinn
309308
} else {
310309
element().classList.remove(modifier(Classes.inProgress));
311310
}
312-
ouiaSafe(element(), !inProgress);
311+
ouiaSafe(!inProgress);
313312
return this;
314313
}
315314

‎components/src/main/java/org/patternfly/component/drawer/Drawer.java‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import elemental2.dom.HTMLElement;
3030

3131
import static org.jboss.elemento.Elements.div;
32-
import static org.patternfly.core.Ouia.ouiaTransition;
3332
import static org.patternfly.style.Classes.component;
3433
import static org.patternfly.style.Classes.drawer;
3534
import static org.patternfly.style.Classes.expanded;
@@ -133,7 +132,7 @@ public Drawer onToggle(ToggleHandler<Drawer> toggleHandler) {
133132

134133
@Override
135134
public void collapse(boolean fireEvent) {
136-
ouiaTransition(element());
135+
ouiaTransition();
137136
element().classList.remove(modifier(expanded));
138137
if (panel != null) {
139138
panel.element().hidden = true;
@@ -145,7 +144,7 @@ public void collapse(boolean fireEvent) {
145144

146145
@Override
147146
public void expand(boolean fireEvent) {
148-
ouiaTransition(element());
147+
ouiaTransition();
149148
element().classList.add(modifier(expanded));
150149
if (panel != null) {
151150
panel.element().hidden = false;

‎components/src/main/java/org/patternfly/component/expandable/ExpandableSection.java‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import static org.jboss.elemento.Elements.div;
4444
import static org.patternfly.core.Aria.controls;
4545
import static org.patternfly.core.Aria.labelledBy;
46-
import static org.patternfly.core.Ouia.ouiaTransition;
4746
import static org.patternfly.style.Classes.component;
4847
import static org.patternfly.style.Classes.expandTop;
4948
import static org.patternfly.style.Classes.expandableSection;
@@ -221,7 +220,7 @@ public ExpandableSection onToggle(ToggleHandler<ExpandableSection> toggleHandler
221220

222221
@Override
223222
public void collapse(boolean fireEvent) {
224-
ouiaTransition(element());
223+
ouiaTransition();
225224
element().classList.remove(modifier(expanded));
226225
if (toggle != null) {
227226
toggle.collapse(directionUp);
@@ -239,7 +238,7 @@ public void collapse(boolean fireEvent) {
239238

240239
@Override
241240
public void expand(boolean fireEvent) {
242-
ouiaTransition(element());
241+
ouiaTransition();
243242
element().classList.add(modifier(expanded));
244243
if (toggle != null) {
245244
toggle.expand(directionUp);

‎components/src/main/java/org/patternfly/component/icon/Icon.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import static org.jboss.elemento.Elements.failSafeRemoveFromParent;
3434
import static org.jboss.elemento.Elements.span;
3535
import static org.patternfly.component.spinner.Spinner.spinner;
36-
import static org.patternfly.core.Ouia.ouiaSafe;
3736
import static org.patternfly.style.Classes.component;
3837
import static org.patternfly.style.Classes.icon;
3938
import static org.patternfly.style.Classes.modifier;
@@ -138,7 +137,7 @@ public Icon progress(boolean inProgress, String label, Consumer<Spinner> spinner
138137
} else {
139138
element().classList.remove(modifier(Classes.inProgress));
140139
}
141-
ouiaSafe(element(), !inProgress);
140+
ouiaSafe(!inProgress);
142141
return this;
143142
}
144143

‎components/src/main/java/org/patternfly/component/page/PageSidebar.java‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626

2727
import static org.jboss.elemento.Elements.aside;
2828
import static org.patternfly.core.Aria.hidden;
29-
import static org.patternfly.core.Ouia.ouiaTransition;
3029
import static org.patternfly.style.Classes.collapsed;
3130
import static org.patternfly.style.Classes.component;
3231
import static org.patternfly.style.Classes.expanded;
@@ -97,7 +96,7 @@ public PageSidebar onToggle(ToggleHandler<PageSidebar> toggleHandler) {
9796
@Override
9897
public void collapse(boolean fireEvent) {
9998
if (!keepExpanded) {
100-
ouiaTransition(element());
99+
ouiaTransition();
101100
element().classList.remove(modifier(expanded));
102101
element().classList.add(modifier(collapsed));
103102
aria(hidden, true);
@@ -109,7 +108,7 @@ public void collapse(boolean fireEvent) {
109108

110109
@Override
111110
public void expand(boolean fireEvent) {
112-
ouiaTransition(element());
111+
ouiaTransition();
113112
element().classList.remove(modifier(collapsed));
114113
element().classList.add(modifier(expanded));
115114
aria(hidden, false);

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL