Megabit / Blazorise

Blazorise is a component library built on top of Blazor with support for CSS frameworks like Bootstrap, Tailwind, Bulma, AntDesign, and Material.
https://blazorise.com/
Other
3.26k stars 526 forks source link

Add Leader Pivot to Blazorise #3412

Open sam-wheat opened 2 years ago

sam-wheat commented 2 years ago

I wrote a pivot table for Blazor. I wrote the control primarily to support another app I am writing. I am not a UX developer. I could never make the control look as good as Blazorize controls. However you could probably make it look great in no time at all. You are welcome to add it to Blazorize.

Regards, Sam

stsrki commented 2 years ago

Hi @sam-wheat thank you for allowing us to use your code. Leader Pivot seems like a good component and we might incorporate some parts of it into our own #3214 version which is still WIP.

One thing I'm concerned about is the licensing. LGPL is not compatible with Apache 2.0. Is there any chance you could lose the LGPL?

sam-wheat commented 2 years ago

https://www.cnx-software.com/2011/10/10/open-source-licenses-overview-gpl-lgpl-apache-bsd/

I think you can use as a dll... I'm not an expert on licenses.

stsrki commented 2 years ago

Yes, it can be used as a DLL. But I was understanding you wish for us to incorporate some parts of code into Blazorise? Am I wrong?

sam-wheat commented 2 years ago

You can use it in any way that is convenient to you. My purpose in choosing LGPL is to prevent a third party from hijacking the code and making something of it that is not free for the rest of the community. If you also use it in a commercial product that is fine with me. I request that you mention/link to me and Leader Analytics in the code and documentation.

I suspect that you will want to reference the base control and create a Blazor wrapper around it as I have done with LeaderPivot.Blazor. If you need fixes/enhancements we can work together to implement them via PR. Used in this fashion you are truly only referencing a .dll and you can leverage the components that have already been written for Blazorise. With that said - however you choose to use it up to you.

David-Moreira commented 2 years ago

Hello @sam-wheat I'm not sure a wrapper will give us enough flexibility to freely keep developing and expanding upon your pivot grid.

And having to go through an additional PR over at LeaderPivot for new features / fixes is an additional step in the development process I believe we do not want to take. Specially when we do have a commercial side of the product, where we want to maintain an agile support of the product.

As @stsrki said, it would be more convenient for us if we could incorporporate some of the parts of your code into Blazorise, with, of course, the mentions to the original creator of the code, you.

sam-wheat commented 2 years ago

What flexibility do you need? Working via PR is widely accepted and used in open source - not sure why it wont work here. My purpose in asking these questions is to ensure the community continues to benefit from ongoing improvements. I don't see how forking the base will be the best way to achieve that goal. In fact, I am already working to add some additional properties to the Matrix class. I will probably add some events also.

Why don't you try wrapping the Leader Pivot base logic in Blazorise components. You should be able to do that with relatively little effort. If you run into a problem it will most likely be due to a design deficiency in the base. If that is the case let me know and lets get it fixed for everyone.

BTW, one area that needs real improvement is the drag/drop experience. The drag/drop library I am using is not maintained and the Blazor community badly needs another one.