Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Dropdown] module.is.onScreen returns wrong result when context is changed #5366

Closed
cubicle opened this issue May 12, 2017 · 4 comments
Closed
Milestone

Comments

@cubicle
Copy link

cubicle commented May 12, 2017

Have a look at this fiddle. The menu opens above the dropdown and not below as expected.

The reason is that module.is.onScreen uses $currentMenu.offset() for it's calculations. Unfortunately the returned coordinates are relative to the document and not relative to the supplied context.

I think you need to calculate the offset relative to the supplied context, like this:

            calculations = {
              context: {
                scrollTop : $context.scrollTop(),
                offset    : $context.offset(),
                height    : $context.outerHeight()
              },
              menu : {
                offset: $currentMenu.offset(),
                height: $currentMenu.outerHeight()
              }
            };
            onScreen = {
              above : (calculations.context.scrollTop) <= calculations.menu.offset.top - calculations.context.offset.top - calculations.menu.height,
              below : (calculations.context.scrollTop + calculations.context.height) >= calculations.menu.offset.top - calculations.context.offset.top + calculations.menu.height
            };
@awgv awgv added the Duplicate label May 12, 2017
@awgv
Copy link
Member

awgv commented May 12, 2017

Hi @cubicle, thank you, but it seems to be a duplicate of #1340.

@awgv awgv closed this as completed May 12, 2017
@cubicle
Copy link
Author

cubicle commented May 16, 2017

Hi @Banandrew, im not sure about this. #1340 is marked as enhancement request and it's scope is not really clear to me. I'm not having a problem with the context's overflow property. Here is a fiddle without it. I would expect the menu to be opened below the dropdown.

The problem is the calculations doesn't respect the context's position at all.

@awgv awgv added this to the Needs Milestone milestone May 16, 2017
@awgv
Copy link
Member

awgv commented May 16, 2017

@cubicle I apologize, you’re right.

@jlukic
Copy link
Member

jlukic commented Jan 29, 2018

The openLeftward function had the same issue with not correctly calculating context offset.

Example here
http://jsfiddle.net/ogrdhaf0/

I've added your fix @dannyBies and also fixed the leftward function

@jlukic jlukic closed this as completed Jan 29, 2018
dalhyncarrillo added a commit to dalhyncarrillo/Semantic-UI that referenced this issue Mar 10, 2018
* Support modification of 'closable' setting while modal is open

* [Dropdown] Allow ignoring of case when getting an item

Currently get.item compares labels and values case sensitively. This can cause duplicates when `allowAdditions` is `true`. To prevent these duplicates get.item should be capable of comparing labels and values while ignoring case.

However the current behaviour should be preserved by default.

To achieve this a new setting is added called `ignoresCase`, which when `true` will disregard the casing of labels and string values when performing the comparision.

* Fixed an issue where all child inputs of a icon input would recieve a right padding, not just the main input. This caused issues where a popup was attached to the icon input which caused all of the inputs inside of it to have an uneeded padding.

* Update form.js

Semantic-Org#4422

* Take content settings before attr title

* Fix inverted dimmer text color

The definition referenced the wrong variable.

* Added `box-shadow` to the checkbox component’s `.toggle` variation

* The width of inputs that are inside of a dropdown’s `.menu` should never be overridden

* default 'prompt' message has mistakes in writing

 line 1266 - 1269 : correct 'must' to 'cannot', etc..

* Revert the changes and increase the selector’s specificity.

* Fix horizontal scrollbar height, closes Semantic-Org#5728

* [Buttons] fix for active basic button text color always having a lower specificity due to !important

* Add link to webpage at top of README

I was looking for the link for way too long...

* Fix issue with bottomPassed and topPassed

* Added onChanging callback to accordion

Because it's useful

* Swap huge and big in menu.variables Semantic-Org#5899

* Swap bigWidth with hugeWidth in sizes Semantic-Org#5899

* [Flag] Add England Flag and Alias

* Fix issue where dropdowns might animate outward two times on blur

* Rlsnotes

* Fix error which could cause popup to use wrong offset context when specifying popup manually

* Rlsnotes popup

* Fix for Semantic-Org#5713

[Form Validation] regression: get values with radio returns true or false Semantic-Org#5713

* Use @background value for arrow background color

