From 94cb55d613ecf545b80d129443fae24bb88493d9 Mon Sep 17 00:00:00 2001 From: "James R. Griffin III" <1443986+jrgriffiniii@users.noreply.github.com> Date: Thu, 22 Aug 2024 09:46:54 -0400 Subject: [PATCH] Refactoring the JavaScript used to confirm the license granted for a (#1910) dataset --- app/javascript/entrypoints/application.js | 2 ++ .../entrypoints/works_wizard_review.js | 32 +++++++++++++++++++ app/views/works_wizard/review.html.erb | 9 ------ 3 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 app/javascript/entrypoints/works_wizard_review.js diff --git a/app/javascript/entrypoints/application.js b/app/javascript/entrypoints/application.js index 8a370ed08..d198c8fcf 100644 --- a/app/javascript/entrypoints/application.js +++ b/app/javascript/entrypoints/application.js @@ -16,6 +16,7 @@ import './vendor/jquery-ui-triggeredAutocomplete'; import PdcUiLoader from './pdc/pdc_ui_loader.es6'; import WorksWizardPolicy from './works_wizard_policy'; +import WorksWizardReview from './works_wizard_review'; // If using a TypeScript entrypoint file: // <%= vite_typescript_tag 'application' %> @@ -44,6 +45,7 @@ function ready() { loader.run(); WorksWizardPolicy.bind('#agreement'); + WorksWizardReview.bind('#grant-button'); } // Must run the javascript loader on every page even if turbolinks loads it diff --git a/app/javascript/entrypoints/works_wizard_review.js b/app/javascript/entrypoints/works_wizard_review.js new file mode 100644 index 000000000..5bbeb784f --- /dev/null +++ b/app/javascript/entrypoints/works_wizard_review.js @@ -0,0 +1,32 @@ +class WorksWizardReview { + static bind(elementSelector) { + let built; + const root = document.querySelector(elementSelector); + + if (root) { + built = new WorksWizardReview(root); + } + + return built; + } + + static handleClick(event) { + const message = "You're about to grant license for this dataset. Are you sure?"; + const input = window.confirm(message); + + if (input === false) { + event.preventDefault(); + } + } + + constructor(root) { + this.root = root; + + if (this.root) { + const handleClick = WorksWizardReview.handleClick.bind(this); + this.root.addEventListener('click', handleClick); + } + } +} + +export default WorksWizardReview; diff --git a/app/views/works_wizard/review.html.erb b/app/views/works_wizard/review.html.erb index 7799c18b0..a16b730b0 100644 --- a/app/views/works_wizard/review.html.erb +++ b/app/views/works_wizard/review.html.erb @@ -18,12 +18,3 @@ <% end %> - \ No newline at end of file