module IHP.IDE.SchemaDesigner.View.Columns.EditForeignKey where import IHP.ViewPrelude import IHP.IDE.SchemaDesigner.Types import IHP.IDE.ToolServer.Types import IHP.IDE.SchemaDesigner.View.Layout data EditForeignKeyView = EditForeignKeyView { statements :: [Statement] , tableName :: Text , columnName :: Text , tableNames :: [Text] , referenceTable :: Text , constraintName :: Text , onDelete :: Text } instance View EditForeignKeyView where html EditForeignKeyView { .. } = [hsx|
{renderObjectSelector (zip [0..] statements) (Just tableName)} {renderColumnSelector tableName (zip [0..] columns) statements}
{migrationStatus} {renderModal modal} |] where table = findStatementByName tableName statements columns = maybe [] ((.columns) . unsafeGetCreateTable) table modalContent = [hsx|
{select2} |] where renderTableNameSelector tableName = if tableName == referenceTable then preEscapedToHtml [plain||] else preEscapedToHtml [plain||] onDeleteSelector option = if option == onDelete then preEscapedToHtml [plain||] else preEscapedToHtml [plain||] select2 = preEscapedToHtml [plain| |] modalFooter = mempty modalCloseUrl = pathTo ShowTableAction { tableName } modalTitle = "Edit Foreign Key Constraint" modal = Modal { modalContent, modalFooter, modalCloseUrl, modalTitle }