"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.SlideShow = void 0; var UIElement_1 = require("./UIElement"); var UIEventSource_1 = require("./UIEventSource"); var FixedUiElement_1 = require("./Base/FixedUiElement"); var SlideShow = /** @class */ (function (_super) { __extends(SlideShow, _super); function SlideShow(embeddedElements, noImages) { var _this = _super.call(this, embeddedElements) || this; _this._currentSlide = new UIEventSource_1.UIEventSource(0); _this._embeddedElements = embeddedElements; _this.ListenTo(_this._currentSlide); _this._noimages = noImages; var self = _this; _this._prev = new FixedUiElement_1.FixedUiElement("
" + "
" + "Prev" + "
") .onClick(function () { var current = self._currentSlide.data; self.MoveTo(current - 1); }); _this._next = new FixedUiElement_1.FixedUiElement("
" + "
" + "Next" + "
") .onClick(function () { var current = self._currentSlide.data; self.MoveTo(current + 1); }); return _this; } SlideShow.prototype.InnerRender = function () { if (this._embeddedElements.data.length == 0) { return this._noimages.Render(); } if (this._embeddedElements.data.length == 1) { return "
" + this._embeddedElements.data[0].Render() + "
"; } var slides = ""; for (var i = 0; i < this._embeddedElements.data.length; i++) { var embeddedElement = this._embeddedElements.data[i]; var state = "hidden"; if (this._currentSlide.data === i) { state = "active-slide"; } slides += "
" + embeddedElement.Render() + "
\n"; } return "
" + this._prev.Render() + "
" + slides + "
" + this._next.Render() + "
"; }; SlideShow.prototype.MoveTo = function (index) { if (index < 0) { index = this._embeddedElements.data.length - 1; } index = index % this._embeddedElements.data.length; this._currentSlide.setData(index); }; SlideShow.prototype.InnerUpdate = function (htmlElement) { this._next.Update(); this._prev.Update(); }; SlideShow.prototype.Activate = function () { for (var _i = 0, _a = this._embeddedElements.data; _i < _a.length; _i++) { var embeddedElement = _a[_i]; embeddedElement.Activate(); } this._next.Update(); this._prev.Update(); }; return SlideShow; }(UIElement_1.UIElement)); exports.SlideShow = SlideShow;