|
3
|
1 |
/*
|
|
|
2 |
* Copyright ...
|
|
|
3 |
*/
|
|
|
4 |
package example
|
|
|
5 |
|
|
|
6 |
import net.liftweb.common._
|
|
|
7 |
import net.liftweb.mapper._
|
|
|
8 |
|
|
|
9 |
/**
|
|
|
10 |
* Mixin into mapper
|
|
|
11 |
*/
|
|
|
12 |
trait Named { self: BaseMapper =>
|
|
|
13 |
object name extends MappedPoliteString[MapperType](
|
|
|
14 |
this.asInstanceOf[MapperType], 40) {
|
|
|
15 |
|
|
|
16 |
override def displayName = "Name"
|
|
|
17 |
|
|
|
18 |
import net.liftweb.util.Helpers._
|
|
|
19 |
override def toForm = super.toForm map { _ % ("class" -> "text") }
|
|
|
20 |
}
|
|
|
21 |
}
|
|
|
22 |
|
|
|
23 |
object Example extends Example with LongKeyedMetaMapper[Example]
|
|
|
24 |
with LongCRUDify[Example] {
|
|
|
25 |
|
|
|
26 |
override def dbTableName = "..."
|
|
|
27 |
|
|
|
28 |
override def validation = validateSomething _ :: super.validation
|
|
|
29 |
|
|
|
30 |
def validateSomething(v: Example): List[FieldError] = ...
|
|
|
31 |
|
|
|
32 |
override def afterSave = ...
|
|
|
33 |
|
|
|
34 |
override def fieldOrder = List(...)
|
|
|
35 |
override def fieldsForList = List(...)
|
|
|
36 |
}
|
|
|
37 |
|
|
|
38 |
class Example extends LongKeyedMapper[Example] with IdPK
|
|
|
39 |
with CreatedUpdated with Named with OneToMany[Long, Example] {
|
|
|
40 |
|
|
|
41 |
def getSingleton = Example
|
|
|
42 |
|
|
|
43 |
object children extends MappedOneToMany[Child](Child, Child.parent)
|
|
|
44 |
with Cascade[Child]
|
|
|
45 |
|
|
|
46 |
object stringField extends MappedString(this, 40)
|
|
|
47 |
|
|
|
48 |
object longField extends MappedLong(this)
|
|
|
49 |
|
|
|
50 |
object textField extends MappedTextarea(this, 4096) {
|
|
|
51 |
override def defaultValue = ""
|
|
|
52 |
override def setFilter = crop _ :: super.setFilter
|
|
|
53 |
}
|
|
|
54 |
|
|
|
55 |
override def formFields = List(..)
|
|
|
56 |
}
|
|
|
57 |
|
|
|
58 |
// vim: set ts=2 sw=2 et:
|