## Description ### Part 3 of selected widget refactor As part of context switching and selected widget refactor, we saw that widgets that are inside modals or tabs and are hidden cannot be switched to without updating some meta properties. The meta properties are actually owned by the end user and the developer user would create some default values for it as well. This becomes a problem soon when the platform also tries to update it. So as part of this refactor, we will use the selected widget ancestry (the chain of widgets from the top to the currently selected widget) to handle if widgets need to be visible or not. It will also indicate the widgets in the path of selection to "make way" for the selected widget to be seen. Media https://user-images.githubusercontent.com/12022471/224916943-b10e8694-0c95-4157-bb93-288d7c0bf60a.mov - This works on any number of levels of hirarchy - The logic is supposed to handled by each widget that can potentially hide other widgets inside it - Improves some platform perf as the handing so widget meta is not done by the platform anymore Affected widgets: - Modal Widget - Tabs Widget > tl;dr: Update the platform's way to show widgets that can be hidden. Makes sure a selected widget is always shown. Fixes #1282 Resolves #18173 ## Type of change - Bug fix (non-breaking change which fixes an issue) ## How Has This Been Tested? - Manual - Cypress ### Test Plan > Test case link:- [#2202](https://github.com/appsmithorg/TestSmith/issues/2202) ### Issues raised during DP testing > Link issues raised during DP testing for better visiblity:- https://github.com/appsmithorg/appsmith/issues/1282#issuecomment-1472204952 ## Checklist: ### Dev activity - [x] My code follows the style guidelines of this project - [x] 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 - [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 - [ ] PR is being merged under a feature flag ### QA activity: - [x] Test plan has been approved by relevant developers - [x] 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
223 lines
13 KiB
JSON
223 lines
13 KiB
JSON
{
|
|
"editIcon": ".t--widget-propertypane-toggle",
|
|
"helpIcon": ".t--widget-help-control",
|
|
"editPropCrossButton": ".t--property-pane-close-btn",
|
|
"editPropBackButton": ".t--property-pane-back-btn",
|
|
"deleteWidgetIcon": ".t--widget-delete-control",
|
|
"dropdownSelectButton": ".t--open-dropdown-Select-Action",
|
|
"crossbutton": ".t--property-pane-close-btn",
|
|
"dropdownAction": ".t--open-dropdown-Select-Action",
|
|
"datatypedropdown": ".t--property-control-datatype button",
|
|
"Alerttypedropdown": ".t--open-dropdown-Select-type",
|
|
"dropdownmenu": ".t--dropdown-option",
|
|
"containerInnerText": ".t--draggable-containerwidget span.t--widget-name",
|
|
"optionchangetextDropdown": " .t--property-control-onoptionchange .CodeMirror textarea",
|
|
"optionchangetextDatePicker": " .t--property-control-ondateselected .CodeMirror-code",
|
|
"optionchangetextCheckbox": ".t--property-control-oncheckchange .CodeMirror-code",
|
|
"optionchangetextSwitch": ".t--property-control-onchange .CodeMirror textarea",
|
|
"optionchangetextInput": ".t--property-control-ontextchanged .CodeMirror-code",
|
|
"optionchangeRadioselect": ".t--property-control-onselectionchange .CodeMirror textarea",
|
|
"optionalignment": ".t--property-control-alignment .bp3-popover-target",
|
|
"optionposition": ".t--property-control-position .bp3-popover-target",
|
|
"onMarkerclick": ".t--property-control-onmarkerclick .CodeMirror-code",
|
|
"success": "div[type='success'] span",
|
|
"mapOptionChange": ".t--property-control-onmarkerclick .CodeMirror-code",
|
|
"dropdownbuttonclick": ".bp3-button",
|
|
"menuSelection": ".bp3-button > .bp3-button-text",
|
|
"scrollView": ".t--property-control-scrollcontents input",
|
|
"InputforText": ".t--property-control-text .CodeMirror-code",
|
|
"TextInside": ".bp3-ui-text span",
|
|
"homeIcon": ".t--appsmith-logo",
|
|
"typeWidgetName": ".bp3-editable-text-editing>input",
|
|
"requiredCheckbox": ".t--property-control-required input[type='checkbox']",
|
|
"visibleCheckbox": ".t--property-control-visible input[type='checkbox']",
|
|
"allowSelectAllCheckbox": ".t--property-control-allowselectall input[type='checkbox']",
|
|
"selectAllOptions":".t--property-control-selectalloptions input[type='checkbox']",
|
|
"disableCheckbox": ".t--property-control-disabled input[type='checkbox']",
|
|
"hideToolbarCheckbox": ".t--property-control-hidetoolbar input[type='checkbox'",
|
|
"labelTextStyle": ".bp3-ui-text span",
|
|
"bodyTextStyle": ".bp3-ui-text span",
|
|
"headingTextStyle": ".bp3-ui-text span",
|
|
"propertyPaneTitle": ".t--property-pane-title",
|
|
"dropDownIcon": ".t--property-control-fontsize .bp3-popover-target",
|
|
"onDateSelectedField": ".t--property-control-ondateselected",
|
|
"TableRow": ".t--draggable-tablewidget .tbody",
|
|
"TableV2Row": ".t--draggable-tablewidgetv2 .tbody",
|
|
"TableV2Head": ".t--draggable-tablewidgetv2 .thead",
|
|
"Disablejs": ".t--property-control-disabled",
|
|
"spellCheck": ".t--property-control-spellcheck",
|
|
"requiredjs": ".t--property-control-required",
|
|
"allowScroll": ".t--property-control-allowscroll input",
|
|
"tableInner": ".t--draggable-tablewidget span.t--widget-name",
|
|
"tableV2Inner": ".t--draggable-tablewidgetv2 span.t--widget-name",
|
|
"buttonInner": ".t--draggable-buttonwidget span.t--widget-name",
|
|
"inputWidgetInner": ".t--draggable-inputwidgetv2 span.t--widget-name",
|
|
"pdfSupport": ".t--property-control-pdfexport input",
|
|
"ExcelSupport": ".t--property-control-excelexport input",
|
|
"dropDownBtn": ".bp3-popover-target",
|
|
"disabledField": " .bp3-disabled",
|
|
"disabledBtn": " button[disabled='disabled']",
|
|
"rteToolbar": " .tox-toolbar__primary",
|
|
"inputField": " .bp3-input",
|
|
"csvSupport": ".t--property-control-csvexport input",
|
|
"backToEditor": ".t--back-to-editor",
|
|
"enableSearchLocCheckbox": ".t--property-control-enablesearchlocation input",
|
|
"enablePickLocCheckbox": ".t--property-control-enablepicklocation input",
|
|
"enableCreateMarkerCheckbox": ".t--property-control-createnewmarker input",
|
|
"widgetNameTag": "span.t--widget-name",
|
|
"serverSidePaginationCheckbox": ".t--property-control-serversidepagination input",
|
|
"rightArrowBtn": "span[icon='chevron-right']",
|
|
"toastMsg": ".Toastify__toast.Toastify__toast--default span.cs-text",
|
|
"callApi": ".t--property-control-onpagechange .t--open-dropdown-Select-Action",
|
|
"singleSelectMenuItem": ".bp3-menu-item.single-select div",
|
|
"singleSelectWidgetMenuItem": ".menu-item-link",
|
|
"singleSelectActiveMenuItem": ".menu-item-active div",
|
|
"selectInputSearch": ".select-popover-wrapper input",
|
|
"multiSelectMenuItem": "rc-select-item.rc-select-item-option div",
|
|
"selectMenuItem": ".bp3-menu li>a>div",
|
|
"evaluatedTypeTitle": ".t--CodeEditor-evaluatedValue > p:first-of-type",
|
|
"evaluatedType": ".t--CodeEditor-evaluatedValue > div:first-of-type pre",
|
|
"evaluatedCurrentValue": "div:last-of-type .t--CodeEditor-evaluatedValue > div:last-of-type pre",
|
|
"entityExplorersearch": "#entity-explorer-search",
|
|
"searchEntityInExplorer": "#search-entity",
|
|
"entitySearchResult": ".t--entity-name:contains('",
|
|
"saveStatusContainer": ".t--save-status-container",
|
|
"saveStatusIsSaving": "t--save-status-is-saving",
|
|
"statusSaving":".t--save-status-is-saving",
|
|
"saveStatusError": ".t--save-status-error",
|
|
"selectWidgetVirtualList": ".menu-virtual-list div",
|
|
"tableNextPage": ".t--table-widget-next-page",
|
|
"tablePrevPage": ".t--table-widget-prev-page",
|
|
"toastmsg": ".Toastify__toast-body span",
|
|
"copyWidget": ".t--copy-widget",
|
|
"deleteWidget": ".t--delete-widget",
|
|
"dropTarget": ".t--drop-target",
|
|
"toastAction": ".t--toast-action",
|
|
"toastBody": ".Toastify__toast-body",
|
|
"videoInner": ".t--draggable-videowidget span.t--widget-name",
|
|
"audioInner": ".t--draggable-audiowidget span.t--widget-name",
|
|
"onPlay": ".t--property-control-onplay .t--open-dropdown-Select-Action",
|
|
"chooseAction": ".single-select",
|
|
"chooseMsgType": ".t--open-dropdown-Select-type",
|
|
"onPause": ".t--property-control-onpause .t--open-dropdown-Select-Action",
|
|
"chooseWidget": ".t--open-dropdown-Select-Widget",
|
|
"onClick": ".t--property-control-onclick .t--open-dropdown-Select-Action",
|
|
"changeZoomlevel": ".t--property-control-maxzoomlevel .bp3-popover-target",
|
|
"selectedZoomlevel": ".t--property-control-maxzoomlevel .bp3-popover-target ",
|
|
"imgWidget": "div[data-testid='styledImage']",
|
|
"editColTitle": ".t--property-pane-title",
|
|
"editColText": ".t--property-pane-title span",
|
|
"changeColType": ".t--property-control-columntype .bp3-popover-target",
|
|
"selectedColType": ".t--property-control-columntype button span",
|
|
"collapsesection": ".t--property-pane-section-collapse-general .bp3-icon",
|
|
"selectTab": ".t--tab-Tab",
|
|
"layoutControls": ".t--layout-control-wrapper button",
|
|
"layoutPopover": ".bp3-popover.bp3-minimal.layout-control",
|
|
"canvas": ".t--canvas-artboard",
|
|
"deflautSelectedRow": ".t--property-control-defaultselectedrow textarea",
|
|
"defaultSearchText": ".t--property-control-defaultsearchtext textarea",
|
|
"entityName": ".t--entity-name",
|
|
"entityItem": ".t--entity-item",
|
|
"entityCollapseToggle": ".t--entity-collapse-toggle",
|
|
"entityContextMenu": ".t--context-menu",
|
|
"entityContextMenuContent": ".t--entity-context-menu",
|
|
"filePickerButton": ".t--widget-filepickerwidget",
|
|
"filePickerInput": ".uppy-Dashboard-input",
|
|
"filePickerUploadButton": ".uppy-StatusBar-actionBtn--upload",
|
|
"AddMoreFiles": ".uppy-DashboardContent-addMoreCaption",
|
|
"filePickerOnFilesSelected": ".t--property-control-onfilesselected",
|
|
"dataType": ".t--property-control-datatype .bp3-popover-target",
|
|
"recaptchaVersion": ".t--property-control-googlerecaptchaversion .bp3-popover-target",
|
|
"filePickerDataFormat": ".t--property-control-dataformat .bp3-popover-target",
|
|
"helperText": ".t--property-control-helperText",
|
|
"jsonFormFieldType": ".t--property-control-fieldtype .bp3-popover-target",
|
|
"jsonFormAddNewCustomFieldBtn": ".t--property-control-fieldconfiguration .t--add-column-btn",
|
|
"evaluateMsg": ".t--evaluatedPopup-error",
|
|
"globalSearchModal": ".t--global-search-modal",
|
|
"globalSearchInput": ".t--global-search-input",
|
|
"globalSearchTrigger": ".t--global-search-modal-trigger",
|
|
"globalSearchClearInput": ".t--global-clear-input",
|
|
"containerWidget": ".t--widget-containerwidget",
|
|
"paginationButton": ".rc-pagination-item",
|
|
"switchWidgetActive": ".t--switch-widget-active",
|
|
"switchWidgetInActive": ".t--switch-widget-inactive",
|
|
"switchWidgetLoading": ".t--switch-widget-loading",
|
|
"tablePageSizeChangeAction": ".t--property-control-onpagesizechange .t--open-dropdown-Select-Action",
|
|
"listWidgetNameTag": ".bp3-editable-text-content",
|
|
"currencyType": ".t--property-control-currency .bp3-popover-target",
|
|
"decimalType": ".t--property-control-decimals .bp3-popover-target",
|
|
"allowCurrencyChange": ".t--property-control-allowcurrencychange input[type='checkbox']",
|
|
"inputCurrencyChangeType": ".t--input-currency-change",
|
|
"inputCountryCodeChangeType": ".t--input-country-code-change",
|
|
"viewerPage": ".t--app-viewer-page",
|
|
"dropDownOptSelected": "//span[@type='p1']",
|
|
"generalChevran": ".t--property-pane-section-collapse-general .t--chevron-icon",
|
|
"generalSection": ".t--property-pane-section-general",
|
|
"selectedIcon": ".t--property-control-icon .icon-select-container .bp3-button .bp3-button-text",
|
|
"isSortable": ".t--property-control-columnsorting input[type='checkbox']",
|
|
"isSortable_tablev1": ".t--property-control-sortable input[type='checkbox']",
|
|
"labelSection": ".cm-keyword",
|
|
"lintWarning": ".CodeMirror-lint-mark-warning",
|
|
"lintErrorMsg": ".CodeMirror-lint-message-error",
|
|
"lintWarningMsg": ".CodeMirror-lint-message-warning",
|
|
"labelSectionTxt": ".CodeMirror-code .cm-variable",
|
|
"lintError": ".CodeMirror-lint-mark-error",
|
|
"debugger": ".t--debugger svg",
|
|
"errorTab": "[data-cy=t--tab-ERROR]",
|
|
"debugErrorMsg": "[data-cy=t--debugger-log-message]",
|
|
"tableButtonVariant": ".t--property-control-buttonvariant .bp3-popover-target",
|
|
"debuggerLabel": "span.debugger-label",
|
|
"debuggerToggle": "[data-cy=t--debugger-toggle]",
|
|
"debuggerDownStreamErrMsg": "[data-cy=t--debugger-downStreamErrorMsg]",
|
|
"debuggerDownStreamErrCode": "[data-cy=t--debugger-downStreamErrorCode]",
|
|
"debuggerContextMenu": ".t--debugger-contextual-error-menu",
|
|
"cyclicDependencyError": "//div[@class='Toastify']//span[contains(text(),'Cyclic dependency found while evaluating')]",
|
|
"openDocumentationfromErrorTab": "//span[@name='book-line']",
|
|
"selectInner": ".t--draggable-selectwidget span.t--widget-name, Select1",
|
|
"toastifyError": "//div[@class='Toastify']//span]",
|
|
"selectButton": ".select-button",
|
|
"selectwidget": ".t--draggable-selectwidget",
|
|
"textWidget": ".t--draggable-textwidget",
|
|
"filepickerv2": ".t--draggable-filepickerwidgetv2",
|
|
"dashboardItemName": ".uppy-Dashboard-Item-name",
|
|
"mapChartShowLabels": ".t--property-control-showlabels input",
|
|
"widgetSection": ".t--entity.widgets > .t--entity-item > a.t--entity-collapse-toggle",
|
|
"changeThemeBtn": ".t--change-theme-btn",
|
|
"editThemeBtn": ".t--edit-theme-btn",
|
|
"themeCard": ".t--theme-card",
|
|
"saveThemeBtn": ".t--save-theme-btn",
|
|
"selectThemeBackBtn": ".t--theme-select-back-btn",
|
|
"themeAppBorderRadiusBtn": ".t--theme-appBorderRadius",
|
|
"themeAppBoxShadowBtn": ".t--theme-appBoxShadow",
|
|
"codeEditorWrapper": ".unfocused-code-editor",
|
|
"textWidgetContainer": ".t--text-widget-container",
|
|
"propertyStyle": "li:contains('STYLE')",
|
|
"propertyContent": "li:contains('CONTENT')",
|
|
"cancelActionExecution": ".t--cancel-action-button",
|
|
"menuButtonMenuItemsSource": ".t--property-control-menuitemssource",
|
|
"menuButtonSourceData": ".t--property-control-sourcedata",
|
|
"menuButtonConfigureArrayItems": ".t--property-control-configuremenuitems button",
|
|
"codeScannerScannerLayout": ".t--property-control-scannerlayout",
|
|
"codeScannerVideo": ".code-scanner-camera-container video",
|
|
"codeScannerDisabledSVGIcon": ".code-scanner-camera-container div[disabled] svg",
|
|
"layoutHeightDropdown": ".t--property-control-height .remixicon-icon",
|
|
"fixed": "[data-cy='t--dropdown-option-Fixed']",
|
|
"autoHeight": "[data-cy='t--dropdown-option-Auto Height']",
|
|
"autoHeightWithLimits": "[data-cy='t--dropdown-option-Auto Height with limits']",
|
|
"minHeight": "minheight\\(inrows\\)",
|
|
"maxHeight": "maxheight\\(inrows\\)",
|
|
"overlayMin": "[data-cy='t--auto-height-overlay-min']",
|
|
"overlayMax": "[data-cy='t--auto-height-overlay-max']",
|
|
"addOption": ".t--property-control-options-add",
|
|
"showTabsControl": ".t--property-control-showtabs .bp3-control-indicator",
|
|
"checkboxIndicator": ".t--draggable-checkboxwidget .bp3-control-indicator",
|
|
"generalSectionHeight": ".t--property-pane-section-general .t--property-control-label:contains('Height')",
|
|
"listPaginateNextButton":".t--widget-listwidgetv2 .rc-pagination-next .rc-pagination-item-link",
|
|
"listPaginateActivePage":".t--widget-listwidgetv2 .rc-pagination-item-active",
|
|
"listPaginatePrevButton":".t--widget-listwidgetv2 .rc-pagination-prev .rc-pagination-item-link",
|
|
"listPaginateNextButtonDisabled":".t--widget-listwidgetv2 .rc-pagination-disabled .rc-pagination-item-link",
|
|
"PropertyPaneSearchInput": ".t--property-pane-search-input-wrapper input",
|
|
"BorderRadius0px": ".t--property-control-borderradius .t--button-group-0px",
|
|
"EnableFormatting": ".t--property-control-enableformatting input[type='checkbox']"
|
|
}
|