Sha256: c7f87ad4b22cac8b7232501fc0f450cb2303476859886cfaa30dde6029cfff0b

Contents?: true

Size: 1.03 KB

Versions: 15

Compression:

Stored size: 1.03 KB

Contents

import classic from "ember-classic-decorator";
import { classNameBindings, classNames } from "@ember-decorators/component";
import { equal } from "@ember/object/computed";
import Component from "@ember/component";
import { action, computed } from "@ember/object";

@classic
@classNames("nav-controls")
@classNameBindings("extraClasses")
export default class PageNav extends Component {
  @equal("position", 0) disableBackButtons;

  @computed("position", "list.length")
  get disableForwardButtons() {
    return this.position === this.list.length - 1;
  }

  @computed("position")
  get displayNumber() {
    return this.position + 1;
  }

  @action
  takeStep(dir) {
    const amount = dir === "back" ? -1 : 1;
    if (amount === 1 && this.disableForwardButtons) {
      return;
    }
    if (amount === -1 && this.disableBackButtons) {
      return;
    }

    const newPos = this.position + amount;
    this.navigate(newPos);
  }

  @action
  bigJump(dir) {
    const newPos = dir === "back" ? 0 : this.list.length - 1;
    this.navigate(newPos);
  }
}

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
logster-2.20.1 client-app/app/components/page-nav.js
logster-2.20.0 client-app/app/components/page-nav.js
logster-2.19.1 client-app/app/components/page-nav.js
logster-2.19.0 client-app/app/components/page-nav.js
logster-2.18.1 client-app/app/components/page-nav.js
logster-2.18.0 client-app/app/components/page-nav.js
logster-2.17.1 client-app/app/components/page-nav.js
logster-2.17.0 client-app/app/components/page-nav.js
logster-2.16.0 client-app/app/components/page-nav.js
logster-2.15.0 client-app/app/components/page-nav.js
logster-2.14.0 client-app/app/components/page-nav.js
logster-2.13.1 client-app/app/components/page-nav.js
logster-2.13.0 client-app/app/components/page-nav.js
logster-2.12.2 client-app/app/components/page-nav.js
logster-2.12.1 client-app/app/components/page-nav.js