LimberGridView, a powerful JavaScript Library using Computational Geometry to render movable, resizable, and auto-arranging grids. Written in vanilla JavaScript, it can be plugged into most frameworks, plus it has a plugin for React applications. It gives users the most optimal arrangements using its highly efficient and fine-tuned algorithm.
npm install @sharma-subendra-kr/limber-grid-view
// Import CSS as per your directory structure
import "../node_modules/@sharma-subendra-kr/limber-grid-view/dist/index.css";
import LimberGridView from "@sharma-subendra-kr/limber-grid-view";
/*
el is an element with fixed height and width where LimberGridView is rendered
positionData is an array with position data in format
[{x1: number, x2: number, y1: number, y2: number}, ....]
OR
[{x: number, y: number, width: number, height: number}, ....]
OR
[{}, {}, {}, ....] // here squares are rendered
Please read the wiki for details about all the callbacks
*/
const limberGridView = new LimberGridView({
el: el.current,
itemMouseDownMoveCheck: itemMouseDownMoveCheck,
callbacks: {
renderContent: renderContent,
renderComplete: renderComplete,
resizeComplete: resizeComplete,
moveComplete: moveComplete,
addComplete: addComplete,
removeComplete: removeComplete,
cutSpaceComplete: cutSpaceComplete,
renderPlugin: renderPlugin,
removePlugin: removePlugin,
getArrangeTime: getArrangeTime,
getLogMessage: getLogMessage,
},
publicConstants: {
showBottomLeftResizeGuide: true,
autoScrollForMouse: true,
deskInteractionMode: "CUTSPACE",
latchMovedItem: true,
},
positionData: positionData,
});
LimberGridView, a powerful JavaScript Library using Computational Geometry to render movable, dynamically resizable, and auto-arranging grids. Written in vanilla JavaScript, it can be plugged into most frameworks, plus it has a plugin for React applications. It gives users the most optimal arrangements using its highly efficient and fine-tuned algorithm.
Although many issues were identified and resolved in this current release, you might sometimes encounter unusual behavior.
To see how LimberGridView works, head over to this link.
If you encounter any problems, you can contact me by emailing me to the email address mentioned on any file on the license header.
Due to problems that may arise while licensing the commercial license, contributions are not welcome.
Copyright © 2018-2022, Subendra Kumar Sharma. All rights reserved.
This file is part of LimberGridView.
LimberGridView is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
LimberGridView is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with LimberGridView. If not, see https://www.gnu.org/licenses/.
Written by Subendra Kumar Sharma.