UNPKG

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
"use strict"; 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;