I think in my head when I read your description I was thinking object
inheritance and polymorphism to manage the custom code. For example a
normal widget plugin would inherit from Widget. But in the case of enhance
functionality a child of Widget could be created and then your plugin would
use that instead.
For example if your writing a new widget called Foo but needs functionality
from Widget that doesn't exist in core then maybe something like this:
function SuperWidget() {
Widget.apply(this, arguments);
}
SuperWidget.prototype = new Widget();
// Enhance Widget as needed here
function MyWidget() {
SuperWidget.apply(this, arguments);
}
MyWidget.prototype = new SuperWidget();
But maybe my understanding is out of sync.
On Tuesday, January 12, 2016 at 2:00:05 PM UTC-5, Tobias Beer wrote:
>
> Hi Devin,
>
> Thing is, I don't see a point to reinventing the wheel or duplicating
> entire modules for a mild change / update, e.g. to the ButtonWidget, the
> ListWidget ...or a PopupMechanism.
>
> So, if a given pull request is not being accepted then I am not at all
> inclined to provide a standalone solution, a fork duplicating most all
> code. Instead, I will hijack the very bit of the core component I have to
> in order to handle my case — insofar as that is possible — and otherwise
> pass the call down to the core handler.
>
> This is not about me finding a solution that works for me, but about
> shipping plugins that at times need enhanced capabilities. Since waiting
> for the core to move into a desired direction is not always fruitful,
> whatever the reasons may be... I have yet to see why hijacking would not be
> one way to go about it.
>
> Best wishes,
>
> Tobias.
>
--
You received this message because you are subscribed to the Google Groups
"TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywikidev/1074c39f-48f1-4200-8fe4-cbd93df918e8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.