diff --git a/app/javascript/retrospring/controllers/clipboard_controller.ts b/app/javascript/retrospring/controllers/clipboard_controller.ts new file mode 100644 index 00000000..63ee136e --- /dev/null +++ b/app/javascript/retrospring/controllers/clipboard_controller.ts @@ -0,0 +1,14 @@ +import { Controller } from "@hotwired/stimulus"; + +export default class extends Controller { + + static values = { + copy: String + } + + declare readonly copyValue: string; + + async copy(){ + await navigator.clipboard.writeText(this.copyValue) + } +} diff --git a/app/javascript/retrospring/initializers/stimulus.ts b/app/javascript/retrospring/initializers/stimulus.ts index 79116e3e..862b7fb9 100644 --- a/app/javascript/retrospring/initializers/stimulus.ts +++ b/app/javascript/retrospring/initializers/stimulus.ts @@ -14,6 +14,7 @@ import ToastController from "retrospring/controllers/toast_controller"; import PwaBadgeController from "retrospring/controllers/pwa_badge_controller"; import NavigationController from "retrospring/controllers/navigation_controller"; import ShareController from "retrospring/controllers/share_controller"; +import ClipboardController from "retrospring/controllers/clipboard_controller"; /** * This module sets up Stimulus and our controllers @@ -39,4 +40,5 @@ export default function (): void { window['Stimulus'].register('theme', ThemeController); window['Stimulus'].register('toast', ToastController); window['Stimulus'].register('share', ShareController); + window['Stimulus'].register('clipboard', ClipboardController) }