Appearance
Schedule Operations drawer
Purpose
scheduleOperations configures the unscheduled-operation table opened inside a Gantt panel. It is a drawer integration, not an independently useful panel.
When to use
Use it as the panel payload of a Gantt showUnscheduledOperations action when planners must inspect operations that are not allocated and drag them onto the active schedule.
Prerequisites and ownership
- A Gantt must have an active schedule whose response contains
unscheduledOperations. - The config is passed by
showUnscheduledOperations; the Gantt owns drawer visibility and layout. - The schedule-operations wrapper owns columns, local sort state, the close button, and drag start.
- Installed
@mes/apsowns the drag phantom, eligibility, and drop feedback; Gantt owns the allocation request after a valid drop.
Capability map
| Area | Supported behavior |
|---|---|
| Rows | Reads unscheduledOperations from the active schedule response |
| Columns | Renders configured TableColumn attributes, labels, widths, and sortable flags |
| Sort | PrimeVue client-side sort state |
| Selection | Declared single or multiple; defaults to single |
| Drag | Dedicated handle starts an APS drag session for the row |
| Close | Local close button hides the drawer |
| Empty state | Localized no-unscheduled-operations message |
| Pagination config | Page-size values initialize store state, but the rendered table explicitly disables its paginator |
| Actions/filter | Declared surfaces exist in the type, but current action cells are placeholders and no filter UI consumes filter.fields |
Behavioral model
The Gantt action copies the nested panel config into the schedule store and toggles the drawer. The drawer renders the active schedule's unscheduled rows. Dragging a row delegates placement checks to APS; a valid drop is serialized by the Gantt adapter and sent to AllocateSingleOperation, then the full schedule response is replaced.
Alternatives, defaults, and precedence
columnsis required.selectionModedefaults tosingle.pagination.rowsPerPagedefaults in store state to[10, 25, 50], with the first value selected, but the paginator is disabled.- Closing the drawer changes runtime state only. Invoking the Gantt action again reopens it with the action's nested config.
- There is no supported alternative standalone data request.
Limitations
- Direct registration as a top-level
scheduleOperationspanel lacks the active schedule/drawer orchestration and is not a supported journey. filter.fieldshas no current consumer.panelActionsrender only a placeholder area; configured actions do not run.itemActionsshow the word “Actions”, not configured action controls;itemActionsMaxVisibletherefore has no active effect.pagination.rowsPerPageis not user-visible whilepaginatorisfalse.- The action type declares drawer metadata, but the current dispatcher uses the nested
paneland not the declared drawer options.
Minimal configuration
json
{
"id": "open-unscheduled-operations-minimal",
"method": "showUnscheduledOperations",
"label": "Unscheduled operations",
"panel": {
"id": "unscheduled-operations",
"type": "scheduleOperations",
"columns": [
{ "attribute": "operationName", "label": "Operation" }
]
}
}Scenario: drag an unscheduled operation into Gantt
Place this action in the active Gantt's panelActions:
json
{
"id": "gantt-actions",
"renderType": "dropdown",
"label": "Schedule",
"actions": [
{
"id": "open-unscheduled-operations",
"method": "showUnscheduledOperations",
"label": "Unscheduled operations",
"icon": "list",
"panel": {
"id": "unscheduled-operations",
"type": "scheduleOperations",
"selectionMode": "single",
"columns": [
{
"attribute": "position",
"label": "Position",
"width": "8rem",
"sortable": true
},
{
"attribute": "operationName",
"label": "Operation",
"sortable": true
},
{
"attribute": "workOrderName",
"label": "Work order"
}
]
}
}
]
}Expected result: the action opens the lower Gantt drawer. Dragging its handle onto an eligible chart interval allocates the operation and refreshes the schedule.
Runnable demos
Open the Gantt fixture with the Schedule Operations drawerOpen Gantt → Нераспределённые операции. The registered action supplies the nested scheduleOperations config, and the drawer renders the active fixture schedule's real unscheduledOperations rows with position, operation, work order, and status columns. It demonstrates the supported nesting, row source, configured columns, explicit single selection, and inactive page-size config. It does not claim a successful allocation: that still requires a valid APS drop target and allocation API response.
Exact parameter reference
- nested action panel
- columns
- selection mode
- declared filter fields
- inactive page sizes
- placeholder panel actions
- placeholder row actions
- inactive overflow threshold
Related guides and next task
Next, test one successful and one rejected drop against the active APS/API runtime before claiming the allocation journey is covered.