diff --git a/cypress/e2e/digital-certificates/create-digital-certificate.cy.js b/cypress/e2e/digital-certificates/create-digital-certificate.cy.js index 55f911efb..2568f87a7 100644 --- a/cypress/e2e/digital-certificates/create-digital-certificate.cy.js +++ b/cypress/e2e/digital-certificates/create-digital-certificate.cy.js @@ -21,7 +21,11 @@ describe('Digital Certificates spec', { tags: ['@dev3'] }, () => { // Assert cy.verifyToast('success', 'Your digital certificate has been created!') cy.get(selectors.form.editPageTitle).should('have.text', 'Edit Digital Certificate') - cy.get(selectors.digitalCertificates.breadcrumbReturnToList).click() + cy.window().then((win) => { + const app = win.document.querySelector('#app').__vue_app__ + const router = app.config.globalProperties.$router + router.push('/digital-certificates') + }) cy.get(selectors.list.searchInput).clear() cy.intercept('GET', '/api/v4/digital_certificates/certificates*').as('getDigitalCertificates') cy.get(selectors.list.searchInput).type(`${digitalCertificateName}{enter}`) diff --git a/cypress/e2e/edge-services/edit-edge-service-resource.cy.js b/cypress/e2e/edge-services/edit-edge-service-resource.cy.js index 4dd3ddc29..3a052e7ed 100644 --- a/cypress/e2e/edge-services/edit-edge-service-resource.cy.js +++ b/cypress/e2e/edge-services/edit-edge-service-resource.cy.js @@ -49,7 +49,11 @@ describe('Edge Services spec', { tags: ['@dev6'] }, () => { cy.get(selectors.edgeServices.listRow('contentType')).should('have.text', 'Shell Script') cy.get(selectors.edgeServices.listRow('trigger')).should('have.text', 'Install') - cy.get(selectors.edgeServices.breadcrumbReturnToList).click() + cy.window().then((win) => { + const app = win.document.querySelector('#app').__vue_app__ + const router = app.config.globalProperties.$router + router.push('/edge-services') + }) //service cy.get(selectors.list.searchInput).type(`${fixtures.edgeServiceName}{enter}`) cy.get(selectors.edgeServices.listRow('name')).should('have.text', fixtures.edgeServiceName) @@ -84,7 +88,11 @@ describe('Edge Services spec', { tags: ['@dev6'] }, () => { cy.get(selectors.edgeServices.listRow('trigger')).should('be.empty') // Prepare for cleanup - cy.get(selectors.edgeServices.breadcrumbReturnToList).click() + cy.window().then((win) => { + const app = win.document.querySelector('#app').__vue_app__ + const router = app.config.globalProperties.$router + router.push('/edge-services') + }) cy.get(selectors.list.searchInput).type(`${fixtures.edgeServiceName}{enter}`) cy.get(selectors.edgeServices.listRow('labelActive')).should('have.text', 'Active') }) diff --git a/cypress/e2e/teams-permissions/create-team-view-permissions.cy.js b/cypress/e2e/teams-permissions/create-team-view-permissions.cy.js index 309a30f5b..be6933510 100644 --- a/cypress/e2e/teams-permissions/create-team-view-permissions.cy.js +++ b/cypress/e2e/teams-permissions/create-team-view-permissions.cy.js @@ -44,9 +44,11 @@ describe('Teams Permissions', { tags: ['@dev7'] }, () => { cy.get(selectors.teams.nameInput).type(teamsPermissionsName) viewPermissionsFixtures.forEach((permission) => { - cy.get(selectors.teams.permission(permission)).dblclick() + cy.get(selectors.teams.permission(permission)).click() }) + cy.get(selectors.teams.addOption).click() + cy.get(selectors.teams.sourceList).should('not.contain', 'View', { matchCase: false }) diff --git a/cypress/support/selectors/block-selectors/list-table-block.js b/cypress/support/selectors/block-selectors/list-table-block.js index 6eff0efc0..88f05ea8a 100644 --- a/cypress/support/selectors/block-selectors/list-table-block.js +++ b/cypress/support/selectors/block-selectors/list-table-block.js @@ -27,7 +27,7 @@ export default { option: (size) => `li.p-dropdown-item[aria-label="${size}"]` }, pageNumber: { - option: (page) => `button.p-paginator-page[aria-label="${page}"]` + option: (page) => `button.p-paginator-page[aria-label="Page ${page}"]` }, orderingHeader: { firstColumn: ':nth-child(1) > .p-column-header-content > [data-pc-section="sort"] > .p-icon' diff --git a/cypress/support/selectors/block-selectors/teams-block.js b/cypress/support/selectors/block-selectors/teams-block.js index 89a300e64..15c5ea299 100644 --- a/cypress/support/selectors/block-selectors/teams-block.js +++ b/cypress/support/selectors/block-selectors/teams-block.js @@ -12,5 +12,7 @@ export default { '[data-testid="teams-permissions-form__permissions-field-picklist__move-to-target-btn"]', permission: (permissionName) => `[data-testid="teams-permissions-form__permissions-field__picklist__item-${permissionName}"]`, - listRow: (rowName) => `[data-testid="list-table-block__column__${rowName}__row"]` + listRow: (rowName) => `[data-testid="list-table-block__column__${rowName}__row"]`, + addOption: + '[data-testid="teams-permissions-form__permissions-field-picklist__move-to-target-btn"]' } diff --git a/cypress/support/selectors/product-selectors/domains.js b/cypress/support/selectors/product-selectors/domains.js index b2ee8d34a..729b3e2b2 100644 --- a/cypress/support/selectors/product-selectors/domains.js +++ b/cypress/support/selectors/product-selectors/domains.js @@ -13,7 +13,7 @@ export default { createEdgeApplicationButton: '[data-testid="domains-form__create-edge-application-button"]', createEdgeFirewallButton: '[data-testid="domains-form__create-edge-firewall-button"]', edgeApplicationDrawer: '.p-sidebar-content', - dialogTitle: '[data-testid="domains-view__copy-domain-dialog__header-title"]', + dialogTitle: '.p-dialog-title', domainField: '[data-testid="domains-dialog__domain-field__input"]', digitalCertificateDropdownFilter: '[data-testid="domains-form__edge-certificate-field__dropdown-filter-input"]', @@ -26,13 +26,17 @@ export default { pageTitle: (entityName) => `[data-testid="page_title_${entityName}"]`, digitalCertificateFieldSelectedValue: ':nth-child(4) > [data-testid="field-dropdown__dropdown"] > .p-dropdown-label', - digitalCertificateDropdownSearch: '[data-testid="domains-form__digital-certificates-field__dropdown-search"]', + digitalCertificateDropdownSearch: + '[data-testid="domains-form__digital-certificates-field__dropdown-search"]', digitalCertificateDropdown: '[data-testid="domains-form__edge-certificate-field__dropdown"] > .p-dropdown-label', - digitalCertificateDropdownFilterSearch: '[data-testid="domains-form__edge-certificate-field__dropdown-search"]', - digitalCertificatesDropdownLetsEncrypt: '[data-testid="domains-form__digital-certificates-field__dropdown"] > .p-dropdown-label', + digitalCertificateDropdownFilterSearch: + '[data-testid="domains-form__edge-certificate-field__dropdown-search"]', + digitalCertificatesDropdownLetsEncrypt: + '[data-testid="domains-form__digital-certificates-field__dropdown"] > .p-dropdown-label', letsEncryptDropdownOption: '#edgeCertificate_1', - editPageTitle: '[data-testid="page-heading-block__breadcrumb__Edit Domain"] > .p-menuitem-link > .p-menuitem-text', + editPageTitle: + '[data-testid="page-heading-block__breadcrumb__Edit Domain"] > .p-menuitem-link > .p-menuitem-text', enableMtlsSwitch: '[data-testid="domains-form__mtls-is-enabled-field__switch"] > .p-inputswitch-slider', dropdownTrustedCA: @@ -49,7 +53,10 @@ export default { listTableBlockColumnNameRow: '[data-testid="list-table-block__column__name__row"]', listTableBlockColumnActiveRow: '[data-testid="list-table-block__column__active__row"] > .p-tag-value', - edgeApplicationSaveButton: '[data-testid="create-drawer-block__action-bar"] > [data-testid="form-actions-content"] > [data-testid="form-actions-buttons"] > [data-testid="form-actions-submit-button"] > .p-button-label', - edgeFirewallSaveButton: '[data-testid="edge-firewall-drawer__action-bar"] > [data-testid="form-actions-content"] > [data-testid="form-actions-buttons"] > [data-testid="form-actions-submit-button"] > .p-button-label', - edgeApplicationDropdownSearch: '[data-testid="domains-form__edge-application-field__dropdown-search"]' + edgeApplicationSaveButton: + '[data-testid="create-drawer-block__action-bar"] > [data-testid="form-actions-content"] > [data-testid="form-actions-buttons"] > [data-testid="form-actions-submit-button"] > .p-button-label', + edgeFirewallSaveButton: + '[data-testid="edge-firewall-drawer__action-bar"] > [data-testid="form-actions-content"] > [data-testid="form-actions-buttons"] > [data-testid="form-actions-submit-button"] > .p-button-label', + edgeApplicationDropdownSearch: + '[data-testid="domains-form__edge-application-field__dropdown-search"]' } diff --git a/package.json b/package.json index 40b69d091..69e6ecde8 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "pinia-plugin-persistedstate": "^3.2.0", "primeflex": "^3.3.1", "primeicons": "^7.0.0", - "primevue": "^3.35.0", + "primevue": "3.46.0", "qrcode.vue": "^3.4.1", "recaptcha-v3": "^1.10.0", "vee-validate": "^4.11.1", diff --git a/src/layout/components/menu-profile/index.vue b/src/layout/components/menu-profile/index.vue index ddfcaad61..38f2d4f49 100644 --- a/src/layout/components/menu-profile/index.vue +++ b/src/layout/components/menu-profile/index.vue @@ -301,6 +301,7 @@ import PrimeMenu from 'primevue/menu' import Sidebar from 'primevue/sidebar' import { useLoadingStore } from '@/stores/loading' + import { useRouter } from 'vue-router' defineOptions({ name: 'profile-block' }) const { startLoading } = useLoadingStore() @@ -308,25 +309,26 @@ const { currentTheme } = storeToRefs(useAccountStore()) const { hasAccessToSSOManagement } = storeToRefs(useAccountStore()) const setTheme = useAccountStore().setTheme + const router = useRouter() onBeforeMount(() => { switch (user.kind) { case 'brand': profileMenuDefault.push({ label: 'Resellers Management', - to: '/reseller/management' + command: () => navigateTo('/reseller/management') }) break case 'company': profileMenuDefault.push({ label: 'Groups Management', - to: '/group/management' + command: () => navigateTo('/group/management') }) break case 'reseller': profileMenuDefault.push({ label: 'Clients Management', - to: '/client/management' + command: () => navigateTo('/client/management') }) break } @@ -337,36 +339,36 @@ const profileMenuDefault = [ { label: 'Account Settings', - to: '/account/settings' + command: () => navigateTo('/account/settings') }, { label: 'Users Management', - to: '/users' + command: () => navigateTo('/users') }, { label: 'Billing & Subscriptions', - to: '/billing' + command: () => navigateTo('/billing') }, { label: 'Activity History', - to: '/activity-history' + command: () => navigateTo('/activity-history') }, { label: 'Teams Permissions', - to: '/teams-permission' + command: () => navigateTo('/teams-permission') }, ...(hasAccessToSSOManagement.value - ? [{ label: 'SSO Management', to: '/identity-providers' }] + ? [{ label: 'SSO Management', command: () => navigateTo('/identity-providers') }] : []) ] const profileMenuSettings = [ { label: 'Your Settings', - to: '/settings' + command: () => navigateTo('/settings') }, { label: 'Personal Token', - to: '/personal-tokens' + command: () => navigateTo('/personal-tokens') } ] const themeOptions = [ @@ -433,6 +435,12 @@ return [...switchAccount, ...profileMenuDefault, separator] }) + const navigateTo = (path) => { + router.push(path) + closeMobileMenu() + closeDesktopMenu() + } + watch(currentWidth, async (width) => { if (width <= SCREEN_BREAKPOINT_MD) { closeDesktopMenu() diff --git a/src/templates/add-payment-method-block/index.vue b/src/templates/add-payment-method-block/index.vue index eecff7444..72db01b0d 100644 --- a/src/templates/add-payment-method-block/index.vue +++ b/src/templates/add-payment-method-block/index.vue @@ -211,13 +211,15 @@ position="right" :pt="{ root: { class: 'max-w-4xl w-full' }, - headercontent: { class: 'flex justify-content-between items-center w-full pr-2' }, + header: { class: 'flex w-full' }, content: { class: 'p-8' } }" >
diff --git a/src/templates/create-drawer-block/index.vue b/src/templates/create-drawer-block/index.vue index 8ad4faa4f..7bb95a2a3 100644 --- a/src/templates/create-drawer-block/index.vue +++ b/src/templates/create-drawer-block/index.vue @@ -150,13 +150,15 @@ props.isOverlapped ? 'max-w-5xl' : 'max-w-4xl' }` }, - headercontent: { class: 'flex justify-content-between items-center w-full pr-2' }, + header: { class: 'flex w-full' }, content: { class: 'p-8' } }" >
diff --git a/src/templates/list-table-block/v2/index.vue b/src/templates/list-table-block/v2/index.vue index dc33618f2..b94a94b5c 100644 --- a/src/templates/list-table-block/v2/index.vue +++ b/src/templates/list-table-block/v2/index.vue @@ -23,7 +23,6 @@ :expandableRowGroups="expandableRowGroups" rowGroupMode="subheader" :groupRowsBy="props.groupColumn" - :sortField="props.groupColumn" sortMode="single" :rowClass="stateClassRules" :pt="{ diff --git a/src/templates/page-heading-block/index.vue b/src/templates/page-heading-block/index.vue index 591a52a53..40ef76813 100644 --- a/src/templates/page-heading-block/index.vue +++ b/src/templates/page-heading-block/index.vue @@ -34,9 +34,18 @@ const generateHomeBreadCrumb = computed(() => { return { label: 'Home', + command: () => router.push('/'), to: '/' } }) + + const convertBreadcrumbs = computed(() => { + return breadcrumbs.items.map((item) => ({ + ...item, + command: () => router.push(item.to) + })) + }) + const hasDefaultSlot = computed(() => { return !!slots.default }) @@ -48,7 +57,7 @@