Skip to content
This repository was archived by the owner on Aug 2, 2024. It is now read-only.

Commit 71589e2

Browse files
committed
PR edits and update skipped test so it runs
1 parent 3915ec8 commit 71589e2

File tree

4 files changed

+35
-22
lines changed

4 files changed

+35
-22
lines changed

addon/components/polaris-popover.js

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,11 @@ export default Component.extend({
3737
*
3838
* @property preferredPosition
3939
* @type {string}
40-
* @default null
40+
* @default 'below'
4141
*/
42-
preferredPosition: null,
42+
preferredPosition: computed(function() {
43+
return 'below';
44+
}),
4345

4446
/**
4547
* Show or hide the Popover
@@ -96,11 +98,7 @@ export default Component.extend({
9698
verticalPosition: computed('preferredPosition', function() {
9799
let preferredPosition = this.get('preferredPosition');
98100

99-
if (preferredPosition === 'above') {
100-
return preferredPosition;
101-
}
102-
103-
if (preferredPosition === 'below') {
101+
if (preferredPosition === 'above' || preferredPosition === 'below') {
104102
return preferredPosition;
105103
}
106104

@@ -119,30 +117,31 @@ export default Component.extend({
119117
}).readOnly(),
120118

121119
/**
122-
* Checks the dropdown trigger's location on
120+
* Checks the dropdown activator's location on
123121
* screen to determine which vertical direction
124122
* has more space to open the dropdown.
125123
*/
126-
mostVerticalSpace() {
124+
getMostVerticalSpace() {
127125
let component;
128126

129127
// Hack to get the component's container
130128
// element since this component uses `tagName: ''`
129+
// https://github.com/emberjs/rfcs/issues/168#issue-178381310
131130
if (ViewUtils && ViewUtils.getViewBounds) {
132131
component = ViewUtils.getViewBounds(this).parentElement;
133132
} else {
134133
component = this._renderNode.contextualElement;
135134
}
136135

137-
let triggers = component.querySelectorAll('.ember-basic-dropdown-trigger');
136+
let activators = component.querySelectorAll('.ember-basic-dropdown-trigger');
138137

139-
if (triggers.length > 1) {
140-
warn('Multiple popover triggers found. Defaulting to `preferredPosition` of `below`');
138+
if (activators.length > 1) {
139+
warn('Multiple popover activators found. Defaulting to `preferredPosition` of `below`');
141140
return 'below';
142141
}
143142

144-
let [trigger] = triggers;
145-
let { top, bottom } = trigger.getBoundingClientRect();
143+
let [activator] = activators;
144+
let { top, bottom } = activator.getBoundingClientRect();
146145
let windowHeight = window.innerHeight;
147146
let bottomSpace = windowHeight - bottom;
148147

@@ -158,7 +157,7 @@ export default Component.extend({
158157
let preferredPosition = this.get('preferredPosition');
159158

160159
if (preferredPosition === 'mostSpace') {
161-
this.set('verticalPosition', this.mostVerticalSpace());
160+
this.set('verticalPosition', this.getMostVerticalSpace());
162161
}
163162
}
164163
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import Controller from '@ember/controller';
2+
3+
export default Controller.extend();

tests/integration/components/polaris-date-picker-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ test('it does not fire actions when disabled days are clicked', function(assert)
339339
year: YEAR,
340340
selected: null,
341341
disableDatesAfter: DISABLE_AFTER,
342-
onChange: (selected) => {
342+
onChange: () => {
343343
this.set('onChangeActionFired', true);
344344
}
345345
});

tests/integration/components/polaris-popover-test.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,17 @@ test('it renders the correct HTML with sectioned attribute', function(assert) {
104104
assert.equal(popoverSections[0].textContent.trim(), 'This is some sectioned popover content', 'popover section contains the correct content');
105105
});
106106

107-
skip('it renders the correct HTML with `prefferedPosition` attribute', function(assert) {
108-
this.set('prefferedPosition', 'above');
107+
test('it renders the correct HTML with preferredPosition attribute', function(assert) {
108+
assert.expect(2);
109+
110+
this.set('preferredPosition', 'above');
109111

110112
this.render(hbs`
111-
{{#polaris-popover prefferedPosition=prefferedPosition as |popover|}}
113+
{{#polaris-popover
114+
preferredPosition=preferredPosition
115+
sectioned=true
116+
as |popover|
117+
}}
112118
{{#popover.activator}}
113119
{{polaris-button text="Toggle popover"}}
114120
{{/popover.activator}}
@@ -121,11 +127,16 @@ skip('it renders the correct HTML with `prefferedPosition` attribute', function(
121127

122128
click(activatorSelector);
123129

124-
const contentAbove = find(popoverContentAboveSelector);
130+
const contentAbove = document.querySelector(popoverContentAboveSelector);
125131
assert.ok(contentAbove, 'renders popover content above the trigger');
126132

127-
this.set('prefferedPosition', 'below');
133+
// close the popover before resetting position
134+
click(activatorSelector);
135+
136+
this.set('preferredPosition', 'below');
137+
138+
click(activatorSelector);
128139

129-
const contentBelow = find(popoverContentBelowSelector);
140+
const contentBelow = document.querySelector(popoverContentBelowSelector);
130141
assert.ok(contentBelow, 'renders popover content below the trigger');
131142
});

0 commit comments

Comments
 (0)