"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var core_1 = require("@angular/core"); var step_1 = require("./step"); var InputComponentManagerService = (function () { function InputComponentManagerService() { this.components = []; } InputComponentManagerService.prototype.register = function (component) { this.components.push(component); }; InputComponentManagerService.prototype.getAllComponents = function () { return this.components; }; InputComponentManagerService.prototype.getNext = function (component) { var index = component.index; if (index == this.components.length - 1) { this.addComponent(); } return this.components[index + 1]; }; InputComponentManagerService.prototype.getFirst = function () { if (this.components.length == 0) { this.addComponent(); } return this.components[0]; }; InputComponentManagerService.prototype.addComponent = function () { this.register(new step_1.Step(this.components.length)); }; InputComponentManagerService = __decorate([ core_1.Injectable() ], InputComponentManagerService); return InputComponentManagerService; }()); exports.InputComponentManagerService = InputComponentManagerService;