- RelationContract gains Kind (empty is belongsToMany) and ForeignKey, with kind-aware boot checks
- manage.form, view.form and pivot.form compile against the related or pivot model; $/ paths resolve inside the plugin
- view toolbarButtons accept create|update|delete|link|unlink, each the capability of its routes
- POST .../relations/{name}/records creates a child through the manage form; the server sets the hasMany key
- relation schema carries kind, deferrable and the localized forms; 17 new relation message keys in en and pl
136 lines
2.9 KiB
JSON
136 lines
2.9 KiB
JSON
{
|
|
"data": {
|
|
"name": "members",
|
|
"label": "Members",
|
|
"kind": "belongsToMany",
|
|
"deferrable": true,
|
|
"view": {
|
|
"list": {
|
|
"columns": [
|
|
{
|
|
"key": "name",
|
|
"label": "Name",
|
|
"searchable": true,
|
|
"sortable": true
|
|
},
|
|
{
|
|
"key": "email",
|
|
"label": "E-mail",
|
|
"searchable": true,
|
|
"sortable": true
|
|
}
|
|
]
|
|
},
|
|
"toolbarButtons": [
|
|
"link",
|
|
"unlink"
|
|
],
|
|
"showSearch": true
|
|
},
|
|
"manage": {
|
|
"list": {
|
|
"columns": [
|
|
{
|
|
"key": "name",
|
|
"label": "Name",
|
|
"searchable": true,
|
|
"sortable": true
|
|
},
|
|
{
|
|
"key": "email",
|
|
"label": "E-mail",
|
|
"searchable": true,
|
|
"sortable": true
|
|
}
|
|
]
|
|
},
|
|
"toolbarButtons": [],
|
|
"showSearch": true
|
|
},
|
|
"messages": {
|
|
"link": {
|
|
"other": "Add member"
|
|
},
|
|
"linkHint": {
|
|
"other": "Pick people who are not members yet. The owner is not listed."
|
|
},
|
|
"candidateSearch": {
|
|
"other": "Search by name or email…"
|
|
},
|
|
"linked": {
|
|
"one": "Added :count member",
|
|
"other": "Added :count members"
|
|
},
|
|
"unlinkSelected": {
|
|
"other": "Remove selected"
|
|
},
|
|
"unlinkConfirm": {
|
|
"one": "Remove :count member?",
|
|
"other": "Remove :count members?"
|
|
},
|
|
"unlinked": {
|
|
"one": "Removed :count member",
|
|
"other": "Removed :count members"
|
|
},
|
|
"empty": {
|
|
"other": "This widget has no members."
|
|
},
|
|
"create": {
|
|
"other": "New record"
|
|
},
|
|
"createTitle": {
|
|
"other": "New record"
|
|
},
|
|
"updateTitle": {
|
|
"other": "Edit record"
|
|
},
|
|
"previewTitle": {
|
|
"other": "Record preview"
|
|
},
|
|
"created": {
|
|
"other": "Record created"
|
|
},
|
|
"updated": {
|
|
"other": "Record saved"
|
|
},
|
|
"deleteSelected": {
|
|
"other": "Delete selected"
|
|
},
|
|
"deleteConfirm": {
|
|
"other": "Delete the selected (:count)? This cannot be undone."
|
|
},
|
|
"deleteOneConfirm": {
|
|
"other": "Delete this record? This cannot be undone."
|
|
},
|
|
"deleted": {
|
|
"one": "Deleted :count record",
|
|
"other": "Deleted :count records"
|
|
},
|
|
"pivotTitle": {
|
|
"other": "Link details"
|
|
},
|
|
"pivotSaved": {
|
|
"other": "Link details saved"
|
|
},
|
|
"editPivot": {
|
|
"other": "Edit link details: :name"
|
|
},
|
|
"createSubmit": {
|
|
"other": "Create record"
|
|
},
|
|
"updateSubmit": {
|
|
"other": "Save record"
|
|
},
|
|
"pivotSubmit": {
|
|
"other": "Save link details"
|
|
},
|
|
"linkSubmit": {
|
|
"other": "Add link"
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"locale": "en"
|
|
}
|
|
}
|