feat(12.1-02): permissioneditor field in radio or checkbox mode
- type: permissioneditor with mode radio (1, -1) or checkbox (1); the controller serves the options per request through cabana.PermissionEditorProvider and reads and stores the values - a save answers 422 for a non-object, an unknown code or a value outside the mode's set and 403 for a changed locked code; stored codes that are not offered are kept - record responses carry the stored permissions as an object - SPA: PermissionEditorField with sections by tab, locked rows and a read-only mode for the preview - README, docs, OpenAPI document, TS types and dist updated
This commit is contained in:
20
admin/src/api/schema.d.ts
vendored
20
admin/src/api/schema.d.ts
vendored
@@ -1216,7 +1216,7 @@ export interface paths {
|
||||
};
|
||||
/**
|
||||
* Admin form schema
|
||||
* @description The form of a controller, localized. `preview` is present when config_form.yaml declares a preview block: the form then has a read-only preview screen, which shows the fields whose context allows preview, the record actions and, when preview.headerPartial is set, that partial as a status hint. A `type: password` field and every other field the controller lists as virtual is sent in a save body and never has a value in a record response. `preset` on a text field names the field it follows on the create form (type slug or exact) until the administrator edits it.
|
||||
* @description The form of a controller, localized. `preview` is present when config_form.yaml declares a preview block: the form then has a read-only preview screen, which shows the fields whose context allows preview, the record actions and, when preview.headerPartial is set, that partial as a status hint. A `type: password` field and every other field the controller lists as virtual is sent in a save body and never has a value in a record response. `preset` on a text field names the field it follows on the create form (type slug or exact) until the administrator edits it. A `type: permissioneditor` field carries `permissionOptions`, the permissions the controller offers the requesting administrator; its value in a record response and in a save body is an object of permission code to integer (radio mode 1 or -1, checkbox mode 1).
|
||||
*/
|
||||
get: {
|
||||
parameters: {
|
||||
@@ -4434,8 +4434,9 @@ export interface components {
|
||||
*/
|
||||
minDate?: string;
|
||||
/**
|
||||
* @description Mode is the fileupload mode (image or file, default file) or the
|
||||
* datepicker mode (date, datetime or time, default datetime).
|
||||
* @description Mode is the fileupload mode (image or file, default file), the
|
||||
* datepicker mode (date, datetime or time, default datetime) or the
|
||||
* permissioneditor mode (radio or checkbox).
|
||||
*/
|
||||
mode?: string;
|
||||
multiple?: boolean;
|
||||
@@ -4447,6 +4448,12 @@ export interface components {
|
||||
* template {ConfigDir}/_{path}.htm (D-09).
|
||||
*/
|
||||
path?: string;
|
||||
/**
|
||||
* @description PermissionOptions are the permissions a `type: permissioneditor` field
|
||||
* offers the requesting administrator, in display order. They are filled
|
||||
* per request by the form schema route.
|
||||
*/
|
||||
permissionOptions?: components["schemas"]["cabana.PermissionOption"][];
|
||||
/**
|
||||
* @description Preset makes a text field follow another field of the form while the
|
||||
* administrator has not edited it, on create only (fields.yaml preset).
|
||||
@@ -4652,6 +4659,13 @@ export interface components {
|
||||
"cabana.PartialView": {
|
||||
nodes: components["schemas"]["cabana.PartialNode"][];
|
||||
};
|
||||
"cabana.PermissionOption": {
|
||||
code: string;
|
||||
comment?: string;
|
||||
label: string;
|
||||
locked?: boolean;
|
||||
tab?: string;
|
||||
};
|
||||
"cabana.RecordAction": {
|
||||
confirm?: string;
|
||||
label: string;
|
||||
|
||||
Reference in New Issue
Block a user