Skip to content

CE0463 on textfilter (DatagridTextFilter) inside a Gallery FILTER block #605

@ako

Description

@ako

Summary

A textfilter (com.mendix.widget.web.datagridtextfilter.DatagridTextFilter) placed inside a Gallery filter block fails mx check with CE0463 ("the definition of this widget has changed"). The same widget inside a DataGrid column passes cleanly, so the bug is specific to the Gallery-filter context.

This was noticed while fixing #574 (VideoPlayer/Timeline visibility) — it is a separate, pre-existing bug, not introduced by that change.

Environment

  • mxcli: v0.11.0-49-gd8819ba4 + branch issues-2 @ b179d966
  • Mendix: 11.9.0 (mx-test-projects/test5-app/test5.mpr)

Reproduction

mdl-examples/doctype-tests/30-pluggable-widget-examples.mdl, page PW06 (PW.P_PW06_GalleryFilter):

gallery gal1 (datasource: database from PW.Item sort by title asc) {
  filter flt1 {
    textfilter tf1 (attributes: [title, description])
    pluggablewidget 'com.mendix.widget.web.dropdownsort.DropdownSort' ddSort1
  }
  template tpl1 { ... }
}
$ mxcli exec mdl-examples/doctype-tests/30-pluggable-widget-examples.mdl -p test5.mpr
$ ~/.mxcli/mxbuild/11.9.0/modeler/mx check test5.mpr
[error] [CE0463] "The definition of this widget has changed..." at Text filter 'tf1'
The app contains: 1 errors.

The sibling DropdownSort in the same filter block does not error.

Localization

A textfilter inside a DataGrid column (mdl-examples/bug-tests/189-datagrid2-column-textfilter.mdl) passes with 0 errors. So the drift is specific to the Gallery filter context, not the widget itself.

Diagnosis so far

Decoding tf1's emitted BSON: the WidgetType and WidgetObject are structurally aligned — 12 property types, 12 object properties, no missing/extra keys. So this is value-level drift, not a property-count mismatch.

Candidate causes (unconfirmed):

  1. attrChoice vs explicit attributes. In a column, the filter binds to the column's single attribute and attrChoice: auto is correct. Here tf1 is given explicit attributes: [title, description] (the attributeObjects mapping) — Studio Pro may expect attrChoice: linked (or expression) when attributes are listed explicitly outside a column context.
  2. Populated TextTemplate props. placeholder, screenReaderButtonCaption, screenReaderInputCaption are emitted as populated empty Forms$ClientTemplate; Studio Pro may want one or more as null (same family as Widget property conditional visibility from editorConfig.js (CE0463 on VideoPlayer + Timeline) #574, but the embedded textfilter.def.json has no propertyVisibility).

Next step: diff tf1's BSON against a Studio Pro–created textfilter-in-gallery-filter to see exactly which field drifted (the debug-bson.md Update-widget methodology).

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions