Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});

const tslib_1 = require("tslib");

const mobx_1 = require("mobx");

const exotic_1 = require("exotic");

const deps_1 = require("./deps");

class MediaCarouselContainer {
  constructor() {
    this.list = [1, 2, 3, 4];
    this.position = 0;
    this.pick = 0;
    this.positionStep = 0;
  }

  get count() {
    return this.list.length;
  }

  get value() {
    return this.list.length > this.pick ? this.list[this.pick] : undefined;
  }

  get lastValue() {
    return this.list.length > this.last ? this.list[this.last] : undefined;
  }

  setList(list) {
    this.list = list;
  }

  setPosition(position) {
    this.position = parseInt(position);
  }

  setPick(pick) {
    this.pick = parseInt(pick);
  }

  handleBullet(event) {
    const position = exotic_1.isObject(event.target) ? event.target.getAttribute('data') : 0;
    const type = exotic_1.isObject(event.target) ? event.target.getAttribute('type') : 'bannerWithThumbnail';
    const getPosition = deps_1.toValidPosition(position, this.count);

    if (type === 'banner') {
      this.setPick(getPosition);
    }

    this.setPosition(getPosition);
  }

  forwards() {
    const forward = deps_1.toValidPosition(this.position + this.positionStep, this.count);
    this.setPosition(forward);
  }

  backwards() {
    const backward = deps_1.toValidPosition(this.position - this.positionStep, this.count);
    this.setPosition(backward);
  }

  pickPrevious() {
    const previous = deps_1.toValidPosition(this.pick - 1, this.count);
    this.setPick(previous);
    this.setPosition(previous);
  }

  pickNext() {
    const next = deps_1.toValidPosition(this.pick + 1, this.count);
    this.setPick(next);
    this.setPosition(next);
  }

}

tslib_1.__decorate([mobx_1.observable], MediaCarouselContainer.prototype, "list", void 0);

tslib_1.__decorate([mobx_1.observable], MediaCarouselContainer.prototype, "position", void 0);

tslib_1.__decorate([mobx_1.observable], MediaCarouselContainer.prototype, "pick", void 0);

tslib_1.__decorate([mobx_1.observable], MediaCarouselContainer.prototype, "positionStep", void 0);

tslib_1.__decorate([mobx_1.computed], MediaCarouselContainer.prototype, "count", null);

tslib_1.__decorate([mobx_1.computed], MediaCarouselContainer.prototype, "value", null);

tslib_1.__decorate([mobx_1.computed], MediaCarouselContainer.prototype, "lastValue", null);

tslib_1.__decorate([mobx_1.action], MediaCarouselContainer.prototype, "setList", null);

tslib_1.__decorate([mobx_1.action], MediaCarouselContainer.prototype, "setPosition", null);

tslib_1.__decorate([mobx_1.action.bound], MediaCarouselContainer.prototype, "setPick", null);

tslib_1.__decorate([mobx_1.action.bound], MediaCarouselContainer.prototype, "handleBullet", null);

tslib_1.__decorate([mobx_1.action.bound], MediaCarouselContainer.prototype, "forwards", null);

tslib_1.__decorate([mobx_1.action.bound], MediaCarouselContainer.prototype, "backwards", null);

tslib_1.__decorate([mobx_1.action.bound], MediaCarouselContainer.prototype, "pickPrevious", null);

tslib_1.__decorate([mobx_1.action.bound], MediaCarouselContainer.prototype, "pickNext", null);

exports.MediaCarouselContainer = MediaCarouselContainer; //# sourceMappingURL=state.js.map