Вместо этого следует использовать ValueTemplate
, это обеспечивает текущее проанализированное значение параметра.
Код ниже не проверен, но вы должны понять:
def remote = Menu.param[Point]("Test1", "remote",
id => inTransaction(Points.lookup(id)), _.id) / "point" / * / "remote" >>
Loc.ValueTemplate(point => point match
case Full(p) if p.Kind.remote => Templates("point" :: "remote" :: Nil).openOr(Nil))
case Full(p) if p.Kind.otherremote => Templates("point" :: "otherremote" :: Nil).openOr(Nil))
case _ => NodeSeq.Empty
) >> Hidden