@progress/kendo-angular-layout
Version:
Kendo UI for Angular Layout Package - a collection of components to create professional application layoyts
35 lines (34 loc) • 1.55 kB
JavaScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { Keys } from "@progress/kendo-angular-common";
/**
* @hidden
*/
export const shouldTogglePrev = (keyCode, prev, next) => {
const leftArrow = keyCode === Keys.ArrowLeft;
const upArrow = keyCode === Keys.ArrowUp;
const collapsePrev = !prev.collapsed && !next.collapsed && (leftArrow || upArrow);
const expandPrev = prev.collapsed && !(leftArrow || upArrow);
return collapsePrev || expandPrev;
};
/**
* @hidden
*/
export const shouldToggleNext = (keyCode, prev, next) => {
const leftArrow = keyCode === Keys.ArrowLeft;
const upArrow = keyCode === Keys.ArrowUp;
const collapseNext = !next.collapsed && !prev.collapsed && !(leftArrow || upArrow);
const expandNext = next.collapsed && (leftArrow || upArrow);
return collapseNext || expandNext;
};
/**
* @hidden
*/
export const shouldToggleOrResize = (keyCode, orientation) => {
const isHorizontal = orientation === 'horizontal';
const isHorizontalChange = isHorizontal && (keyCode === Keys.ArrowLeft || keyCode === Keys.ArrowRight);
const isVerticalChange = !isHorizontal && (keyCode === Keys.ArrowUp || keyCode === Keys.ArrowDown);
return isHorizontalChange || isVerticalChange;
};