Ok, I looked into this a little closer. type => file is missing from HTMLForm::typeMapping. But class overrides this, and the HTMLTextField has some code where the type parameter is just stuck into the html type attribute so it can be used in multiple places.
But in the OOUI case OOUI\TextInputWidget::getSaneType doesnt allow file types (since ooui probably doesnt support it), so type goes back to text. Thus breaking this. So basically no, its not possible currently without implementing your own HTMLFormField subclass. The fact it worked in the old system may have been accidental, im not sure. There is probably a bug here somewhere though, either the two modes should be consistent in their support for file types or it should fallback to non-ooui in that case (imho) Sorry, Brian On Sunday, April 15, 2018, Toni Hermoso Pulido <toni...@cau.cat> wrote: > Hi Brian, > > if I only specify one I get this exception: > > ... > > Descriptor with no class for fileupload: Array > ( > [section] => upload > [label] => Upload file > [type] => file > [class] => > ) > > ... > > Not using ooui, both are needed and it works... > > > On 15/04/2018 19:40, Brian Wolff wrote: >> >> Im not sure, but having the class specified as HTMLTextField looks wrong >> (type & class are mutually exclusive. You should only specify one). >> >> -- >> Brian >> >> On Sunday, April 15, 2018, Toni Hermoso Pulido <toni...@cau.cat> wrote: >>> >>> Hello, >>> >>> I'm trying to migrate a HTMLForm to use ooui >>> >>> by following https://www.mediawiki.org/wiki/OOUI/Using_OOUI_in_MediaWiki >>> >>> htmlForm = HTMLForm::factory( 'ooui', $formDescriptor, 'myform' ); >>> >>> I noticed that a file upload form field that I had defined is not >> >> rendered correctly when using ooui. >>> >>> 'fileupload' => array( >>> 'section' => 'upload', >>> 'label' => 'Upload file', >>> 'class' => 'HTMLTextField', >>> 'type' => 'file' >>> ), >>> >>> This is shown as a text field but not as a file upload, as I would have >> >> expected... >>> >>> Is there any way to handle this and using OOUI at the same time? >>> >>> Thanks! >>> >>> >>> _______________________________________________ >>> Wikitech-l mailing list >>> Wikitech-l@lists.wikimedia.org >>> https://lists.wikimedia.org/mailman/listinfo/wikitech-l >> >> _______________________________________________ >> Wikitech-l mailing list >> Wikitech-l@lists.wikimedia.org >> https://lists.wikimedia.org/mailman/listinfo/wikitech-l > > > _______________________________________________ > Wikitech-l mailing list > Wikitech-l@lists.wikimedia.org > https://lists.wikimedia.org/mailman/listinfo/wikitech-l _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l