## Description This change is a refactor of widget selection logic. It consolidates all the business logic to make it easy to maintain. It also improves the performance a bit. It touched a lot of features as we heavily rely on this ``` Select one Select multiple with drag Select multiple with shift Select multiple with cmd/ctrl Selections should be on the same level of hierarchy Unselect all by clicking on the canvas Unselect all by pressing esc Select all with cmd + a Paste in main container Paste in another container Undo Redo Modal Selection Modal child selection Context switching cmd click snipping mode new widget suggestion onboarding ``` > Refactor widget selection logic Fixes #19570 ## Type of change - Refactor ## How Has This Been Tested? All existing tests should pass ### Test Plan > Add Testsmith test cases links that relate to this PR ### Issues raised during DP testing https://github.com/appsmithorg/appsmith/pull/19643#issuecomment-1383570810 https://github.com/appsmithorg/appsmith/pull/19643#issuecomment-1383607820 https://github.com/appsmithorg/appsmith/pull/19643#issuecomment-1385095478 [Bug bash issues](https://www.notion.so/appsmith/610aa302f3e146a7b090b7dc6bc63ef9?v=0d277a9b07bf4aac9d717bcaf138c33a) ## Checklist: ### Dev activity - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag ### QA activity: - [ ] Test plan has been approved by relevant developers - [ ] Test plan has been peer reviewed by QA - [ ] Cypress test cases have been added and approved by either SDET or manual QA - [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA - [ ] Added Test Plan Approved label after reveiwing all Cypress test
82 lines
1.9 KiB
JSON
82 lines
1.9 KiB
JSON
{
|
|
"dsl": {
|
|
"widgetName": "MainContainer",
|
|
"backgroundColor": "none",
|
|
"rightColumn": 1206.35,
|
|
"snapColumns": 64,
|
|
"detachFromLayout": true,
|
|
"widgetId": "0",
|
|
"topRow": 0,
|
|
"bottomRow": 710,
|
|
"containerStyle": "none",
|
|
"snapRows": 125,
|
|
"parentRowSpace": 1,
|
|
"type": "CANVAS_WIDGET",
|
|
"canExtend": true,
|
|
"version": 45,
|
|
"minHeight": 690,
|
|
"parentColumnSpace": 1,
|
|
"dynamicBindingPathList": [],
|
|
"leftColumn": 0,
|
|
"children": [
|
|
{
|
|
"widgetName": "SwitchGroup1",
|
|
"isCanvas": false,
|
|
"displayName": "Switch Group",
|
|
"iconSVG": "/static/media/icon.086a7201.svg",
|
|
"topRow": 11,
|
|
"bottomRow": 17,
|
|
"parentRowSpace": 10,
|
|
"type": "SWITCH_GROUP_WIDGET",
|
|
"hideCard": false,
|
|
"parentColumnSpace": 18.66171875,
|
|
"leftColumn": 6,
|
|
"options": [
|
|
{
|
|
"label": "Blue",
|
|
"value": "BLUE"
|
|
},
|
|
{
|
|
"label": "Green",
|
|
"value": "GREEN"
|
|
},
|
|
{
|
|
"label": "Red",
|
|
"value": "RED"
|
|
}
|
|
],
|
|
"isDisabled": false,
|
|
"key": "4dddg71qr8",
|
|
"isRequired": false,
|
|
"rightColumn": 24,
|
|
"defaultSelectedValues": [
|
|
"BLUE"
|
|
],
|
|
"widgetId": "lexxd4wyb1",
|
|
"isVisible": true,
|
|
"version": 1,
|
|
"parentId": "0",
|
|
"renderMode": "CANVAS",
|
|
"isLoading": false,
|
|
"isInline": true
|
|
},
|
|
{
|
|
"isVisible": true,
|
|
"text": "Label",
|
|
"textAlign": "LEFT",
|
|
"widgetName": "Text1",
|
|
"type": "TEXT_WIDGET",
|
|
"isLoading": false,
|
|
"parentColumnSpace": 18.66171875,
|
|
"parentRowSpace": 10,
|
|
"leftColumn": 3,
|
|
"rightColumn": 10,
|
|
"topRow": 5,
|
|
"bottomRow": 9,
|
|
"parentId": "0",
|
|
"widgetId": "9xcfqahpw2"
|
|
}
|
|
]
|
|
}
|
|
}
|