src/main/scala/fis/base/ui/EntitySnippet.scala
changeset 35 d77d8194ee59
parent 16 7be37d58997c
equal deleted inserted replaced
34:041c5c5d2bba 35:d77d8194ee59
    13  * See the License for the specific language governing permissions and
    13  * See the License for the specific language governing permissions and
    14  * limitations under the License.
    14  * limitations under the License.
    15  */
    15  */
    16 package fis.base.ui
    16 package fis.base.ui
    17 
    17 
       
    18 import fis.base.model.RecordCrud
    18 import net.liftweb.common._
    19 import net.liftweb.common._
    19 import net.liftweb.http._
    20 import net.liftweb.http._
       
    21 import net.liftweb.record._
    20 import net.liftweb.sitemap._
    22 import net.liftweb.sitemap._
    21 import net.liftweb.util._
    23 import net.liftweb.util._
    22 import net.liftweb.util.Helpers._
    24 import net.liftweb.util.Helpers._
    23 import net.tz.lift.snippet.{A, DataTable, LocTpl, TplPanel, SnippetHelpers}
    25 import net.tz.lift.snippet.{A, DataTable, LocTpl, TplPanel, SnippetHelpers}
    24 import scala.xml.{Elem, NodeSeq, Text}
    26 import scala.xml.{Elem, NodeSeq, Text}
    83   def deletePreMenu = Menu.param[T](prefix + ".delete", LinkText(titleDelete(_)),
    85   def deletePreMenu = Menu.param[T](prefix + ".delete", LinkText(titleDelete(_)),
    84     asEntity, _.id.toString) / prefix / * / "delete"
    86     asEntity, _.id.toString) / prefix / * / "delete"
    85   def deleteMenu = deletePreMenu >> LocTpl(tplDelete)
    87   def deleteMenu = deletePreMenu >> LocTpl(tplDelete)
    86 }
    88 }
    87 
    89 
    88 trait EntitySnippet[T <: KeyedRecord[Long]] extends SnippetHelpers with
    90 trait EntitySnippet[T <: Record[T] with KeyedRecord[Long]] extends
    89   CrudMenu[T] {
    91   RecordCrud[T] {
    90 
    92 
    91   object cur extends RequestVar[EntityLoc[T]](ListEntity[T]())
    93   def prefix: String
    92 
    94 
       
    95   protected object memo extends RequestMemoize[String, Box[T]]()
       
    96   lazy val parse = { id: String => memo(id, get(id)) }
       
    97   lazy val encode = { v: T => v.id.toString }
       
    98 
       
    99   val ADD = "add"
       
   100   val EDIT = "edit"
       
   101   val DELETE = "delete"
       
   102 
       
   103   /*
    93   def listsMenu = Menu(prefix + "s", titleList) / (prefix + "s") >>
   104   def listsMenu = Menu(prefix + "s", titleList) / (prefix + "s") >>
    94     EarlyResponse(() => Full(RedirectResponse("/" + prefix)))
   105     EarlyResponse(() => Full(RedirectResponse("/" + prefix)))
    95 
   106 
    96   lazy val menu: Menu = listsMenu submenus(
   107   lazy val menu: Menu = listsMenu submenus(
    97     listMenu, addMenu, showMenu, editMenu, deleteMenu
   108     listMenu, addMenu, showMenu, editMenu, deleteMenu
    98   )
   109   )
       
   110   */
    99 }
   111 }
   100 
   112 
   101 // vim: set ts=2 sw=2 et:
   113 // vim: set ts=2 sw=2 et: