PromucFlow_constructor/app/client/cypress/fixtures/selectMultiSelectTreeSelectWidgetDsl.json
Hetu Nandu aa9b19c995
refactor: Widget Selection (#19643)
## 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
2023-01-28 07:47:06 +05:30

237 lines
5.8 KiB
JSON

{
"dsl": {
"widgetName": "MainContainer",
"backgroundColor": "none",
"rightColumn": 656,
"snapColumns": 64,
"detachFromLayout": true,
"widgetId": "0",
"topRow": 0,
"bottomRow": 5016,
"containerStyle": "none",
"snapRows": 125,
"parentRowSpace": 1,
"type": "CANVAS_WIDGET",
"canExtend": true,
"version": 46,
"minHeight": 1292,
"parentColumnSpace": 1,
"dynamicBindingPathList": [],
"leftColumn": 0,
"children": [
{
"isVisible": true,
"placeholderText": "Select option",
"labelText": "Label",
"selectionType": "SINGLE_SELECT",
"options": [
{
"label": "Blue",
"value": "BLUE"
},
{
"label": "Green",
"value": "GREEN"
},
{
"label": "Red",
"value": "RED"
}
],
"serverSideFiltering": false,
"widgetName": "Select1",
"defaultOptionValue": {
"label": "Green",
"value": "GREEN"
},
"version": 1,
"isFilterable": false,
"isRequired": false,
"isDisabled": false,
"type": "SELECT_WIDGET",
"hideCard": false,
"displayName": "Select",
"key": "xlzcpnuumm",
"iconSVG": "/static/media/icon.bd99caba.svg",
"widgetId": "w042446bbt",
"renderMode": "CANVAS",
"isLoading": false,
"parentColumnSpace": 10.0625,
"parentRowSpace": 10,
"leftColumn": 16,
"rightColumn": 36,
"topRow": 6,
"bottomRow": 12.9,
"parentId": "0",
"onDropdownOpen": "",
"onDropdownClose": "",
"dynamicTriggerPathList": [
{
"key": "onDropdownOpen"
},
{
"key": "onDropdownClose"
}
]
},
{
"isRequired": false,
"widgetName": "MultiSelect",
"rightColumn": 32,
"widgetId": "p6qkmj8uo1",
"labelText": "Label",
"topRow": 49,
"bottomRow": 60,
"parentRowSpace": 10,
"isVisible": true,
"label": "",
"type": "MULTI_SELECT_WIDGET_V2",
"version": 1,
"parentId": "0",
"isLoading": false,
"defaultOptionValue": [
"GREEN"
],
"parentColumnSpace": 13.662109375,
"leftColumn": 57,
"dynamicBindingPathList": [],
"options": [
{
"label": "Blue",
"value": "BLUE"
},
{
"label": "Green",
"value": "GREEN"
},
{
"label": "Red",
"value": "RED"
}
],
"placeholderText": "select option(s)",
"isDisabled": false,
"labelTextSize": "0.875rem",
"onDropdownOpen": "",
"onDropdownClose": "",
"dynamicTriggerPathList": [
{
"key": "onDropdownOpen"
},
{
"key": "onDropdownClose"
}
]
},
{
"widgetName": "SingleSelectTree1",
"displayName": "TreeSelect",
"iconSVG": "/static/media/icon.f815ebe3.svg",
"labelText": "Label",
"topRow": 58,
"bottomRow": 64.8,
"parentRowSpace": 10,
"type": "SINGLE_SELECT_TREE_WIDGET",
"hideCard": false,
"defaultOptionValue": "BLUE",
"parentColumnSpace": 15.974999999999998,
"leftColumn": 17,
"options": [
{
"label": "Blue",
"value": "BLUE"
},
{
"label": "Green",
"value": "GREEN"
},
{
"label": "Red",
"value": "RED"
}
],
"placeholderText": "select option",
"isDisabled": false,
"key": "cul8w70bzs",
"isRequired": false,
"rightColumn": 33,
"widgetId": "0zloh94nd4",
"isVisible": true,
"version": 1,
"expandAll": false,
"parentId": "0",
"renderMode": "CANVAS",
"isLoading": false,
"allowClear": false,
"onDropdownOpen": "",
"onDropdownClose": "",
"dynamicTriggerPathList": [
{
"key": "onDropdownOpen"
},
{
"key": "onDropdownClose"
}
]
},
{
"widgetName": "MultiSelectTree1",
"displayName": "Multi TreeSelect",
"iconSVG": "/static/media/icon.f264210c.svg",
"labelText": "Label",
"topRow": 38,
"bottomRow": 44.88,
"parentRowSpace": 10,
"type": "MULTI_SELECT_TREE_WIDGET",
"hideCard": false,
"mode": "SHOW_ALL",
"defaultOptionValue": [
{
"label": "Green",
"value": "GREEN"
}
],
"parentColumnSpace": 15.974999999999998,
"leftColumn": 18,
"options": [
{
"label": "Blue",
"value": "BLUE"
},
{
"label": "Green",
"value": "GREEN"
},
{
"label": "Red",
"value": "RED"
}
],
"placeholderText": "select option(s)",
"isDisabled": false,
"key": "1zu067mn51",
"isRequired": false,
"rightColumn": 34,
"widgetId": "zvm3vcs5gp",
"isVisible": true,
"version": 1,
"expandAll": false,
"parentId": "0",
"renderMode": "CANVAS",
"isLoading": false,
"allowClear": false,
"onDropdownOpen": "",
"onDropdownClose": "",
"dynamicTriggerPathList": [
{
"key": "onDropdownOpen"
},
{
"key": "onDropdownClose"
}
]
}
]
}
}