We are definitely on the same page.

On Mon, Oct 15, 2018 at 2:06 PM Tibor Meller <tibor.mel...@gmail.com> wrote:

> @Shane It seems like we're agreed on this. :D
>
> On Mon, Oct 15, 2018 at 1:18 PM Tibor Meller <tibor.mel...@gmail.com>
> wrote:
>
> > Hi Guys,
> >
> > I think we could consider moving to ng bootstrap. It solves most of our
> > problems and makes our code base cleaner easier to maintain.
> >
> > Here are some benefits I see:
> > 1. we could eliminate jQuery from the code base
> > Currently, we're using bootstrap but an implementation based on jQuery.
> > Angular and jQuery doesn't build to live together.
> > 2. NgBootstrap made to being used with Angular
> > It uses Angular instead of hacking the rendering/dom manipulation with
> > jQuery.
> > 3. It contains a date and a time picker.
> > It's easy to combine to a datetime picker.
> > 4. No dependencies.
> > By changing currently used bootstrap to NgBootstrap we could clear
> jquery,
> > moment, pickaday, pickaday-time libraries from our dependencies.
> >
> > Another huge advantage of NgBootstrap is that we don't have to rewrite
> > anything we don't want to. Our UI already uses Bootstrap.
> >
> > What do you guys think?
> >
> > On Wed, Oct 10, 2018 at 4:19 PM Nick Allen <n...@nickallen.org> wrote:
> >
> >> > Before making a decision on what's next, I'd to ask you a question. Is
> >> it really
> >> a priority and is it really worth the effort to touch our currently used
> >> date picker component to get ~15% reduction in the bundle size by
> removing
> >> moment?
> >>
> >> As an aside, I think there is a greater benefit here too.  We need to
> make
> >> a conscious effort to identify libraries that we are using that are
> >> deprecated, lack community support, and are unlikely to be maintained
> and
> >> updated for security vulnerabilities.  We need to actively identify and
> >> replace those.
> >>
> >>
> >>
> >>
> >>
> >> On Wed, Oct 10, 2018 at 9:33 AM Tamás Fodor <ftamas.m...@gmail.com>
> >> wrote:
> >>
> >> > I'd like to open a discussion about switching to a new date picker
> >> library
> >> > in the Metron Alerts UI regarding to the following:
> >> >
> >> >
> >> >
> >>
> https://lists.apache.org/thread.html/2e4fafa4256ce14ebcd4433420974e24962884204418ade51f0e3bfb@%3Cdev.metron.apache.org%3E
> >> >
> >> > https://github.com/apache/metron/pull/1219#discussion_r223733562
> >> >
> >> > A week ago, I opened a PR about removing moment.js from the code base
> to
> >> > decrease the size of the production javascript bundle. I could achieve
> >> 15%
> >> > loss in the final bundle size which is admittedly not a game changer
> but
> >> > still. Not to mention if we want to heavily rely on date manipulator
> >> > functions in the future it's better to get rid of it at this early
> >> stage.
> >> > Go here <https://github.com/apache/metron/pull/1219> to read more
> about
> >> > the
> >> > background and the results. I tried to provide as many details as I
> >> could.
> >> >
> >> > So far, so good. But then I stumbled upon an obstacle, Pikaday
> >> > <https://github.com/dbushell/Pikaday>.
> >> >
> >> > Before going further, let me thank Tibor Meller, Michael Miklavcic and
> >> > Nicholas Allen for taking their time to go through my proposal to deal
> >> with
> >> > the aforementioned issue. At the end, we agreed on basically not going
> >> with
> >> > my temporary solution that intended to solve the related problems of
> >> > Pikaday and we'd rather like to find and change for a better
> >> alternative.
> >> >
> >> > To be fair, Pikaday is a pretty good date picker module, its only
> >> problem
> >> > is the moment dependency if it's installed via npm. But other than
> >> that, it
> >> > functions perfectly. Zero dependencies, small, etc. Long story short,
> >> it's
> >> > good for us unless we want to get rid of moment.js.
> >> >
> >> > Before making a decision on what's next, I'd to ask you a question. Is
> >> it
> >> > really a priority and is it really worth the effort to touch our
> >> currently
> >> > used date picker component to get ~15% reduction in the bundle size by
> >> > removing moment?
> >> >
> >> > I'm asking it because if we want to do so, considering that it's a
> huge
> >> > topic, the following questions might come up:
> >> >
> >> > *A: What component do we want to use instead of Pikaday?*
> >> >
> >> > I'm not satisfied with the alternative individual solutions out there
> on
> >> > npm. I'd rather pick a component library like the angular port of
> >> Bootstrap
> >> > <https://ng-bootstrap.github.io/#/home> or the angular material
> library
> >> > <https://material.angular.io/>. Both of them have a date picker
> >> component
> >> > and many other components to rely on and reuse throughout the Metron
> >> app.
> >> >
> >> > *B: What component library do we want to use?*
> >> >
> >> > Introducing a new component library requires a lot of research and
> there
> >> > are many things we have to agreed on. Since it's a long term plan
> >> because
> >> > it would be great to use it consistently instead of picking a new one
> a
> >> few
> >> > months later just because we chose wrongly.
> >> >
> >> > *C: What about the jQuery version of Bootstrap?*
> >> >
> >> > So basically we already have a component library and we still use it
> but
> >> > we're also planning to replace it with another or the angular port at
> >> least
> >> > to get the most out of the angular rendering engine. Since it uses
> >> jquery,
> >> > it's much less performant than a port written in Angular.
> >> > And I think it's a bad idea to introduce a new one and use multiple
> >> > component libraries within one project.
> >> > We can also pick the date picker component from the jQuery Bootstrap
> >> but,
> >> > again, it's not as efficient as the angular port so it seems to be
> >> > beneficial to replace it with something else.
> >> >
> >> > What do you think, guys?
> >> >
> >> > Thanks,
> >> > Tamas
> >> >
> >>
> >
>

Reply via email to