Sha256: e213f3eb66ac70c1f5a68dea8151e6b4017e02f184685fd47d993d300d60f361

Contents?: true

Size: 927 Bytes

Versions: 21

Compression:

Stored size: 927 Bytes

Contents

import Component from "@ember/component";
import { computed } from "@ember/object";
import { equal } from "@ember/object/computed";

export default Component.extend({
  classNames: ["nav-controls"],
  classNameBindings: ["extraClasses"],
  disableBackButtons: equal("position", 0),

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

  displayNumber: computed("position", function() {
    return this.position + 1;
  }),

  actions: {
    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);
    },

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

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
logster-2.11.4 client-app/app/components/page-nav.js
logster-2.11.3 client-app/app/components/page-nav.js
logster-2.11.2 client-app/app/components/page-nav.js
logster-2.11.1 client-app/app/components/page-nav.js
logster-2.11.0 client-app/app/components/page-nav.js
logster-2.10.1 client-app/app/components/page-nav.js
logster-2.10.0 client-app/app/components/page-nav.js
logster-2.9.8 client-app/app/components/page-nav.js
logster-2.9.7 client-app/app/components/page-nav.js
logster-2.9.6 client-app/app/components/page-nav.js
logster-2.9.5 client-app/app/components/page-nav.js
logster-2.9.4 client-app/app/components/page-nav.js
logster-2.9.3 client-app/app/components/page-nav.js
logster-2.9.2 client-app/app/components/page-nav.js
logster-2.9.1 client-app/app/components/page-nav.js
logster-2.9.0 client-app/app/components/page-nav.js
logster-2.8.0 client-app/app/components/page-nav.js
logster-2.7.1 client-app/app/components/page-nav.js
logster-2.7.0 client-app/app/components/page-nav.js
logster-2.6.3 client-app/app/components/page-nav.js