34 lines
886 B
Haskell
34 lines
886 B
Haskell
{-# OPTIONS_GHC -fno-warn-orphans #-}
|
|
module Foundation.Instances.ButtonClass (ButtonClass(..)) where
|
|
|
|
import Import.NoFoundation
|
|
|
|
import Utils.Form
|
|
import Foundation.Type
|
|
import qualified Data.List as List
|
|
|
|
-- instance RenderMessage UniWorX ButtonSubmit
|
|
import Foundation.I18n ()
|
|
|
|
|
|
data instance ButtonClass UniWorX
|
|
= BCIsButton
|
|
| BCDefault
|
|
| BCPrimary
|
|
| BCSuccess
|
|
| BCInfo
|
|
| BCWarning
|
|
| BCDanger
|
|
| BCLink
|
|
| BCMassInputAdd | BCMassInputDelete
|
|
deriving (Enum, Eq, Ord, Bounded, Read, Show, Generic, Typeable)
|
|
deriving anyclass (Universe, Finite)
|
|
|
|
instance PathPiece (ButtonClass UniWorX) where
|
|
toPathPiece BCIsButton = "btn"
|
|
toPathPiece bClass = ("btn-" <>) . camelToPathPiece' 1 $ tshow bClass
|
|
fromPathPiece = flip List.lookup $ map (toPathPiece &&& id) universeF
|
|
|
|
instance Button UniWorX ButtonSubmit where
|
|
btnClasses BtnSubmit = [BCIsButton, BCPrimary]
|