jw-ng-forward
Version:
Temporary package. The default solution for those that want to write Angular 2.x style code in Angular 1.x
26 lines (25 loc) • 1.1 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var event_emitter_1 = require("../events/event-emitter");
var custom_event_1 = __importDefault(require("../util/custom-event"));
function outputsBuilder(instance, element, $scope, outputs) {
var subscriptions = [];
var create = function (eventKey, emitter) {
return emitter.subscribe(function (data) {
var event = new custom_event_1.default(eventKey, { detail: { _output: data }, bubbles: false });
element[0].dispatchEvent(event);
});
};
for (var key in outputs) {
if (instance[key] && instance[key] instanceof event_emitter_1.EventEmitter) {
subscriptions.push(create(outputs[key], instance[key]));
}
}
$scope.$on('$destroy', function (event) {
subscriptions.forEach(function (subscription) { return subscription.unsubscribe(); });
});
}
exports.outputsBuilder = outputsBuilder;