62 lines
2.4 KiB
Plaintext
62 lines
2.4 KiB
Plaintext
// Sample Masonry application demonstrating the language features
|
|
entity User {
|
|
name: string required
|
|
email: string required unique
|
|
age: number
|
|
role: string default "user"
|
|
password: string required
|
|
}
|
|
|
|
page UserDashboard at "/dashboard" layout main title "User Dashboard" {
|
|
meta description "User management dashboard"
|
|
meta keywords "user, dashboard, management"
|
|
|
|
section header type container class "header" {
|
|
component nav {
|
|
field logo type text value "MyApp"
|
|
button profile label "Profile"
|
|
button logout label "Logout"
|
|
}
|
|
}
|
|
|
|
section content type tab {
|
|
section users label "Users" active {
|
|
component table for User {
|
|
field name type text label "Full Name" sortable searchable
|
|
field email type email label "Email Address" sortable
|
|
field role type select options ["admin", "user", "moderator"]
|
|
button edit label "Edit"
|
|
button delete label "Delete"
|
|
}
|
|
}
|
|
|
|
section settings label "Settings" {
|
|
component form for User {
|
|
field name type text label "Full Name" required placeholder "Enter your name"
|
|
field email type email label "Email" required placeholder "Enter your email"
|
|
field age type number label "Age" placeholder "Enter your age"
|
|
field role type select label "Role" options ["admin", "user", "moderator"] default "user"
|
|
field password type password label "Password" required
|
|
|
|
when role equals "admin" {
|
|
field permissions type select label "Admin Permissions" options ["read", "write", "delete"]
|
|
}
|
|
|
|
button save label "Save Changes"
|
|
button cancel label "Cancel"
|
|
}
|
|
}
|
|
|
|
section profile label "Profile" {
|
|
component form {
|
|
field avatar type file label "Profile Picture" accept ".jpg,.png"
|
|
field bio type textarea label "Biography" rows 4 placeholder "Tell us about yourself"
|
|
field theme type select label "Theme" options ["light", "dark"] default "light"
|
|
field notifications type checkbox label "Enable Notifications" default "true"
|
|
|
|
button update label "Update Profile"
|
|
}
|
|
}
|
|
}
|
|
}
|