module IHP.IDE.SchemaDesigner.View.EnumValues.Edit where
import IHP.ViewPrelude
import IHP.IDE.SchemaDesigner.Types
import IHP.IDE.ToolServer.Types
import IHP.IDE.SchemaDesigner.View.Layout
data EditEnumValueView = EditEnumValueView
{ statements :: [Statement]
, enumName :: Text
, valueId :: Int
, value :: Text
}
instance View EditEnumValueView where
html EditEnumValueView { .. } = [hsx|
{renderObjectSelector (zip [0..] statements) (Just enumName)}
{renderEnumSelector enumName (zip [0..] values)}
{migrationStatus}
{renderModal modal}
|]
where
enum = findStatementByName enumName statements
values = maybe [] (.values) enum
modalContent = [hsx|
|]
modalFooter = mempty
modalCloseUrl = pathTo ShowEnumAction { enumName }
modalTitle = "Edit Enum Value"
modal = Modal { modalContent, modalFooter, modalCloseUrl, modalTitle }