Skip to content
This repository was archived by the owner on Sep 20, 2021. It is now read-only.

Commit 19182f8

Browse files
committed
Renamed variables for easier reading
1 parent 00880f2 commit 19182f8

File tree

2 files changed

+80
-80
lines changed

2 files changed

+80
-80
lines changed

src/popover.test.tsx

Lines changed: 68 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -57,56 +57,56 @@ describe("Popover", () => {
5757
describe("Open/Close scenarios", () => {
5858
let targetHoverState: boolean = false;
5959
let targetInfos: Array<{
60-
targetType: TargetType;
60+
type: TargetType;
6161
component: any;
62-
activateTarget: (component: any) => void;
62+
activate: (component: any) => void;
6363
}> = [
6464
{
6565
component: TargetClick,
66-
targetType: "click",
67-
activateTarget: target => {
66+
type: "click",
67+
activate: target => {
6868
target.props().onClick({} as any);
6969
}
7070
},
7171
{
7272
component: TargetHover,
73-
targetType: "hover",
74-
activateTarget: target => {
73+
type: "hover",
74+
activate: target => {
7575
targetHoverState = !targetHoverState;
7676
target.props().onHoverChange(targetHoverState);
7777
}
7878
}
7979
];
8080
let popperInfos: Array<{
81-
popperType: PopperType;
81+
type: PopperType;
8282
component: any;
83-
activateTarget: (component: any) => void;
83+
activate: (component: any) => void;
8484
}> = [
8585
{
8686
component: PopperHover,
87-
popperType: "hover",
88-
activateTarget: target => {
87+
type: "hover",
88+
activate: target => {
8989
target.props().onHoverChange(false);
9090
}
9191
},
9292
{
9393
component: PopperHover,
94-
popperType: "none",
95-
activateTarget: target => {
94+
type: "none",
95+
activate: target => {
9696
target.props().onHoverChange(false);
9797
}
9898
},
9999
{
100100
component: PopperClick,
101-
popperType: "click",
102-
activateTarget: target => {
101+
type: "click",
102+
activate: target => {
103103
target.props().onDismiss();
104104
}
105105
},
106106
{
107107
component: PopperBlur,
108-
popperType: "blur",
109-
activateTarget: target => {
108+
type: "blur",
109+
activate: target => {
110110
target.props().onDismiss({} as any);
111111
}
112112
}
@@ -115,15 +115,15 @@ describe("Popover", () => {
115115
describe("Target events", () => {
116116
for (let targetType of targetInfos) {
117117
for (let popperType of popperInfos) {
118-
describe(`TargetType: ${targetType.targetType}, PopperType: ${
119-
popperType.popperType
118+
describe(`TargetType: ${targetType.type}, PopperType: ${
119+
popperType.type
120120
}`, () => {
121121
beforeEach(() => {
122122
targetHoverState = false;
123123
defaultProps = {
124124
...defaultProps,
125-
popperType: popperType.popperType,
126-
targetType: targetType.targetType
125+
popperType: popperType.type,
126+
targetType: targetType.type
127127
};
128128
});
129129

@@ -138,26 +138,25 @@ describe("Popover", () => {
138138
it("Renders open/closed when clicked", () => {
139139
let wrapper = shallow(<Popover {...defaultProps} />);
140140

141-
// Click the target and open it
142-
let targetClick = wrapper.find(targetType.component);
143-
targetType.activateTarget(targetClick);
141+
// Activate the target and open it
142+
let target = wrapper.find(targetType.component);
143+
targetType.activate(target);
144144

145145
// Verify the popper is open
146146
let popper = wrapper.find(popperType.component);
147147
expect(popper).toHaveLength(1);
148148
expect(popper.hasClass("visible")).toBe(true);
149149

150-
// Now click the target again to close it
151-
targetClick = wrapper.find(targetType.component);
152-
targetType.activateTarget(targetClick);
150+
// Now activate the target again to close it
151+
target = wrapper.find(targetType.component);
152+
targetType.activate(target);
153153

154154
// Verify the popper is in expected state
155155
popper = wrapper.find(popperType.component);
156156
expect(popper).toHaveLength(1);
157157
if (
158-
targetType.targetType === "hover" &&
159-
(popperType.popperType === "click" ||
160-
popperType.popperType === "blur")
158+
targetType.type === "hover" &&
159+
(popperType.type === "click" || popperType.type === "blur")
161160
) {
162161
// For these types, the popper should open by the target but only the popper can close it, not the target
163162
expect(popper.hasClass("visible")).toBe(true);
@@ -174,15 +173,15 @@ describe("Popover", () => {
174173
describe("Popper events", () => {
175174
for (let targetType of targetInfos) {
176175
for (let popperType of popperInfos) {
177-
describe(`TargetType: ${targetType.targetType}, PopperType: ${
178-
popperType.popperType
176+
describe(`TargetType: ${targetType.type}, PopperType: ${
177+
popperType.type
179178
}`, () => {
180179
beforeEach(() => {
181180
targetHoverState = false;
182181
defaultProps = {
183182
...defaultProps,
184-
popperType: popperType.popperType,
185-
targetType: targetType.targetType
183+
popperType: popperType.type,
184+
targetType: targetType.type
186185
};
187186
});
188187

@@ -197,23 +196,24 @@ describe("Popover", () => {
197196
it("Closes when requested", () => {
198197
let wrapper = shallow(<Popover {...defaultProps} />);
199198

200-
// Click the target and open it
201-
let targetClick = wrapper.find(targetType.component);
202-
targetType.activateTarget(targetClick);
199+
// Actiate the target and open it
200+
let target = wrapper.find(targetType.component);
201+
targetType.activate(target);
203202

204203
// Verify the popper is open
205204
let popper = wrapper.find(popperType.component);
206205
expect(popper).toHaveLength(1);
207206
expect(popper.hasClass("visible")).toBe(true);
208207

209-
// Now activate the close scenario to close the popper
208+
// Now activate the popper to close it
210209
popper = wrapper.find(popperType.component);
211-
popperType.activateTarget(popper);
210+
popperType.activate(popper);
212211

213-
// Verify the popper is closed
212+
// Verify the popper is in expected state
214213
popper = wrapper.find(popperType.component);
215214
expect(popper).toHaveLength(1);
216-
if (popperType.popperType === "none") {
215+
if (popperType.type === "none") {
216+
// In the none case, the popper's callback should have no affect
217217
expect(popper.hasClass("visible")).toBe(true);
218218
} else {
219219
expect(popper.hasClass("visible")).toBe(false);
@@ -239,41 +239,41 @@ describe("Popover", () => {
239239
it("Opens by method", () => {
240240
let wrapper = shallow(<Popover {...defaultProps} />);
241241

242-
let popperHover = wrapper.find(PopperHover);
243-
expect(popperHover).toHaveLength(1);
244-
expect(popperHover.hasClass("visible")).toBe(false);
242+
let popper = wrapper.find(PopperHover);
243+
expect(popper).toHaveLength(1);
244+
expect(popper.hasClass("visible")).toBe(false);
245245
expect(spy).not.toHaveBeenCalled();
246246

247247
(wrapper.instance() as Popover).open();
248248

249-
popperHover = wrapper.find(PopperHover);
250-
expect(popperHover).toHaveLength(1);
251-
expect(popperHover.hasClass("visible")).toBe(true);
249+
popper = wrapper.find(PopperHover);
250+
expect(popper).toHaveLength(1);
251+
expect(popper.hasClass("visible")).toBe(true);
252252
expect(spy).toHaveBeenCalledTimes(1);
253253
expect(spy).toHaveBeenLastCalledWith(true);
254254
});
255255

256256
it("Opens by hover, closes on request", () => {
257257
let wrapper = shallow(<Popover {...defaultProps} />);
258258

259-
let popperHover = wrapper.find(PopperHover);
260-
expect(popperHover).toHaveLength(1);
261-
expect(popperHover.hasClass("visible")).toBe(false);
259+
let popper = wrapper.find(PopperHover);
260+
expect(popper).toHaveLength(1);
261+
expect(popper.hasClass("visible")).toBe(false);
262262

263-
popperHover.props().onHoverChange(true);
263+
popper.props().onHoverChange(true);
264264

265-
popperHover = wrapper.find(PopperHover);
266-
expect(popperHover).toHaveLength(1);
267-
expect(popperHover.hasClass("visible")).toBe(true);
265+
popper = wrapper.find(PopperHover);
266+
expect(popper).toHaveLength(1);
267+
expect(popper.hasClass("visible")).toBe(true);
268268
expect(spy).toHaveBeenCalledTimes(1);
269269
expect(spy).toHaveBeenLastCalledWith(true);
270270

271271
spy.mockReset();
272272
(wrapper.instance() as Popover).close();
273273

274-
popperHover = wrapper.find(PopperHover);
275-
expect(popperHover).toHaveLength(1);
276-
expect(popperHover.hasClass("visible")).toBe(false);
274+
popper = wrapper.find(PopperHover);
275+
expect(popper).toHaveLength(1);
276+
expect(popper.hasClass("visible")).toBe(false);
277277
expect(spy).toHaveBeenCalledTimes(1);
278278
expect(spy).toHaveBeenLastCalledWith(false);
279279
});
@@ -295,37 +295,37 @@ describe("Popover", () => {
295295
lifecycleExperimental: true
296296
});
297297

298-
let popperHover = wrapper.find(PopperHover);
299-
expect(popperHover).toHaveLength(1);
300-
expect(popperHover.hasClass("visible")).toBe(false);
298+
let popper = wrapper.find(PopperHover);
299+
expect(popper).toHaveLength(1);
300+
expect(popper.hasClass("visible")).toBe(false);
301301
expect(spy).not.toHaveBeenCalled();
302302

303303
wrapper.setProps({
304304
isOpen: true
305305
});
306306

307-
popperHover = wrapper.find(PopperHover);
308-
expect(popperHover).toHaveLength(1);
309-
expect(popperHover.hasClass("visible")).toBe(true);
307+
popper = wrapper.find(PopperHover);
308+
expect(popper).toHaveLength(1);
309+
expect(popper.hasClass("visible")).toBe(true);
310310
expect(spy).not.toHaveBeenCalled();
311311
});
312312

313313
it("Closes by prop", () => {
314314
let wrapper = shallow(<Popover {...defaultProps} isOpen={true} />);
315315

316-
let popperHover = wrapper.find(PopperHover);
317-
expect(popperHover).toHaveLength(1);
318-
expect(popperHover.hasClass("visible")).toBe(true);
316+
let popper = wrapper.find(PopperHover);
317+
expect(popper).toHaveLength(1);
318+
expect(popper.hasClass("visible")).toBe(true);
319319
expect(spy).not.toHaveBeenCalled();
320320

321321
wrapper.setProps({
322322
isOpen: false
323323
});
324324
wrapper.update();
325325

326-
popperHover = wrapper.find(PopperHover);
327-
expect(popperHover).toHaveLength(1);
328-
expect(popperHover.hasClass("visible")).toBe(false);
326+
popper = wrapper.find(PopperHover);
327+
expect(popper).toHaveLength(1);
328+
expect(popper.hasClass("visible")).toBe(false);
329329
expect(spy).not.toHaveBeenCalled();
330330
});
331331
});

src/popover.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ export class Popover extends React.Component<PopoverProps, PopoverState> {
116116
return (
117117
<TargetClick
118118
className={targetClassName}
119-
onClick={this.onReverseState}
119+
onClick={this.onTargetClickChange}
120120
ref={ref => {
121121
this.targetClickRef = ref;
122122
}}
@@ -146,6 +146,14 @@ export class Popover extends React.Component<PopoverProps, PopoverState> {
146146
}
147147
};
148148

149+
private onTargetClickChange = () => {
150+
if (this.props.isOpen == null) {
151+
this.onChangeOpen(!this.state.isOpen);
152+
} else {
153+
this.onChangeOpen(!this.props.isOpen);
154+
}
155+
};
156+
149157
private renderPopper() {
150158
const { popperContent, popperOptions, popperType } = this.props;
151159

@@ -175,7 +183,7 @@ export class Popover extends React.Component<PopoverProps, PopoverState> {
175183
className={className}
176184
setScheduleUpdate={this.setScheduleUpdate}
177185
{...popperOptions}
178-
onDismiss={this.onClose}
186+
onDismiss={this.onPopperClickDismiss}
179187
>
180188
{popperContent}
181189
</PopperClick>
@@ -231,21 +239,13 @@ export class Popover extends React.Component<PopoverProps, PopoverState> {
231239
}
232240
}
233241

234-
this.onClose();
242+
this.onPopperClickDismiss();
235243
};
236244

237-
private onClose = () => {
245+
private onPopperClickDismiss = () => {
238246
this.onChangeOpen(false);
239247
};
240248

241-
private onReverseState = () => {
242-
if (this.props.isOpen == null) {
243-
this.onChangeOpen(!this.state.isOpen);
244-
} else {
245-
this.onChangeOpen(!this.props.isOpen);
246-
}
247-
};
248-
249249
private onChangeOpen = (newIsOpen: boolean) => {
250250
const { isOpen, onOpenChange } = this.props;
251251
if (isOpen != null && onOpenChange != null) {

0 commit comments

Comments
 (0)