From f958514ba990622ba2f40be3d38c53e998f3bf96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9verin=20Beauvais?= Date: Fri, 30 Jun 2023 12:30:32 -0700 Subject: [PATCH] 16634 Implemented new actions menu + cleanup (#616) * - app version = 5.0.2 - imported latest shared enums - changed RequestCode to shared NrRequestActionCodes enum - fixed some whitespace and alignment - fixed some property/method visibilities - cleanup up Pick Request Type dialog (removed blurbs, reformatted layout, filtered items) - implemented new v-select with list items for nested menus - implemented NameType enum for extraprovincial / assumed names - updated RequestActions data structure to support nested groups (and new text, etc) - fixed mobile spacing above nav buttons - fixed mobile spacing above existing NR buttons - misc cleanup - deleted obsolete code * - fixed slot item variable issues * - renamed new enum - reverted declarations * - removed await from non-async function - fixed another property visibility issue - fixed up PickRequestType modal - implemented some unit tests - moved and renamed some unit tests - misc cleanup --- jest.config.js | 2 +- package-lock.json | 34 ++-- package.json | 4 +- src/components/common/applicant-info-2.vue | 7 +- src/components/common/applicant-info-3.vue | 17 +- src/components/common/applicant-info-nav.vue | 4 +- src/components/common/names-capture.vue | 14 +- .../dialogs/pick-entity-or-conversion.vue | 2 +- src/components/dialogs/pick-request-type.vue | 88 ++++---- .../existing-request-display.vue | 32 +-- .../existing-request/names-gray-box.vue | 2 +- .../new-request/name-check/name-check.vue | 1 - src/components/new-request/name-input.vue | 8 +- src/components/new-request/search.vue | 192 ++++++++++-------- .../entity-cannot-be-auto-analyzed.vue | 6 +- .../submit-request/reserve-submit.vue | 4 +- src/enums/index.ts | 8 +- src/enums/request-code.ts | 15 -- src/enums/xpro-name-type.ts | 20 ++ src/interfaces/models.ts | 22 +- src/interfaces/new-request-interface.ts | 4 +- src/list-data/conversion-types.ts | 10 +- src/list-data/request-action-mapping.ts | 10 +- src/list-data/request-actions.ts | 97 +++++---- src/main.ts | 2 +- src/mixins/common-mixin.ts | 24 +-- src/modules/payment/models.ts | 2 +- src/services/namex.services.ts | 10 +- src/store/actions.ts | 17 +- src/store/getters.ts | 72 ++++--- src/store/mutations.ts | 4 +- tests/{unit => }/setup.ts | 0 tests/unit/analyze-pending.spec.ts | 2 +- tests/unit/analyze-results.spec.ts | 2 +- tests/unit/applicant-info-1.spec.ts | 2 +- tests/unit/applicant-info-2.spec.ts | 2 +- .../nr-not-required.spec.ts} | 2 +- .../pick-entity-or-conversion.spec.ts} | 2 +- .../pick-request-type.spec.ts} | 48 +++-- ...og.spec.ts => staff-payment-error.spec.ts} | 2 +- tests/unit/landing.spec.ts | 2 +- tests/unit/link-row.spec.ts | 2 +- tests/unit/name-build-info.spec.ts | 2 +- tests/unit/name-input.spec.ts | 2 +- tests/unit/names-capture.spec.ts | 2 +- tests/unit/new-request-module.spec.ts | 2 +- tests/unit/new-search.spec.ts | 2 +- tests/unit/reserve-submit.spec.ts | 2 +- tests/unit/search-pending.spec.ts | 2 +- .../{new-request.spec.ts => search.spec.ts} | 2 +- 50 files changed, 452 insertions(+), 364 deletions(-) delete mode 100644 src/enums/request-code.ts create mode 100644 src/enums/xpro-name-type.ts rename tests/{unit => }/setup.ts (100%) rename tests/unit/{nr-required-modal.spec.ts => dialogs/nr-not-required.spec.ts} (96%) rename tests/unit/{pick-entity-modal.spec.ts => dialogs/pick-entity-or-conversion.spec.ts} (97%) rename tests/unit/{pick-request-type-modal.spec.ts => dialogs/pick-request-type.spec.ts} (53%) rename tests/unit/dialogs/{staff-payment-error-dialog.spec.ts => staff-payment-error.spec.ts} (98%) rename tests/unit/{new-request.spec.ts => search.spec.ts} (97%) diff --git a/jest.config.js b/jest.config.js index 2fac1807d..06918bfbf 100644 --- a/jest.config.js +++ b/jest.config.js @@ -7,7 +7,7 @@ module.exports = { } }, preset: '@vue/cli-plugin-unit-jest/presets/typescript-and-babel', - setupFiles: ['/tests/unit/setup.ts'], + setupFiles: ['/tests/setup.ts'], // notify: true, // notifyMode: 'always', transformIgnorePatterns: [] diff --git a/package-lock.json b/package-lock.json index a77c29a09..b72f5137b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "name-request", - "version": "5.0.1", + "version": "5.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "name-request", - "version": "5.0.1", + "version": "5.0.2", "dependencies": { "@babel/compat-data": "^7.12.13", - "@bcrs-shared-components/enums": "1.0.13", + "@bcrs-shared-components/enums": "1.0.40", "@bcrs-shared-components/genesys-web-message": "1.0.0", "@bcrs-shared-components/interfaces": "1.0.22", "@bcrs-shared-components/staff-payment": "1.0.29", @@ -1957,16 +1957,16 @@ } }, "node_modules/@bcrs-shared-components/corp-type-module": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/corp-type-module/-/corp-type-module-1.0.4.tgz", - "integrity": "sha512-709Wwso0HHH5q31+KUWW22uQyn/Qqz/y7paAg31EWcL70UhnWA2kAKHWJN3GC2IfTrcSjyKsVuvAB1R96b3jcA==" + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/corp-type-module/-/corp-type-module-1.0.12.tgz", + "integrity": "sha512-EjvsDDqysDKNJiJ3CFf3fRxoDmFoKDAO7yOr0kH0JcwWRALKiKhaQRnCKO+Ys726kMkgpQSQFfWiblgFBvcHSg==" }, "node_modules/@bcrs-shared-components/enums": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/enums/-/enums-1.0.13.tgz", - "integrity": "sha512-FsKZ0iHE1bQoyTQZsyWffRrpk9zkdBNps3qluGpYDzM1k/JQtGM4dVkQrsAb47/oBw6EG/SDiTYsEQeUY7J7qg==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/enums/-/enums-1.0.40.tgz", + "integrity": "sha512-7MzM3zMlj3dReWE6w5+FnUdJs2kSWyVUHVkw8gi/nLEsq/F8U6NBYr5lAE0IFR86Dw2SqW+JwW23WqEhANkuNA==", "dependencies": { - "@bcrs-shared-components/corp-type-module": "^1.0.4" + "@bcrs-shared-components/corp-type-module": "^1.0.12" } }, "node_modules/@bcrs-shared-components/folio-number-input": { @@ -27137,16 +27137,16 @@ } }, "@bcrs-shared-components/corp-type-module": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/corp-type-module/-/corp-type-module-1.0.4.tgz", - "integrity": "sha512-709Wwso0HHH5q31+KUWW22uQyn/Qqz/y7paAg31EWcL70UhnWA2kAKHWJN3GC2IfTrcSjyKsVuvAB1R96b3jcA==" + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/corp-type-module/-/corp-type-module-1.0.12.tgz", + "integrity": "sha512-EjvsDDqysDKNJiJ3CFf3fRxoDmFoKDAO7yOr0kH0JcwWRALKiKhaQRnCKO+Ys726kMkgpQSQFfWiblgFBvcHSg==" }, "@bcrs-shared-components/enums": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/enums/-/enums-1.0.13.tgz", - "integrity": "sha512-FsKZ0iHE1bQoyTQZsyWffRrpk9zkdBNps3qluGpYDzM1k/JQtGM4dVkQrsAb47/oBw6EG/SDiTYsEQeUY7J7qg==", + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/enums/-/enums-1.0.40.tgz", + "integrity": "sha512-7MzM3zMlj3dReWE6w5+FnUdJs2kSWyVUHVkw8gi/nLEsq/F8U6NBYr5lAE0IFR86Dw2SqW+JwW23WqEhANkuNA==", "requires": { - "@bcrs-shared-components/corp-type-module": "^1.0.4" + "@bcrs-shared-components/corp-type-module": "^1.0.12" } }, "@bcrs-shared-components/folio-number-input": { diff --git a/package.json b/package.json index 4bb7038b7..08e36d50d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "name-request", - "version": "5.0.1", + "version": "5.0.2", "private": true, "appName": "Name Request UI", "sbcName": "SBC Common Components", @@ -14,7 +14,7 @@ }, "dependencies": { "@babel/compat-data": "^7.12.13", - "@bcrs-shared-components/enums": "1.0.13", + "@bcrs-shared-components/enums": "1.0.40", "@bcrs-shared-components/genesys-web-message": "1.0.0", "@bcrs-shared-components/interfaces": "1.0.22", "@bcrs-shared-components/staff-payment": "1.0.29", diff --git a/src/components/common/applicant-info-2.vue b/src/components/common/applicant-info-2.vue index 0a8856b76..8328fa988 100644 --- a/src/components/common/applicant-info-2.vue +++ b/src/components/common/applicant-info-2.vue @@ -201,6 +201,7 @@ + @@ -213,7 +214,7 @@ import ApplicantInfoNav from '@/components/common/applicant-info-nav.vue' import { Action, Getter } from 'vuex-class' import { ApplicantI } from '@/interfaces' import { ActionBindingIF } from '@/interfaces/store-interfaces' -import { CorpNumRequests, NrState, RequestCode } from '@/enums' +import { CorpNumRequests, NrRequestActionCodes, NrState } from '@/enums' import { GetFeatureFlag } from '@/plugins' @Component({ @@ -229,7 +230,7 @@ export default class ApplicantInfo2 extends Vue { @Getter getEditMode!: boolean @Getter getNrData!: any @Getter getNrState!: string - @Getter getRequestActionCd!: RequestCode + @Getter getRequestActionCd!: NrRequestActionCodes @Getter getShowPriorityRequest!: boolean @Getter getShowCorpNum!: string @Getter isMobile!: boolean @@ -292,7 +293,7 @@ export default class ApplicantInfo2 extends Vue { mounted () { // Apply optional corpNum validations for Amalgamations as they are NOT a required field but require COLIN lookup. - if (this.getRequestActionCd === RequestCode.AML) { + if (this.getRequestActionCd === NrRequestActionCodes.AMALGAMATE) { this.corpNumFieldLabel += ' (Optional)' this.corpNumRules = [ v => (!v || v.length > 3) || 'Must be at least 4 characters' diff --git a/src/components/common/applicant-info-3.vue b/src/components/common/applicant-info-3.vue index 772d8e974..e064988b7 100644 --- a/src/components/common/applicant-info-3.vue +++ b/src/components/common/applicant-info-3.vue @@ -31,6 +31,7 @@ + + Client + + + About The Business + + + + + + @@ -248,7 +259,7 @@ import ApplicantInfoNav from '@/components/common/applicant-info-nav.vue' import { FolioNumberInput } from '@bcrs-shared-components/folio-number-input' import { ApplicantI, SubmissionTypeT } from '@/interfaces' import { ActionBindingIF } from '@/interfaces/store-interfaces' -import { CorpNumRequests, Location, NrState, RequestCode } from '@/enums' +import { CorpNumRequests, Location, NrRequestActionCodes, NrState } from '@/enums' import { GetFeatureFlag } from '@/plugins' @Component({ @@ -266,7 +277,7 @@ export default class ApplicantInfo3 extends Vue { @Getter getLocation!: Location @Getter getNrData!: any @Getter getNrState!: string - @Getter getRequestActionCd!: RequestCode + @Getter getRequestActionCd!: NrRequestActionCodes @Getter getShowPriorityRequest!: boolean @Getter getShowCorpNum!: string @Getter getSubmissionType!: SubmissionTypeT @@ -333,7 +344,7 @@ export default class ApplicantInfo3 extends Vue { mounted () { // Apply optional corpNum validations for Amalgamations as they are NOT a required field but require COLIN lookup. - if (this.getRequestActionCd === RequestCode.AML) { + if (this.getRequestActionCd === NrRequestActionCodes.AMALGAMATE) { this.corpNumFieldLabel += ' (Optional)' this.corpNumRules = [ v => (!v || v.length > 3) || 'Must be at least 4 characters' diff --git a/src/components/common/applicant-info-nav.vue b/src/components/common/applicant-info-nav.vue index 2bab28ce0..708bb46ab 100644 --- a/src/components/common/applicant-info-nav.vue +++ b/src/components/common/applicant-info-nav.vue @@ -1,5 +1,5 @@