RE: [webcomponents] Inheritance in Custom Elements (Was Proposal for Cross Origin Use Case and Declarative Syntax)

± > If someone were to make proposals about adding more hooks to the web
± platform to enable more subtyping use cases (for example, a protocol for
± participating in form submission) I would look forward to working with them
± on those proposals.
± 
± I am very interested  in such proposals and I think others are as well. We run
± into the usual time-budget issues, but if we can find someone who is willing
± to champion a particular cause (like form submission) I would be very willing
± to help that champion work through designs and shepherd them through the
± process.
± 
± CC'ing public-nextweb as this is the sort of stuff we love over there.

There's definitely something we should do about that. That being said, things have to be prioritized and I'm not sure overloading the FORM tag's behavior is absolutely necessary right now. Indeed, inheritage can always be emulated in ECMAScript using some Object.setPrototypeOf(...) magic and composition. 

It is very likely that [[ creating some "x-form" element ]] + [[ adding some real form element into its shadow dom ]] + [[ forwarding all events/method calls back & forth from the shadow to the main dom tree ]] + [[ hooking onsubmit to perform some pre-submit processing, to map non-input elements in the main tree into real input elements in the shadow tree ]] would to the trick to cover a large majority of the use cases. 

This is somewhat cumbersome but that would work, and doesn't seem to be an unsurmountable amount of work. Meanwhile, there are other problems in the platform that still lack any proper solution.

That being said, I'm open to review any proposal in that space, it is great to see the discussion rolling! My two cents would be that we could add some @@InputElement symbol that, when present on a tag, make it participate to the form submission process (aka, we use its "name" and "value" properties to add it to the request body).

Best regards,
François

Received on Sunday, 8 December 2013 15:22:20 UTC