From 0070db5e78578ca98beed450b8efb78cfc17763a Mon Sep 17 00:00:00 2001 From: wandji20 Date: Tue, 27 Feb 2024 13:03:41 +0100 Subject: [PATCH] Add micro-interactions on the revamped modals [SCI-10265] --- app/assets/stylesheets/tailwind/buttons.css | 10 +- .../vue/experiments/modals/duplicate.vue | 42 ++++---- .../vue/experiments/modals/edit.vue | 61 ++++++----- .../vue/experiments/modals/move.vue | 44 ++++---- app/javascript/vue/experiments/modals/new.vue | 60 ++++++----- app/javascript/vue/my_modules/modals/edit.vue | 46 ++++---- app/javascript/vue/my_modules/modals/move.vue | 42 ++++---- app/javascript/vue/my_modules/modals/new.vue | 102 +++++++++--------- app/javascript/vue/projects/modals/edit.vue | 68 ++++++------ .../vue/projects/modals/edit_folder.vue | 48 +++++---- app/javascript/vue/projects/modals/move.vue | 71 ++++++------ .../vue/projects/modals/move_tree.vue | 2 +- app/javascript/vue/projects/modals/new.vue | 74 +++++++------ .../vue/projects/modals/new_folder.vue | 48 +++++---- app/javascript/vue/protocols/modals/new.vue | 70 ++++++------ .../vue/repositories/modals/duplicate.vue | 48 +++++---- .../vue/repositories/modals/edit.vue | 48 +++++---- .../vue/repositories/modals/new.vue | 50 ++++----- .../vue/shared/access_modal/assign_flyout.vue | 4 + app/javascript/vue/shared/modal_mixin.js | 1 + 20 files changed, 493 insertions(+), 446 deletions(-) diff --git a/app/assets/stylesheets/tailwind/buttons.css b/app/assets/stylesheets/tailwind/buttons.css index 1dd96b8c8..823481e12 100644 --- a/app/assets/stylesheets/tailwind/buttons.css +++ b/app/assets/stylesheets/tailwind/buttons.css @@ -59,7 +59,9 @@ } .btn.btn-primary:hover, - .btn.btn-success:hover{ + .btn.btn-success:hover, + .btn.btn-primary:focus, + .btn.btn-success:focus{ @apply bg-sn-blue-hover text-sn-white; } @@ -80,7 +82,8 @@ } .btn.btn-secondary:hover, - .btn.btn-default:hover { + .btn.btn-default:hover, + .btn.btn-secondary:focus { @apply border-sn-blue-hover; } @@ -129,7 +132,8 @@ @apply bg-sn-delete-red text-sn-white; } - .btn.btn-danger:hover { + .btn.btn-danger:hover, + .btn.btn-danger:focus { @apply bg-sn-delete-red-hover; } diff --git a/app/javascript/vue/experiments/modals/duplicate.vue b/app/javascript/vue/experiments/modals/duplicate.vue index 63334804f..709041948 100644 --- a/app/javascript/vue/experiments/modals/duplicate.vue +++ b/app/javascript/vue/experiments/modals/duplicate.vue @@ -1,27 +1,29 @@ diff --git a/app/javascript/vue/experiments/modals/edit.vue b/app/javascript/vue/experiments/modals/edit.vue index ee35c3aee..0fd1fda13 100644 --- a/app/javascript/vue/experiments/modals/edit.vue +++ b/app/javascript/vue/experiments/modals/edit.vue @@ -1,38 +1,41 @@ diff --git a/app/javascript/vue/experiments/modals/move.vue b/app/javascript/vue/experiments/modals/move.vue index 6782f692e..24ad58269 100644 --- a/app/javascript/vue/experiments/modals/move.vue +++ b/app/javascript/vue/experiments/modals/move.vue @@ -1,28 +1,30 @@ diff --git a/app/javascript/vue/experiments/modals/new.vue b/app/javascript/vue/experiments/modals/new.vue index d0ecb5552..b95c6e1e8 100644 --- a/app/javascript/vue/experiments/modals/new.vue +++ b/app/javascript/vue/experiments/modals/new.vue @@ -1,38 +1,40 @@ diff --git a/app/javascript/vue/my_modules/modals/edit.vue b/app/javascript/vue/my_modules/modals/edit.vue index b59d54bd1..394b8e6cd 100644 --- a/app/javascript/vue/my_modules/modals/edit.vue +++ b/app/javascript/vue/my_modules/modals/edit.vue @@ -1,30 +1,32 @@ diff --git a/app/javascript/vue/my_modules/modals/move.vue b/app/javascript/vue/my_modules/modals/move.vue index d0debf929..1a44aeb89 100644 --- a/app/javascript/vue/my_modules/modals/move.vue +++ b/app/javascript/vue/my_modules/modals/move.vue @@ -1,27 +1,29 @@ diff --git a/app/javascript/vue/my_modules/modals/new.vue b/app/javascript/vue/my_modules/modals/new.vue index 2b544810a..3bd7af852 100644 --- a/app/javascript/vue/my_modules/modals/new.vue +++ b/app/javascript/vue/my_modules/modals/new.vue @@ -1,69 +1,71 @@ diff --git a/app/javascript/vue/projects/modals/edit.vue b/app/javascript/vue/projects/modals/edit.vue index ddd19c3b5..aea279d1d 100644 --- a/app/javascript/vue/projects/modals/edit.vue +++ b/app/javascript/vue/projects/modals/edit.vue @@ -1,43 +1,45 @@ diff --git a/app/javascript/vue/projects/modals/edit_folder.vue b/app/javascript/vue/projects/modals/edit_folder.vue index f6a78cb9e..4c0afa8fa 100644 --- a/app/javascript/vue/projects/modals/edit_folder.vue +++ b/app/javascript/vue/projects/modals/edit_folder.vue @@ -1,32 +1,34 @@ diff --git a/app/javascript/vue/projects/modals/move.vue b/app/javascript/vue/projects/modals/move.vue index 34e622b0a..08eaa66ab 100644 --- a/app/javascript/vue/projects/modals/move.vue +++ b/app/javascript/vue/projects/modals/move.vue @@ -1,44 +1,47 @@ diff --git a/app/javascript/vue/projects/modals/move_tree.vue b/app/javascript/vue/projects/modals/move_tree.vue index 2a9cbd613..8a91cb5d0 100644 --- a/app/javascript/vue/projects/modals/move_tree.vue +++ b/app/javascript/vue/projects/modals/move_tree.vue @@ -1,5 +1,5 @@ @@ -66,10 +69,12 @@ export default { visible: false, defaultRole: null, error: null, + disableSubmit: false }; }, methods: { submit() { + this.disableSubmit = true; axios.post(this.createUrl, { project: { name: this.name, @@ -83,6 +88,7 @@ export default { }).catch((error) => { this.error = error.response.data.name; }); + this.disableSubmit = false; }, changeRole(role) { this.defaultRole = role; diff --git a/app/javascript/vue/projects/modals/new_folder.vue b/app/javascript/vue/projects/modals/new_folder.vue index a5303ad0f..470b9add5 100644 --- a/app/javascript/vue/projects/modals/new_folder.vue +++ b/app/javascript/vue/projects/modals/new_folder.vue @@ -1,32 +1,34 @@ diff --git a/app/javascript/vue/protocols/modals/new.vue b/app/javascript/vue/protocols/modals/new.vue index d9ccd297b..467b34750 100644 --- a/app/javascript/vue/protocols/modals/new.vue +++ b/app/javascript/vue/protocols/modals/new.vue @@ -1,44 +1,46 @@ diff --git a/app/javascript/vue/repositories/modals/duplicate.vue b/app/javascript/vue/repositories/modals/duplicate.vue index acaa1327c..db2f5c644 100644 --- a/app/javascript/vue/repositories/modals/duplicate.vue +++ b/app/javascript/vue/repositories/modals/duplicate.vue @@ -1,32 +1,34 @@ diff --git a/app/javascript/vue/repositories/modals/edit.vue b/app/javascript/vue/repositories/modals/edit.vue index e159cf3e3..4950fed91 100644 --- a/app/javascript/vue/repositories/modals/edit.vue +++ b/app/javascript/vue/repositories/modals/edit.vue @@ -1,32 +1,34 @@ diff --git a/app/javascript/vue/repositories/modals/new.vue b/app/javascript/vue/repositories/modals/new.vue index d7e11b033..4fae523f7 100644 --- a/app/javascript/vue/repositories/modals/new.vue +++ b/app/javascript/vue/repositories/modals/new.vue @@ -1,33 +1,35 @@ diff --git a/app/javascript/vue/shared/access_modal/assign_flyout.vue b/app/javascript/vue/shared/access_modal/assign_flyout.vue index a645e2bab..abecbd866 100644 --- a/app/javascript/vue/shared/access_modal/assign_flyout.vue +++ b/app/javascript/vue/shared/access_modal/assign_flyout.vue @@ -8,6 +8,7 @@
@@ -80,6 +81,9 @@ export default { mounted() { this.getUnAssignedUsers(); this.getRoles(); + this.$nextTick(() => { + this.$refs.input?.focus(); + }); }, components: { MenuDropdown, diff --git a/app/javascript/vue/shared/modal_mixin.js b/app/javascript/vue/shared/modal_mixin.js index 9eaa3fdfc..3461c87ea 100644 --- a/app/javascript/vue/shared/modal_mixin.js +++ b/app/javascript/vue/shared/modal_mixin.js @@ -1,6 +1,7 @@ export default { mounted() { $(this.$refs.modal).modal('show'); + this.$refs.input?.focus(); $(this.$refs.modal).on('hidden.bs.modal', () => { this.$emit('close'); });