From 2fcd670aacb8aaeaaa1ee879c0fbd3577be42557 Mon Sep 17 00:00:00 2001 From: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com> Date: Thu, 4 Jun 2026 12:47:43 +0530 Subject: [PATCH] fix: ux revamp drawer to dialog for less fields (#12424) Co-authored-by: ktx-mihir --- .../pages/alertsPages/alertsPage.js | 6 +- .../pages/dashboardPages/dashboard-create.js | 2 +- .../pages/dashboardPages/dashboard-folder.js | 2 +- .../pages/dashboardPages/dashboard-import.js | 2 +- .../dashboardPages/dashboard-settings.js | 4 +- .../pages/dashboardPages/dashboardPage.js | 2 +- .../pages/dashboardPages/visualise.js | 4 +- .../pages/generalPages/createOrgPage.js | 4 +- .../pages/generalPages/languagePage.js | 2 +- .../pages/generalPages/sanityPage.js | 4 +- .../pages/generalPages/schemaPage.js | 4 +- .../ui-testing/pages/generalPages/userPage.js | 8 +- tests/ui-testing/pages/iamPages/iamPage.js | 7 +- .../pages/metricsPages/metricsBuilderPage.js | 8 +- .../pages/reportsPages/reportFoldersPage.js | 8 +- .../actionScripts/ActionScripts.vue | 2 +- .../common/sidebar/AddFolder.spec.ts | 85 ++++++++----------- .../components/common/sidebar/AddFolder.vue | 25 ++---- .../common/sidebar/MoveAcrossFolders.spec.ts | 32 +++---- .../common/sidebar/MoveAcrossFolders.vue | 15 ++-- .../components/dashboards/AddDashboard.vue | 4 +- web/src/components/dashboards/AddFolder.vue | 4 +- .../MoveDashboardToAnotherFolder.spec.ts | 54 ++++++------ .../MoveDashboardToAnotherFolder.vue | 12 +-- .../SelectDashboardDropdown.spec.ts | 52 ++++++------ .../dashboards/SelectDashboardDropdown.vue | 12 +-- .../dashboards/SelectFolderDropdown.spec.ts | 45 +++++----- .../dashboards/SelectFolderDropdown.vue | 27 ++---- .../dashboards/addPanel/AddAnnotation.vue | 6 +- .../components/dashboards/tabs/AddTab.spec.ts | 42 ++++----- web/src/components/dashboards/tabs/AddTab.vue | 21 ++--- .../components/iam/groups/AddGroup.spec.ts | 75 ++++++++-------- web/src/components/iam/groups/AddGroup.vue | 36 +++----- .../AddUpdateOrganization.spec.ts | 26 +++--- .../organizations/AddUpdateOrganization.vue | 12 +-- web/src/components/iam/roles/AddRole.spec.js | 51 ++++++----- web/src/components/iam/roles/AddRole.vue | 36 +++----- .../serviceAccounts/AddServiceAccount.spec.ts | 59 +++++++------ .../iam/serviceAccounts/AddServiceAccount.vue | 35 +++----- web/src/components/iam/users/AddUser.spec.js | 69 +++------------ web/src/components/iam/users/AddUser.vue | 37 +++----- .../components/iam/users/UpdateRole.spec.js | 27 +++--- web/src/components/iam/users/UpdateRole.vue | 12 +-- .../components/logstream/AddStream.spec.ts | 22 ++--- web/src/components/logstream/AddStream.vue | 14 +-- .../pipelines/EditBackfillJobDialog.spec.ts | 22 ++--- .../pipelines/EditBackfillJobDialog.vue | 10 +-- .../components/settings/AddRegexPattern.vue | 7 +- web/src/lib/overlay/Dialog/ODialog.types.ts | 6 ++ web/src/lib/overlay/Dialog/ODialog.vue | 20 +++-- web/src/lib/overlay/Drawer/ODrawer.types.ts | 6 ++ web/src/lib/overlay/Drawer/ODrawer.vue | 4 +- .../plugins/metrics/AddToDashboard.spec.ts | 47 +++++----- web/src/plugins/metrics/AddToDashboard.vue | 23 ++--- web/src/views/Dashboards/Dashboards.spec.ts | 32 +++---- web/src/views/Dashboards/Dashboards.vue | 20 ++--- .../Dashboards/PanelLayoutSettings.spec.ts | 44 +++++----- .../views/Dashboards/PanelLayoutSettings.vue | 13 ++- 58 files changed, 562 insertions(+), 708 deletions(-) diff --git a/tests/ui-testing/pages/alertsPages/alertsPage.js b/tests/ui-testing/pages/alertsPages/alertsPage.js index d5f2aa5ddb..09b125049a 100644 --- a/tests/ui-testing/pages/alertsPages/alertsPage.js +++ b/tests/ui-testing/pages/alertsPages/alertsPage.js @@ -50,8 +50,8 @@ export class AlertsPage { folderNameInputField: '[data-test="dashboard-folder-add-name-field"]', folderDescriptionInput: '[data-test="dashboard-folder-add-description"]', folderDescriptionInputField: '[data-test="dashboard-folder-add-description-field"]', - folderSaveButton: '[data-test="dashboard-folder-dialog"] [data-test="o-drawer-primary-btn"]', - folderCancelButton: '[data-test="dashboard-folder-dialog"] [data-test="o-drawer-secondary-btn"]', + folderSaveButton: '[data-test="dashboard-folder-dialog"] [data-test="o-dialog-primary-btn"]', + folderCancelButton: '[data-test="dashboard-folder-dialog"] [data-test="o-dialog-secondary-btn"]', noDataAvailableText: 'No data available', folderExistsError: 'Folder with this name already exists in this organization', folderMoreOptionsButton: '[data-test="dashboard-more-icon"]', @@ -188,7 +188,7 @@ export class AlertsPage { selectAllCheckboxRowName: '# Name Owner Period Frequency', moveAcrossFoldersButton: '[data-test="alert-list-move-across-folders-btn"]', folderDropdown: '[data-test="alerts-index-dropdown-stream_type"]', - moveButton: '[data-test="dashboard-move-to-another-folder-dialog"] [data-test="o-drawer-primary-btn"]', + moveButton: '[data-test="dashboard-move-to-another-folder-dialog"] [data-test="o-dialog-primary-btn"]', alertsMovedMessage: 'alerts Moved successfully', // Alert search and deletion locators diff --git a/tests/ui-testing/pages/dashboardPages/dashboard-create.js b/tests/ui-testing/pages/dashboardPages/dashboard-create.js index 0a2d352106..e998f0a890 100644 --- a/tests/ui-testing/pages/dashboardPages/dashboard-create.js +++ b/tests/ui-testing/pages/dashboardPages/dashboard-create.js @@ -10,7 +10,7 @@ export default class DashboardCreate { this.dashCreateBtn = this.page.locator('[data-test="dashboard-new"]'); this.dashName = this.page.locator('[data-test="add-dashboard-name"] input'); this.submitBtn = this.page.locator( - '[data-test="dashboard-add-dialog"] [data-test="o-drawer-primary-btn"]' + '[data-test="dashboard-add-dialog"] [data-test="o-dialog-primary-btn"]' ); this.deleteIcon = this.page.locator('[data-test="dashboard-delete"]'); this.confirmDelete = this.page.locator( diff --git a/tests/ui-testing/pages/dashboardPages/dashboard-folder.js b/tests/ui-testing/pages/dashboardPages/dashboard-folder.js index 6f96f50aff..ca78471377 100644 --- a/tests/ui-testing/pages/dashboardPages/dashboard-folder.js +++ b/tests/ui-testing/pages/dashboardPages/dashboard-folder.js @@ -15,7 +15,7 @@ export default class DashboardFolder { '[data-test="dashboard-folder-add-name-field"]' ); this.folderDialogSaveBtn = page.locator( - '[data-test="dashboard-folder-dialog"] [data-test="o-drawer-primary-btn"]' + '[data-test="dashboard-folder-dialog"] [data-test="o-dialog-primary-btn"]' ); // More-icon and the post-menu actions live on the global page surface // (rendered into a Reka portal in the menu case). The folder-card scoped diff --git a/tests/ui-testing/pages/dashboardPages/dashboard-import.js b/tests/ui-testing/pages/dashboardPages/dashboard-import.js index 18ed61f612..067b560880 100644 --- a/tests/ui-testing/pages/dashboardPages/dashboard-import.js +++ b/tests/ui-testing/pages/dashboardPages/dashboard-import.js @@ -348,7 +348,7 @@ export default class DashboardImport { async confirmFolderMoveDrawer() { await this.page .locator( - '[data-test="dashboard-folder-move-dialog"] [data-test="o-drawer-primary-btn"]' + '[data-test="dashboard-folder-move-dialog"] [data-test="o-dialog-primary-btn"]' ) .click(); } diff --git a/tests/ui-testing/pages/dashboardPages/dashboard-settings.js b/tests/ui-testing/pages/dashboardPages/dashboard-settings.js index f00f7e99b0..2ab8ac843e 100644 --- a/tests/ui-testing/pages/dashboardPages/dashboard-settings.js +++ b/tests/ui-testing/pages/dashboardPages/dashboard-settings.js @@ -37,7 +37,7 @@ export default class DashboardSetting { this.fullScreen = page.locator('[data-test="dashboard-fullscreen-btn"]'); this.tabName = page.locator('[data-test="dashboard-add-tab-name-field"]'); this.saveTab = page.locator( - '[data-test="dashboard-tab-settings-add-tab-dialog"] [data-test="o-drawer-primary-btn"]' + '[data-test="dashboard-tab-settings-add-tab-dialog"] [data-test="o-dialog-primary-btn"]' ); this.closeSetting = page.locator( '[data-test="dashboard-settings-drawer"] [data-test="o-drawer-close-btn"]' @@ -46,7 +46,7 @@ export default class DashboardSetting { this.relativeTime = page.locator('[data-test="date-time-relative-tab"]'); this.addTabCancel = page.locator( - '[data-test="dashboard-tab-settings-add-tab-dialog"] [data-test="o-drawer-secondary-btn"]' + '[data-test="dashboard-tab-settings-add-tab-dialog"] [data-test="o-dialog-secondary-btn"]' ); this.EditSave = page.locator( '[data-test="dashboard-tab-settings-tab-name-edit-save"]' diff --git a/tests/ui-testing/pages/dashboardPages/dashboardPage.js b/tests/ui-testing/pages/dashboardPages/dashboardPage.js index e7a24c8e5c..f1897d3cef 100644 --- a/tests/ui-testing/pages/dashboardPages/dashboardPage.js +++ b/tests/ui-testing/pages/dashboardPages/dashboardPage.js @@ -43,7 +43,7 @@ export class DashboardPage { this.dashboardAddDialog = page.locator('[data-test="dashboard-add-dialog"]'); this.dashboardNameWrapper = page.locator('[data-test="add-dashboard-name"]'); this.dashboardNameInput = page.locator('[data-test="add-dashboard-name-field"]'); - this.dashboardSubmitButton = page.locator('[data-test="dashboard-add-dialog"] [data-test="o-drawer-primary-btn"]'); + this.dashboardSubmitButton = page.locator('[data-test="dashboard-add-dialog"] [data-test="o-dialog-primary-btn"]'); // Dashboard view/edit locators this.addPanelBtn = page.locator('[data-test="dashboard-if-no-panel-add-panel-btn"]'); diff --git a/tests/ui-testing/pages/dashboardPages/visualise.js b/tests/ui-testing/pages/dashboardPages/visualise.js index 58d25c9a19..478e8e926a 100644 --- a/tests/ui-testing/pages/dashboardPages/visualise.js +++ b/tests/ui-testing/pages/dashboardPages/visualise.js @@ -28,7 +28,7 @@ export default class LogsVisualise { // migrated to ODrawer (SelectDashboardDropdown now hosts the form and // the footer primary button calls addDashboardRef?.submit()). this.dashboardSubmitBtn = page.locator( - '[data-test="dashboard-dashboard-add-dialog"] [data-test="o-drawer-primary-btn"]' + '[data-test="dashboard-dashboard-add-dialog"] [data-test="o-dialog-primary-btn"]' ); this.panelTitleInput = page.locator( '[data-test="metrics-new-dashboard-panel-title-field"]' @@ -37,7 +37,7 @@ export default class LogsVisualise { // `metrics-schema-update-settings-button` was removed when AddToDashboard.vue // migrated to ODrawer (parent slug: add-to-dashboard-dialog). this.updateSettingsBtn = page.locator( - '[data-test="add-to-dashboard-dialog"] [data-test="o-drawer-primary-btn"]' + '[data-test="add-to-dashboard-dialog"] [data-test="o-dialog-primary-btn"]' ); // Query editor locators diff --git a/tests/ui-testing/pages/generalPages/createOrgPage.js b/tests/ui-testing/pages/generalPages/createOrgPage.js index e32670c48f..b6ec02b557 100644 --- a/tests/ui-testing/pages/generalPages/createOrgPage.js +++ b/tests/ui-testing/pages/generalPages/createOrgPage.js @@ -22,10 +22,10 @@ export class CreateOrgPage { // ODrawer footer buttons exposed via o-drawer-{primary|secondary}-btn, // scoped under the dialog wrapper data-test for uniqueness. this.saveOrgButton = page.locator( - '[data-test="add-update-organization-dialog"] [data-test="o-drawer-primary-btn"]' + '[data-test="add-update-organization-dialog"] [data-test="o-dialog-primary-btn"]' ); this.cancelOrgButton = page.locator( - '[data-test="add-update-organization-dialog"] [data-test="o-drawer-secondary-btn"]' + '[data-test="add-update-organization-dialog"] [data-test="o-dialog-secondary-btn"]' ); // ── Search input ────────────────────────────────────────────────── diff --git a/tests/ui-testing/pages/generalPages/languagePage.js b/tests/ui-testing/pages/generalPages/languagePage.js index 7be8793571..deb6d26b23 100644 --- a/tests/ui-testing/pages/generalPages/languagePage.js +++ b/tests/ui-testing/pages/generalPages/languagePage.js @@ -204,7 +204,7 @@ class LanguagePage { // Dashboard this.addDashboardBtn = page.locator('[data-test="dashboard-new"]'); this.addDashboardDialog = page.locator('[data-test="dashboard-add-dialog"]'); - this.addDashboardDialogCloseBtn = page.locator('[data-test="dashboard-add-dialog"] [data-test="o-drawer-secondary-btn"]'); + this.addDashboardDialogCloseBtn = page.locator('[data-test="dashboard-add-dialog"] [data-test="o-dialog-secondary-btn"]'); } /** diff --git a/tests/ui-testing/pages/generalPages/sanityPage.js b/tests/ui-testing/pages/generalPages/sanityPage.js index 25703fcea3..3d3aeb0470 100644 --- a/tests/ui-testing/pages/generalPages/sanityPage.js +++ b/tests/ui-testing/pages/generalPages/sanityPage.js @@ -89,7 +89,7 @@ export class SanityPage { this.folderAddNameField = page.locator('[data-test="dashboard-folder-add-name-field"]'); // AddFolder.vue now uses ODrawer's primary footer button — there is // no standalone "dashboard-folder-add-save" element after migration. - this.folderAddSave = page.locator('[data-test="dashboard-folder-dialog"] [data-test="o-drawer-primary-btn"]'); + this.folderAddSave = page.locator('[data-test="dashboard-folder-dialog"] [data-test="o-dialog-primary-btn"]'); this.deleteFolderIcon = page.locator('[data-test="dashboard-delete-folder-icon"]'); // ============================================================ @@ -102,7 +102,7 @@ export class SanityPage { this.streamTypeLogsOption = page.locator('[data-test="add-stream-type-input-option"][data-test-value="logs"]'); // AddStream.vue uses ODrawer (isInPipeline=false on the Streams page). // The save action is the ODrawer built-in primary footer button. - this.saveStreamButton = page.locator('[data-test="add-stream-dialog"] [data-test="o-drawer-primary-btn"]'); + this.saveStreamButton = page.locator('[data-test="add-stream-dialog"] [data-test="o-dialog-primary-btn"]'); // Stream search input on Streams page; OInput auto-generates `-field` variant. this.searchStreamInputField = page.locator('[data-test="streams-search-stream-input-field"]'); // Stream delete button per row (data-test added in LogStream.vue this pass). diff --git a/tests/ui-testing/pages/generalPages/schemaPage.js b/tests/ui-testing/pages/generalPages/schemaPage.js index 1db44aeea0..ff602e89f2 100644 --- a/tests/ui-testing/pages/generalPages/schemaPage.js +++ b/tests/ui-testing/pages/generalPages/schemaPage.js @@ -27,7 +27,7 @@ class SchemaPage { this.addStreamTypeInput = page.locator('[data-test="add-stream-dialog"] [data-test="add-stream-type-input"]'); this.addStreamTypeOptionLogs = page.locator('[data-test="add-stream-type-input-option"][data-test-value="logs"]'); // AddStream renders ODrawer (isInPipeline=false) on the Streams page — save via ODrawer primary button. - this.addStreamSaveBtn = page.locator('[data-test="add-stream-dialog"] [data-test="o-drawer-primary-btn"]'); + this.addStreamSaveBtn = page.locator('[data-test="add-stream-dialog"] [data-test="o-dialog-primary-btn"]'); // Schema drawer (schema.vue migrated to ODrawer with data-test="schema-drawer") this.schemaDrawer = page.locator('[data-test="schema-drawer"]'); @@ -141,7 +141,7 @@ class SchemaPage { nameLabel: 'Name *', // AddStream.vue migrated from q-btn to ODrawer's primary footer // button — there is no standalone "save-stream-btn" any more. - saveStreamBtn: '[data-test="add-stream-dialog"] [data-test="o-drawer-primary-btn"]', + saveStreamBtn: '[data-test="add-stream-dialog"] [data-test="o-dialog-primary-btn"]', menuHomeItem: '[data-test="menu-link-\\/-item"]', menuLogsItem: '[data-test="menu-link-\\/logs-item"]', fnEditor: '[data-test="logs-vrl-function-editor"]', diff --git a/tests/ui-testing/pages/generalPages/userPage.js b/tests/ui-testing/pages/generalPages/userPage.js index 7cc93050b5..c1ce4825f8 100644 --- a/tests/ui-testing/pages/generalPages/userPage.js +++ b/tests/ui-testing/pages/generalPages/userPage.js @@ -28,8 +28,10 @@ export class UserPage { this.userNewPasswordFieldInput = page.locator('[data-test="user-new-password-field-field"]'); // OSelect role trigger + popover option (data-test-value keys to the role value) this.userRoleField = page.locator('[data-test="user-role-field"]'); - this.saveUserButton = page.locator('[data-test="save-user-button"]'); - this.cancelUserButton = page.locator('[data-test="cancel-user-button"]'); + // Add/Edit user dialog footer uses ODialog's built-in primary/secondary + // buttons; scope to the dialog so they don't collide with other dialogs' btns. + this.saveUserButton = page.locator('[data-test="add-user-dialog"] [data-test="o-dialog-primary-btn"]'); + this.cancelUserButton = page.locator('[data-test="add-user-dialog"] [data-test="o-dialog-secondary-btn"]'); // Change-password toggle in edit mode this.userChangePasswordToggle = page.locator('[data-test="user-change-password-field"]'); @@ -63,7 +65,7 @@ export class UserPage { // so a blank org-name keeps Save in a disabled state instead of // surfacing an inline error from onSubmit. this.addOrgDrawerSaveButton = page.locator( - '[data-test="add-update-organization-dialog"] [data-test="o-drawer-primary-btn"]' + '[data-test="add-update-organization-dialog"] [data-test="o-dialog-primary-btn"]' ); // OTable rows — used by searchUser / verifyUserExists poll loops. diff --git a/tests/ui-testing/pages/iamPages/iamPage.js b/tests/ui-testing/pages/iamPages/iamPage.js index c1e54e18c3..f92775580b 100644 --- a/tests/ui-testing/pages/iamPages/iamPage.js +++ b/tests/ui-testing/pages/iamPages/iamPage.js @@ -31,8 +31,11 @@ export class IamPage { this.emailInput = page.locator('[data-test="iam-add-service-account-email-input-field"]'); this.emailInputError = page.locator('[data-test="iam-add-service-account-email-input-error"]'); this.descriptionInput = page.locator('[data-test="iam-add-service-account-description-input-field"]'); - this.saveButton = page.locator('[data-test="iam-add-service-account-save-btn"]'); - this.cancelButton = page.locator('[data-test="cancel-button"]'); + // Add/Edit service account dialog footer uses ODialog's built-in + // primary/secondary buttons; scope to the dialog to avoid colliding + // with other dialogs' generic o-dialog-*-btn slugs. + this.saveButton = page.locator('[data-test="add-service-account-dialog"] [data-test="o-dialog-primary-btn"]'); + this.cancelButton = page.locator('[data-test="add-service-account-dialog"] [data-test="o-dialog-secondary-btn"]'); // Token dialog (post-creation popup with Copy / Download / Close) this.tokenDialog = page.locator('[data-test="service-accounts-list-token-dialog"]'); diff --git a/tests/ui-testing/pages/metricsPages/metricsBuilderPage.js b/tests/ui-testing/pages/metricsPages/metricsBuilderPage.js index 624118b26c..1007d5d4af 100644 --- a/tests/ui-testing/pages/metricsPages/metricsBuilderPage.js +++ b/tests/ui-testing/pages/metricsPages/metricsBuilderPage.js @@ -40,8 +40,8 @@ export class MetricsBuilderPage { this.addToDashboardButton = '[data-test="panel-editor-add-to-dashboard-btn"]'; this.dashboardDialogTitle = '[data-test="add-to-dashboard-dialog"]'; this.dashboardPanelTitleInput = '[data-test="metrics-new-dashboard-panel-title"]'; - this.dashboardCancelButton = '[data-test="add-to-dashboard-dialog"] [data-test="o-drawer-secondary-btn"]'; - this.dashboardAddButton = '[data-test="add-to-dashboard-dialog"] [data-test="o-drawer-primary-btn"]'; + this.dashboardCancelButton = '[data-test="add-to-dashboard-dialog"] [data-test="o-dialog-secondary-btn"]'; + this.dashboardAddButton = '[data-test="add-to-dashboard-dialog"] [data-test="o-dialog-primary-btn"]'; // Confirm dialog for mode switching — ConfirmDialog.vue wraps ODialog with // hardcoded data-test="confirm-dialog"; the OK action is the ODialog primary @@ -133,7 +133,7 @@ export class MetricsBuilderPage { this.newDashboardBtn = page.locator('[data-test="dashboard-dashboard-new-add"]'); this.newDashboardNameInput = page.locator('[data-test="add-dashboard-name"]'); this.newDashboardSubmitBtn = page.locator( - '[data-test="dashboard-dashboard-add-dialog"] [data-test="o-drawer-primary-btn"]' + '[data-test="dashboard-dashboard-add-dialog"] [data-test="o-dialog-primary-btn"]' ); this.newDashboardDialogEl = page.locator('[data-test="dashboard-dashboard-add-dialog"]'); @@ -970,7 +970,7 @@ export class MetricsBuilderPage { // click is a no-op and the drawer never closes. const enabled = await this.page.waitForFunction( () => { - const btn = document.querySelector('[data-test="add-to-dashboard-dialog"] [data-test="o-drawer-primary-btn"]'); + const btn = document.querySelector('[data-test="add-to-dashboard-dialog"] [data-test="o-dialog-primary-btn"]'); if (!btn) return false; if (btn.hasAttribute('disabled')) return false; if (btn.getAttribute('aria-disabled') === 'true') return false; diff --git a/tests/ui-testing/pages/reportsPages/reportFoldersPage.js b/tests/ui-testing/pages/reportsPages/reportFoldersPage.js index 42f29ca400..4d88c26ab3 100644 --- a/tests/ui-testing/pages/reportsPages/reportFoldersPage.js +++ b/tests/ui-testing/pages/reportsPages/reportFoldersPage.js @@ -25,10 +25,10 @@ export class ReportFoldersPage { this.folderNameInput = page.locator('[data-test="dashboard-folder-add-name-field"]'); this.folderDescInput = page.locator('[data-test="dashboard-folder-add-description-field"]'); this.folderSaveBtn = page.locator( - '[data-test="dashboard-folder-dialog"] [data-test="o-drawer-primary-btn"]' + '[data-test="dashboard-folder-dialog"] [data-test="o-dialog-primary-btn"]' ); this.folderCancelBtn = page.locator( - '[data-test="dashboard-folder-dialog"] [data-test="o-drawer-secondary-btn"]' + '[data-test="dashboard-folder-dialog"] [data-test="o-dialog-secondary-btn"]' ); // OFormInput surfaces validator errors via the inner OInput's // `-error` slot once `field.state.meta.isTouched` flips @@ -57,10 +57,10 @@ export class ReportFoldersPage { '[data-test="reports-index-dropdown-stream_type-popover"]' ); this.moveSubmitBtn = page.locator( - '[data-test="report-move-to-another-folder-dialog"] [data-test="o-drawer-primary-btn"]' + '[data-test="report-move-to-another-folder-dialog"] [data-test="o-dialog-primary-btn"]' ); this.moveCancelBtn = page.locator( - '[data-test="report-move-to-another-folder-dialog"] [data-test="o-drawer-secondary-btn"]' + '[data-test="report-move-to-another-folder-dialog"] [data-test="o-dialog-secondary-btn"]' ); // Report list diff --git a/web/src/components/actionScripts/ActionScripts.vue b/web/src/components/actionScripts/ActionScripts.vue index 3795a8b803..07629c2c50 100644 --- a/web/src/components/actionScripts/ActionScripts.vue +++ b/web/src/components/actionScripts/ActionScripts.vue @@ -162,8 +162,8 @@ along with this program. If not, see . :secondary-button-label="t('alerts.cancel')" :primary-button-label="t('alerts.save')" :primary-button-disabled="isSubmitting" + form-id="action-script-clone-form" @click:secondary="showForm = false" - @click:primary="submitForm" >