Appearance
apps/panel 0.82.0
Released on 15 September 2026. Previous release: 0.81.1.
What changed
- The new Gantt toolbar action
toggleMaterialConstraintsopens and closes the@mes/aps1.21.0 material movement panel below the chart. Previously the application did not show this panel. When the user opens it, the Gantt panel sends{ "scheduleGuid": "<active schedule>" }toPOST /Schedule/GetMaterialConstraints, takes theconstraintDatalist from the response and passes it to the material movement panel. A message then reports the result:Material movement data retrieved successfully,No material movement data receivedwhen the list is empty, orFailed to retrieve material movement data. - The Gantt panel accepts the
startDateandfinishDateof material movement events withZor a time-zone offset and, as with schedule dates, converts them to UTC before it passes the events to@mes/aps. @mes/aps1.21.0 shows secondary constraints and material movement in one area below the chart, so the Gantt panel keeps only one of them open: opening secondary constraints closes an open material movement panel, and opening material movement closes an open secondary constraints panel.- When an action replaces the whole schedule, for example generation or an update, the Gantt panel reopens the constraints panel that was open and repeats its request without a message. Secondary constraints already behaved this way; material movement now does too.
schedule.showMaterialConstraints: truenow opens the material movement panel when the chart has displayed the opened schedule. Ifschedule.showConstraintsis alsotrue, only the secondary constraints panel opens. When a setting opens a panel, the Gantt panel requests its data without a message. These settings apply only while the Gantt panel has no recorded open or closed state for that constraints panel. The state is recorded when a setting opens the panel, when the user opens or closes it with its action, and when the user opens the other constraints panel; it is kept while the Gantt panel stays open. Before 0.82.0,schedule.showMaterialConstraintshad no effect.
Configuration
To add the action, put an action with the toggleMaterialConstraints method into panelActions of the Gantt panel. The fragment below shows the complete nesting. Replace schedule-gantt with the id of your Gantt panel; gantt-actions and toggle-material-movement are example identifiers. If the panel already has an action group, add only the action object to its actions. The toolbar shows label while the material movement panel is closed and labelToggleOn while it is open.
json
{
"id": "schedule-gantt",
"type": "gantt",
"panelActions": [
{
"id": "gantt-actions",
"renderType": "dropdown",
"label": "Schedule",
"actions": [
{
"id": "toggle-material-movement",
"method": "toggleMaterialConstraints",
"label": "Show material movement",
"labelToggleOn": "Hide material movement"
}
]
}
]
}To open the panel automatically, add this Settings API entry under the schedule prefix:
text
schedule.showMaterialConstraints = trueRow labels and tooltip fields of the material movement panel come from the @mes/aps settings schedule.materialConstraintsListInfoConfig and schedule.materialConstraintsTooltipConfig. @mes/aps 1.21.0 has no default fields for them, and the Gantt panel passes them to the package unchanged, without date formatting or valueMap transforms.
If no data appears
No material movement data received: the API returned an emptyconstraintDatalist for the active schedule, and the material movement panel stays empty. The request contains only the schedule GUID, so no Gantt setting changes this response.Failed to retrieve material movement data: the request failed, and the material movement panel stays open without new data. To repeat the request, choose the action twice: the first click closes the panel, and the second opens it and sends the request again. If the error repeats, the cause is outside the Gantt configuration: attach the request and response ofPOST /Schedule/GetMaterialConstraintsfrom the Network tab of the browser's developer tools to the issue report.
Open the demonstration
Start the panel with NUXT_LOCAL_FIXTURE_API_ENABLED=true and NUXT_PUBLIC_API_PREFIX=/local-api, sign in with any non-empty username and password, and open Gantt: часовой пояс браузера (/app/local-gantt-transform-demo) or Gantt: явный UTC (/app/local-gantt-transform-utc-demo) in the Демо панели Gantt group. Open the schedule with Открыть Gantt in a row of the Demo orders table, then choose Gantt → Показать движение материалов. The demo server answers POST /Schedule/GetMaterialConstraints with events for two materials. The demo configures no row labels, so its rows have none and open at the minimum height.
Known limitations
@mes/aps1.21.0 does not tell the Gantt panel when the user closes material movement with the close button inside the package panel. The action keeps showinglabelToggleOn, its next click opens the panel again instead of closing it, and the next action that replaces the whole schedule reopens it too. Close material movement with the toolbar action instead. Closing secondary constraints the same way does update the action label.- In
@mes/aps1.21.0, material movement rows open at the minimum height because the package sizes them from the secondary constraints list. Enlarge them with the vertical zoom control of the material movement panel. - Without
schedule.materialConstraintsListInfoConfig, material movement rows have no labels. - With
@mes/aps1.21.0, the browser console shows the APS worker errorCannot read properties of undefined (reading 'map')on every chart load, whether or not the material movement panel is open. The error does not affect the data in that panel.
Updated documentation
- The Gantt behavioral model describes both constraints-panel actions, their requests and messages, why opening one panel closes the other, and how an open panel returns after the schedule is replaced.
- The defaults and precedence list explains when
schedule.showConstraintsandschedule.showMaterialConstraintsopen a panel and no longer says thatschedule.showMaterialConstraintshas no effect. - The Gantt limitations list the
@mes/aps1.21.0 limitations above and now state correctly that closing secondary constraints inside the package updates the action label. - The runnable demos section explains how to open material movement in both local Gantt demos.
- The actions catalog lists
toggleMaterialConstraintsamong the schedule actions, and new parameter pages describeschedule.showConstraintsandschedule.showMaterialConstraints.