We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Please add BestRight{Up/Down}DropDirections
/** Constant <code>BEST_RIGHT_UP_DOWN</code> */ DropDirection BEST_RIGHT_UP_DOWN = new BestRightUpDownDropDirection(); /** Constant <code>BEST_RIGHT_DOWN_UP</code> */ DropDirection BEST_RIGHT_DOWN_UP = new BestRightDownUpDropDirection();
BestRightDownUpDropDirection.java.txt BestRightUpDownDropDirection.java.txt
DownUp:
/* * Copyright © 2019 Dominokit * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.dominokit.domino.ui.menu.direction; import static elemental2.dom.DomGlobal.window; import static org.dominokit.domino.ui.style.SpacingCss.dui_flex_col_reverse; import static org.dominokit.domino.ui.utils.Domino.*; import elemental2.dom.DOMRect; import elemental2.dom.Element; /** BestMiddleDownUpDropDirection class. */ public class BestRightDownUpDropDirection implements DropDirection { /** {@inheritDoc} */ @Override public void position(Element source, Element target) { dui_flex_col_reverse.remove(source); cleanup(source); DOMRect targetRect = target.getBoundingClientRect(); DOMRect sourceRect = source.getBoundingClientRect(); int innerHeight = window.innerHeight; double sourceHeight = sourceRect.height; double downSpace = innerHeight - targetRect.bottom; DropDirection currentPosition; if (hasSpaceBelow(sourceHeight, downSpace)) { currentPosition = DropDirection.BOTTOM_RIGHT; } else { currentPosition = DropDirection.TOP_RIGHT; } currentPosition.position(source, target); } /** {@inheritDoc} */ @Override public void cleanup(Element source) { DropDirection.BOTTOM_RIGHT.cleanup(source); DropDirection.TOP_RIGHT.cleanup(source); } private boolean hasSpaceBelow(double sourceHeight, double downSpace) { return downSpace > sourceHeight; } private boolean hasSpaceOnRightSide(double sourceWidth, double rightSpace) { return rightSpace > sourceWidth; } }
UpDown:
/* * Copyright © 2019 Dominokit * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.dominokit.domino.ui.menu.direction; import static elemental2.dom.DomGlobal.window; import static org.dominokit.domino.ui.style.SpacingCss.dui_flex_col_reverse; import static org.dominokit.domino.ui.utils.Domino.*; import elemental2.dom.DOMRect; import elemental2.dom.Element; /** BestMiddleUpDownDropDirection class. */ public class BestRightUpDownDropDirection implements DropDirection { /** {@inheritDoc} */ @Override public void position(Element source, Element target) { dui_flex_col_reverse.remove(source); cleanup(source); DOMRect targetRect = target.getBoundingClientRect(); DOMRect sourceRect = source.getBoundingClientRect(); int innerHeight = window.innerHeight; double sourceHeight = sourceRect.height; double downSpace = innerHeight - targetRect.bottom; double spaceUp = downSpace - targetRect.height; DropDirection currentPosition; if (hasSpaceUp(sourceHeight, spaceUp)) { currentPosition = DropDirection.TOP_RIGHT; } else { currentPosition = DropDirection.BOTTOM_RIGHT; } currentPosition.position(source, target); } /** {@inheritDoc} */ @Override public void cleanup(Element source) { DropDirection.BOTTOM_RIGHT.cleanup(source); DropDirection.TOP_RIGHT.cleanup(source); } private boolean hasSpaceUp(double sourceHeight, double spaceUp) { return spaceUp > sourceHeight; } private boolean hasSpaceOnRightSide(double sourceWidth, double rightSpace) { return rightSpace > sourceWidth; } }
The text was updated successfully, but these errors were encountered:
I believe what we need here is not a new position but fixes to existing ones, I have applied some hope this will solve the issues.
Sorry, something went wrong.
fix #897 add BestRight{Up/Down}DropDirection
515ab3c
f6a22d9
vegegoku
No branches or pull requests
Please add BestRight{Up/Down}DropDirections
BestRightDownUpDropDirection.java.txt
BestRightUpDownDropDirection.java.txt
DownUp:
UpDown:
The text was updated successfully, but these errors were encountered: