[Wikitech-l] File upload file in HTMLForm with ooui

2018-04-15 Thread Toni Hermoso Pulido

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

Re: [Wikitech-l] File upload file in HTMLForm with ooui

2018-04-15 Thread Brian Wolff
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  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

Re: [Wikitech-l] File upload file in HTMLForm with ooui

2018-04-15 Thread Toni Hermoso Pulido

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  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

Re: [Wikitech-l] File upload file in HTMLForm with ooui

2018-04-15 Thread Brian Wolff
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  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  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

Re: [Wikitech-l] File upload file in HTMLForm with ooui

2018-04-16 Thread Gergo Tisza
On Mon, Apr 16, 2018 at 12:40 AM, Brian Wolff  wrote:

> So basically no, its not possible currently without implementing your own
> HTMLFormField subclass.


The task for that is https://phabricator.wikimedia.org/T170263
Should be pretty easy, the OOUI widget exists already.
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] File upload file in HTMLForm with ooui

2018-04-17 Thread Toni Hermoso Pulido

El 04/16/2018 a les 05:14 PM, Gergo Tisza ha escrit:


On Mon, Apr 16, 2018 at 12:40 AM, Brian Wolff  wrote:


So basically no, its not possible currently without implementing your own
HTMLFormField subclass.


The task for that is https://phabricator.wikimedia.org/T170263
Should be pretty easy, the OOUI widget exists already.



Thank you both for do some research about and also pointing this task!

___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l