|
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: |