zachsnow/ng-multi-transclude — pull request #13 by dlongley (2014-10-03 22:36:26+00:00)
Title: Major refactoring of the module.

I've done some refactoring of this module for our internal use and this is a PR that reflects those changes, in case you're interested.

Here's a [fork of the original demo plunker](http://plnkr.co/edit/zyyWw4xDcK0OICEisTTF?p=preview) w/the code from this PR pasted into the top of ```app.js```. Everything seems to be working AFAICT -- this repo should probably have some test support added at some point.

The details for this refactoring are here:

- Remove duplicated getInheritedData function from angular
and use directive controllers "require" feature instead to
make use of inherited controllers.
- Use "require" in ngMultiTransclude to optionally accept
either ngMultiTemplate or ngMultiTranscludeController
as controllers (throw an exception if at least one is
not present).
- Change ngMultiTransclude to simply register with either
of its required controllers; no longer leak any
implementation details from those controllers.
- Share the same controller function for ngMultiTranscludeController
and use $transclude to minimize transclusion code and avoid
any need for link functions.