module IHP.IDE.Data.View.EditValue where import IHP.ViewPrelude import IHP.IDE.ToolServer.Types import IHP.IDE.Data.View.ShowDatabase import IHP.IDE.Data.View.Layout import Data.Maybe data EditValueView = EditValueView { tableNames :: [Text] , tableName :: Text , rows :: [[DynamicField]] , targetName :: Text , targetId :: Text } instance View EditValueView where html EditValueView { .. } = [hsx|
{headerNav}
{renderTableSelector tableNames tableName}
{renderRows rows tableBody tableName}
Press Enter to save your changes or click somewhere else to discard them.
{script} |] where tableBody = [hsx|{forEach rows renderRow}|] renderRow fields = [hsx| contextMenuId <> "');"}>{forEach fields (renderField id)} |] where contextMenuId = "context-menu-column-" <> tshow id id = (cs (fromMaybe "" ((fromJust (headMay fields)).fieldValue))) renderField id DynamicField { .. } | (tshow targetName) == (tshow fieldName) && targetId == id = [hsx|
|] renderField id DynamicField { .. } | fieldName == "id" = [hsx|{renderId (sqlValueToText fieldValue)}|] renderField id DynamicField { .. } = [hsx|{sqlValueToText fieldValue}|] script = preEscapedToHtml [plain| |]