[Catalyst] HTML Widgets!

Will Hawes info at whawes.co.uk
Sat Dec 3 15:33:35 CET 2005


>
> Am 02.12.2005 um 20:39 schrieb Johan Lindström:
>
>> At 18:21 2005-12-02, Sebastian Riedel wrote:
>>>    $w2->element( 'Textfield', 'age' )->label('Age')->size(3);
>>>     $w2->element( 'Textfield', 'name' )->label('Name')->size(60);
>>
>> The size spec, is that used for validation also?
>>
>> If there is a size/length constraint for e.g. name, is it used as
>> the default size in the element?
>
> Not for the default elements.
>
> But subclassing them to create new ones is very easy. ;)
>
>
>      package HTML::Widget::Element::Textfield_C;
>      use base 'HTML::Widget::Element::Textfield';
>
>      sub init {
>          my ( $self, $w ) = @_;
>          $w->constraint( 'Length', $self->name )->max($self->size) if
> $self->size;
>      }
>
>      1;
>
>
> Thats it!
>
>      $widget->element( 'Textfield_C', 'foo' );
>
>
> I'm sure we'll see lots of new elements soon, so we better get a
> naming convention.
>
> H::W::E::Foo_J  - Element/Constraint with integrated JS
> H::W::C::Foo_J
> H::W::E::Foo_JX - Element/Constraint with JS and external dependency
> (prototype.js...)
> H::W::C::Foo_JX
> H::W::E::Foo_C   - Element with Constraints
> H::W::C::Foo_E   - Constraint with Element
>
>
>
> --
> sebastian

It would be really good if all this could be loaded from an XML string, so
it could be stored within a model class, database, etc.




More information about the Catalyst mailing list