[PatternFly] [patternfly-react] Some thoughts and a question :-)

Vojtech Szocs vszocs at redhat.com
Fri May 12 18:26:23 UTC 2017


Hi everyone,

I've checked out https://github.com/patternfly/patternfly-react/ and looks
like I'm late to the party :D

I saw the discussion at
https://github.com/patternfly/patternfly-react/issues/6 and posted some
ideas there. I believe that exposing UI components as vanilla ES6 code is
preferable for most projects and such components should be really small &
simple (or composite), accepting data and callbacks as needed, with the
usual top-down flow. webpack + Babel can be used to transpile
<anything_beyond_es6> to vanilla ES6 (for example, if you decide to
introduce Flow in your project).

There's also a discussion whether or not to use react-bootstrap (supports
Bootstrap v3) and if so, whether the wrapper component should extend the
existing one or simply work on top of local copy of it. I generally agree
with others who say that reusing react-bootstrap will save you time and
keep up with upstream changes, maybe consider an approach where you
identify the need for extension/customization and open issue (or even PR)
on react-bootstrap if that happens.

Also, a question - in oVirt Dashboard, we implemented some UI components in
React, including [1]:

* <RenderInto> to give you control where the given components get rendered,
we use this for modals rendered right into HTML <body> element

https://gerrit.ovirt.org/gitweb?p=ovirt-engine-dashboard.git;a=blob;f=src/components/helper/RenderInto.jsx;hb=HEAD

* basic <ModalDialog> and <Tooltip> based on jQuery

https://gerrit.ovirt.org/gitweb?p=ovirt-engine-dashboard.git;a=tree;f=src/components/bootstrap;hb=HEAD

* PatternFly basics such as <DonutChart>, <SparklineChart> and <HeatMap>
using jQuery with D3/C3

https://gerrit.ovirt.org/gitweb?p=ovirt-engine-dashboard.git;a=tree;f=src/components/patternfly;hb=HEAD

* PatternFly composites such as <AggregateStatusCard> and
<UtilizationTrendCard>

https://gerrit.ovirt.org/gitweb?p=ovirt-engine-dashboard.git;a=tree;f=src/components;hb=HEAD

[1] some screenshots at
http://www.ovirt.org/documentation/admin-guide/chap-System_Dashboard/

Question - which ones do you think are worth contributing to
patternfly-react at this point? (I saw one issue for Tooltip component, can
we go ahead and contribute ours?)

​Another question - some Bootstrap based components use jQuery (like
Tooltip) while some PatternFly specific ones (like HeatMap) have reference
impl's in D3/C3. So I guess that adding jQuery + D3 + C3 to
patternfly-react dependencies is something you would approve?

​Thanks & have a great weekend!
Vojtech
​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/patternfly/attachments/20170512/02f2db42/attachment.htm>


More information about the PatternFly mailing list