Events.purs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. module PureTabs.Model.Events (
  2. BackgroundEvent(..)
  3. , SidebarEvent(..)
  4. ) where
  5. import Browser.Tabs (Tab, TabId, WindowId)
  6. import Browser.Tabs.OnUpdated (ChangeInfo)
  7. import Data.Generic.Rep (class Generic)
  8. import Data.Generic.Rep.Show (genericShow)
  9. import Data.Maybe (Maybe)
  10. import Data.Show (class Show)
  11. data BackgroundEvent
  12. = BgInitialTabList (Array Tab)
  13. | BgTabCreated Tab
  14. | BgTabDeleted TabId
  15. | BgTabUpdated TabId ChangeInfo Tab
  16. | BgTabMoved TabId Int Int
  17. | BgTabActivated (Maybe TabId) TabId
  18. | BgTabAttached Tab
  19. | BgTabDetached TabId
  20. derive instance genBackgroundEvent :: Generic BackgroundEvent _
  21. instance showBackgroundEvent :: Show BackgroundEvent where
  22. show = genericShow
  23. data SidebarEvent
  24. = SbDeleteTab TabId
  25. | SbActivateTab TabId
  26. | SbCreateTab (Maybe TabId)
  27. | SbMoveTab TabId Int
  28. | SbDetacheTab
  29. | SbCreatedGroup
  30. | SbDeleteGroup
  31. | SbRenameGroup
  32. | SbHasWindowId WindowId
  33. | SbSelectedGroup (Array TabId)
  34. derive instance genSidebarEvent :: Generic SidebarEvent _
  35. instance showSidebarEvent :: Show SidebarEvent where
  36. show = genericShow