* Changed gulp-clone version (Fixes Semantic-Org#6067)

New update to gulp-clone breaks CSS build task

* Added .idea for PhpStorm and WebStorm

* Made a complete port of FA5 with all new icons
Added sui aliases for current icons
Added new aliases for old icons which no longer exist to help with compatibility

* Updated YouTube colour

Updated the YouTube colour to the new red.

https://www.youtube.com/intl/en-GB/yt/about/brand-resources/

* Fix Semantic-Org#5366, Semantic-Org#5975, taken from @dannyBies

* Semantic-Org#5366, Semantic-Org#5975 - Fixes open rightward/leftward incorrectly adjusting to scroll context

* Update gulp-clone dep with issue Semantic-Org#6067 Semantic-Org#6089

* Update rlsnotes

* Semantic-Org#5366, Semantic-Org#5975 - Fixes issue with offset not available on window

* Update rlsnotes

* Semantic-Org#6043 Semantic-Org#5713 code formatting

* Rlsnotes Semantic-Org#6043, Semantic-Org#5713, 6067

* Adds coupling for ribbon label with reveal Semantic-Org#5681

* Release notes Semantic-Org#5681

* Fix issue with scrolling modal and allowMultiple Semantic-Org#2423

* Rlsnotes Semantic-Org#5097

* Rlsnotes Semantic-Org#5530

* Rlsnotes

* Add coupling for lists inside menus, fix box shadow showing as border Semantic-Org#5603

* Add additional weight to link list states Semantic-Org#5603

* Rlsnotes Semantic-Org#5603

* Revert "[Dropdown] Allow ignoring of case when getting an item"

* Semantic-Org#3432 implement matching user addition case

* Semantic-Org#3432 Simplifies setting name (derp), adds default to false

* Add issue links

* Update dist to 2.2.14

* Regen package-lock

* Update rlsnotes for 2.2.14

* Typos in release notes

* Fix element structure

Change end tag from </div> to </h4> to correctly match opening tag

* Remove href attribute from div element

* Remove closing </div> element for which no opening elements exists

* Updated to 2.2.14 file which fixes the gulp-clone bug

* Fixed all broken icons, changed some names and updated to 5.0.6
Added `elementor` icon
Added `youtube-square` icon
Added `window-minimize` icon
Added `chess` icon
Added `chess bishop` icon
Added `chess board` icon
Added `chess king` icon
Added `chess knight` icon
Added `chess pawn` icon
Added `chess queen` icon
Added `chess rock` icon
Added `square full` icon
Added `baseball ball` icon
Added `basketball ball` icon
Added `bowling ball` icon
Added `football ball` icon
Added `futbol` icon
Added `futbol outline` icon
Added `golf ball` icon
Added `hocky puck` icon
Added `quidditch` icon
Added `table tennis` icon
Added `volleyball ball` icon
Fixed `cloud download alternate` icon
Fixed `cloud upload alternate` icon
Fixed `external link square alternate` icon
Fixed `pencil alternate` icon
Fixed `window close` icon
Fixed `window restore outline` icon
Fixed `images` icon
Fixed `500px` icon
Fixed `accessible icon` icon
Fixed `accusoft` icon
Fixed `app store ios` icon
Fixed `apper` icon
Fixed `asymmetrik` icon
Fixed `audible` icon
Fixed `avianex` icon
Fixed `aws` icon
Fixed `bimobject` icon
Fixed `bitcoin` icon
Fixed `centercode` icon
Fixed `cloudscale` icon
Fixed `cloudsmith` icon
Fixed `cloudversify` icon
Fixed `cpanel` icon
Fixed `digital ocean` icon
Fixed `discord` icon
Fixed `discourse` icon
Fixed `dochub` icon
Fixed `docker` icon
Fixed `draft2digital` icon
Fixed `dribbble square` icon
Fixed `dyalog` icon
Fixed `fly` icon
Fixed `uber` icon
Fixed `uikit` icon
Fixed `uniregistry` icon
Fixed `untappd` icon
Fixed `ussunnah` icon
Fixed `vaadin` icon
Fixed `viber` icon
Fixed `wordpress simple` icon
Fixed `xbox` icon
Fixed `yandex international` icon
Fixed `yandex` icon
Renamed `list ol` to `ordered list`
Renamed `list ul` to `unordered list`
Renamed `user md` to `user doctor`
Renamed `cc amex` to `credit card american express`
Renamed `cc *` to `credit card *`
Renamed `red river` to `redriver`

* Add missing comma: makes 9 global vars local

* Update README.md

* Fix bug with autofocus modifying focus of modal fields

* Correctly calculate offset when popup is in a different positioning context

* Add arrow centering on small popups

* Add centered dimmers and modals

* Fixes alignment of dimmer

* Updates to ui search to allow local category search, and responsive name width

* Semantic-Org#6085 dedupe icons from FA5 port

* Rlsnotes on icons

* Username typo

* Rlsnotes Semantic-Org#6127

* Rlsnotes Semantic-Org#6059

* Add font weight global variables

* Thanks Semantic-Org#6167

* Thanks Semantic-Org#5902

* Implements Semantic-Org#4458

* Thanks Semantic-Org#4614

* Thanks Semantic-Org#4614

* Revert "'on: change' causes error prompts to appear when blurring field "

* Semantic-Org#4423 in next

* Semantic-Org#4423 Thx

* Thanks Semantic-Org#4631

* Semantic-Org#3396 modal close

* Fix transitions on ui images > .image

* Adds glow transition

* Input selectors now require child selector to avoid inheritance issues Semantic-Org#4157

* rlsnotes

* Fix eventNamespace in Semantic-Org#3396

* Fix modal flex issue in IE11

* Add zoom transition

* Add mobile styles for search

* Add PR links to rlsnotes

* Rlsnotes Semantic-Org#6167

* Semantic-Org#5892 - Add onChanging callback

* Tighten scrolling margin

* Build 2.3.0

* Update README.md

Remove forum from readme

* Update README.md

* Update README.md

Remove project talk

* Update README.md

* Update README.md

* Update README.md

* Update RELEASE-NOTES.md

* Create stale.yml

* chore(stale.yml): update exempt labels

* Add issue templates

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants