Skip to content

Support FILEMANAGER classic widget in MDL page creation #151

@engalar

Description

@engalar

Description

MDL cannot create a Forms$FileManager widget. This widget is essential for file upload functionality (e.g., CSV import, document upload) in Mendix pages.

Root Cause

MDL supports classic widgets via hardcoded shorthand keywords (TEXTBOX, TEXTAREA, CHECKBOX, DATEPICKER, etc.). Forms$FileManager is not in this list. The PLUGGABLEWIDGET syntax cannot create classic widgets because they don't have .mpk definitions.

Steps to Reproduce

-- None of these work:

-- Attempt 1: PLUGGABLEWIDGET
ALTER PAGE Module.Page {
  INSERT AFTER someWidget {
    PLUGGABLEWIDGET 'Forms\$FileManager' fileManager1
  }
};
-- Error: no definition for widget Forms$FileManager

-- Attempt 2: CUSTOMWIDGET
ALTER PAGE Module.Page {
  INSERT AFTER someWidget {
    CUSTOMWIDGET fileManager1 (WidgetType: 'Forms\$FileManager')
  }
};
-- Error: no definition for widget Forms$FileManager

Expected Behavior

Support FILEMANAGER as an MDL shorthand keyword, similar to TEXTBOX/TEXTAREA:

CREATE PAGE Module.Upload (
  Title: 'Upload File',
  Layout: Atlas_Core.PopupLayout,
  Params: { \$File: System.FileDocument }
) {
  DATAVIEW dv (DataSource: \$File) {
    FILEMANAGER fileManager1 (MaxFileSize: 10, AllowedExtensions: 'csv,xlsx')
    FOOTER footer1 {
      ACTIONBUTTON btnSave (Caption: 'Upload', Action: SAVE_CHANGES, ButtonStyle: Primary)
    }
  }
}

Impact

File upload is a core UI pattern. Without FILEMANAGER support, any page that needs file upload requires Studio Pro manual intervention, breaking the AI-assisted development workflow.

Workaround

Currently none via MDL. Must add FileManager widget manually in Studio Pro.

Evidence

DESCRIBE PAGE can read the widget:

-- Forms\$FileManager (fileManager1)

But cannot create or replace it — the classic widget shorthand list is hardcoded and doesn't include FileManager.

Other Classic Widgets That May Be Missing

Worth auditing: Forms$FileManager, Forms$ImageViewer, Forms$ImageUploader, Forms$ReferenceSelector, Forms$ReferenceSetSelector, Forms$InputReferenceSetSelector.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions