From ee50e460bb11f0b045d0f92616c08f32e8cd079f Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 26 Oct 2018 15:28:51 +0300 Subject: [PATCH 01/14] Feat: add sticky steps to allow targetless steps --- src/components/VStep.vue | 49 ++++++++++++++++++++++++++++++++-------- src/components/VTour.vue | 24 +++++++++++++++++++- src/shared/constants.js | 4 ++++ 3 files changed, 67 insertions(+), 10 deletions(-) diff --git a/src/components/VStep.vue b/src/components/VStep.vue index a7ceaf3..2d4b5ee 100644 --- a/src/components/VStep.vue +++ b/src/components/VStep.vue @@ -1,5 +1,5 @@ + + diff --git a/src/shared/constants.js b/src/shared/constants.js index eeca1a4..f4e3555 100644 --- a/src/shared/constants.js +++ b/src/shared/constants.js @@ -5,6 +5,10 @@ export const DEFAULT_CALLBACKS = { onStop: () => {} } +export const STICKY = { + ID: 'v-tour-sticky' +} + export const DEFAULT_OPTIONS = { useKeyboardNavigation: true, startTimeout: 0, From a4f8524bcaff559a452c22e38e898100ba825c35 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2020 01:02:01 +0000 Subject: [PATCH 02/14] chore(deps): bump lodash from 4.17.15 to 4.17.19 Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19) Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5671e5b..df9cd0d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9078,9 +9078,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, "lodash.defaultsdeep": { From 6be39c63d401c3957bec787857a7cf59d714f199 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 5 Sep 2020 04:56:57 +0000 Subject: [PATCH 03/14] chore(deps): bump http-proxy from 1.18.0 to 1.18.1 Bumps [http-proxy](https://github.com/http-party/node-http-proxy) from 1.18.0 to 1.18.1. - [Release notes](https://github.com/http-party/node-http-proxy/releases) - [Changelog](https://github.com/http-party/node-http-proxy/blob/master/CHANGELOG.md) - [Commits](https://github.com/http-party/node-http-proxy/compare/1.18.0...1.18.1) Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5671e5b..79a1d4f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7367,9 +7367,9 @@ "dev": true }, "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { "eventemitter3": "^4.0.0", From 817d7b355e2618ae7f4232a363d89f9bb7470297 Mon Sep 17 00:00:00 2001 From: SeanRParker Date: Thu, 29 Oct 2020 14:17:13 -0400 Subject: [PATCH 04/14] move keyups to start instead of mounted so callbacks can be triggered --- src/components/VTour.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/VTour.vue b/src/components/VTour.vue index 6a37689..4fd3907 100644 --- a/src/components/VTour.vue +++ b/src/components/VTour.vue @@ -71,10 +71,6 @@ export default { }, mounted () { this.$tours[this.name] = this - - if (this.customOptions.useKeyboardNavigation) { - window.addEventListener('keyup', this.handleKeyup) - } }, beforeDestroy () { // Remove the keyup listener if it has been defined @@ -120,6 +116,10 @@ export default { startStep = typeof startStep !== 'undefined' ? parseInt(startStep, 10) : 0 let step = this.steps[startStep] + if (this.customOptions.useKeyboardNavigation) { + window.addEventListener('keyup', this.handleKeyup) + } + let process = () => new Promise((resolve, reject) => { setTimeout(() => { this.customCallbacks.onStart() From fed1a1c4fe8d3987ed083c2d620d08d6d853ce1a Mon Sep 17 00:00:00 2001 From: SeanRParker Date: Thu, 29 Oct 2020 14:29:31 -0400 Subject: [PATCH 05/14] move keyup eventListener up in order --- src/components/VTour.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/VTour.vue b/src/components/VTour.vue index 4fd3907..978f295 100644 --- a/src/components/VTour.vue +++ b/src/components/VTour.vue @@ -113,13 +113,13 @@ export default { methods: { async start (startStep) { // Wait for the DOM to be loaded, then start the tour - startStep = typeof startStep !== 'undefined' ? parseInt(startStep, 10) : 0 - let step = this.steps[startStep] - if (this.customOptions.useKeyboardNavigation) { window.addEventListener('keyup', this.handleKeyup) } + startStep = typeof startStep !== 'undefined' ? parseInt(startStep, 10) : 0 + let step = this.steps[startStep] + let process = () => new Promise((resolve, reject) => { setTimeout(() => { this.customCallbacks.onStart() From 809514e9d3c2f6f8b3c70a3d1c6518b98493e7a3 Mon Sep 17 00:00:00 2001 From: SeanRParker Date: Thu, 29 Oct 2020 14:44:15 -0400 Subject: [PATCH 06/14] add handleKeyup to start process --- src/components/VTour.vue | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/components/VTour.vue b/src/components/VTour.vue index 978f295..ca1d507 100644 --- a/src/components/VTour.vue +++ b/src/components/VTour.vue @@ -113,15 +113,14 @@ export default { methods: { async start (startStep) { // Wait for the DOM to be loaded, then start the tour - if (this.customOptions.useKeyboardNavigation) { - window.addEventListener('keyup', this.handleKeyup) - } - startStep = typeof startStep !== 'undefined' ? parseInt(startStep, 10) : 0 let step = this.steps[startStep] let process = () => new Promise((resolve, reject) => { setTimeout(() => { + if (this.customOptions.useKeyboardNavigation) { + window.addEventListener('keyup', this.handleKeyup) + } this.customCallbacks.onStart() this.currentStep = startStep resolve() From 27a40401d979bd63bed57cc5fcea78d1398775f0 Mon Sep 17 00:00:00 2001 From: SeanRParker Date: Thu, 29 Oct 2020 14:58:44 -0400 Subject: [PATCH 07/14] add keyup to very end of start() --- src/components/VTour.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/VTour.vue b/src/components/VTour.vue index ca1d507..6388ee0 100644 --- a/src/components/VTour.vue +++ b/src/components/VTour.vue @@ -118,9 +118,6 @@ export default { let process = () => new Promise((resolve, reject) => { setTimeout(() => { - if (this.customOptions.useKeyboardNavigation) { - window.addEventListener('keyup', this.handleKeyup) - } this.customCallbacks.onStart() this.currentStep = startStep resolve() @@ -137,6 +134,10 @@ export default { await process() return Promise.resolve() + + if (this.customOptions.useKeyboardNavigation) { + window.addEventListener('keyup', this.handleKeyup) + } }, async previousStep () { let futureStep = this.currentStep - 1 From eddd06a9633cb25558978e19d11f22794020e08a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Mar 2021 17:53:29 +0000 Subject: [PATCH 08/14] chore(deps): bump elliptic from 6.5.2 to 6.5.4 Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.4) Signed-off-by: dependabot[bot] --- package-lock.json | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5671e5b..c06cd26 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5030,18 +5030,26 @@ "dev": true }, "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } } }, "emoji-regex": { From f42f6374e4cd071977c26a6f7ca27ddfe6ac840e Mon Sep 17 00:00:00 2001 From: Mathieu Morainville Date: Fri, 26 Mar 2021 23:26:16 +0100 Subject: [PATCH 09/14] fix: move the keyup listener before the return --- src/components/VTour.vue | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/components/VTour.vue b/src/components/VTour.vue index 6388ee0..b089126 100644 --- a/src/components/VTour.vue +++ b/src/components/VTour.vue @@ -112,6 +112,11 @@ export default { }, methods: { async start (startStep) { + // Register keyup listeners for this tour + if (this.customOptions.useKeyboardNavigation) { + window.addEventListener('keyup', this.handleKeyup) + } + // Wait for the DOM to be loaded, then start the tour startStep = typeof startStep !== 'undefined' ? parseInt(startStep, 10) : 0 let step = this.steps[startStep] @@ -134,10 +139,6 @@ export default { await process() return Promise.resolve() - - if (this.customOptions.useKeyboardNavigation) { - window.addEventListener('keyup', this.handleKeyup) - } }, async previousStep () { let futureStep = this.currentStep - 1 From 1777d08108e870f51f5416ccc608f6a6bbc78dc7 Mon Sep 17 00:00:00 2001 From: Mathieu Morainville Date: Sat, 27 Mar 2021 01:31:00 +0100 Subject: [PATCH 10/14] feat: add sticky step --- src/components/VStep.vue | 71 +++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 38 deletions(-) diff --git a/src/components/VStep.vue b/src/components/VStep.vue index e268809..c36a043 100644 --- a/src/components/VStep.vue +++ b/src/components/VStep.vue @@ -1,5 +1,5 @@