## Description 1. Add LayoutComponent functionality. 2. Create Basic LayoutComponents. 3. Create LayoutPresets needed for Container-like widgets. 4. Add highlight calculation logic for all basic Layout Components. 5. Create dragging sagas for Anvil. 6. Create DraggingArena associated functionality to handle DnD in Anvil. #### PR fixes following issue(s) Fixes #27004 #### Type of change > Please delete options that are not relevant. - New feature (non-breaking change which adds functionality) ## Testing #### How Has This Been Tested? - [ ] Manual - [ ] JUnit - [x] Jest - [ ] Cypress ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [x] PR is being merged under a feature flag #### QA activity: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed --------- Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com> Co-authored-by: Aswath K <aswath.sana@gmail.com> Co-authored-by: rahulramesha <rahul@appsmith.com> Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com>
42 lines
908 B
TypeScript
42 lines
908 B
TypeScript
import type { AnvilHighlightInfo } from "layoutSystems/anvil/utils/anvilTypes";
|
|
import { FlexLayerAlignment } from "layoutSystems/common/utils/constants";
|
|
import type { HighlightInfo } from "layoutSystems/common/utils/types";
|
|
|
|
export function mockHighlightInfo(
|
|
data: Partial<HighlightInfo> = {},
|
|
): HighlightInfo {
|
|
return {
|
|
alignment: FlexLayerAlignment.Start,
|
|
canvasId: "",
|
|
dropZone: {},
|
|
height: 40,
|
|
isNewLayer: false,
|
|
index: 0,
|
|
isVertical: true,
|
|
layerIndex: 0,
|
|
rowIndex: 0,
|
|
posX: 0,
|
|
posY: 0,
|
|
width: 4,
|
|
...data,
|
|
};
|
|
}
|
|
|
|
export function mockAnvilHighlightInfo(
|
|
data: Partial<AnvilHighlightInfo> = {},
|
|
): AnvilHighlightInfo {
|
|
return {
|
|
alignment: FlexLayerAlignment.Start,
|
|
canvasId: "",
|
|
dropZone: {},
|
|
height: 40,
|
|
isVertical: true,
|
|
layoutOrder: [],
|
|
rowIndex: 0,
|
|
posX: 0,
|
|
posY: 0,
|
|
width: 4,
|
|
...data,
|
|
};
|
|
}
|