summaryrefslogtreecommitdiffstats
path: root/ui/imports/ui/components/pager/pager.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/imports/ui/components/pager/pager.js')
-rw-r--r--ui/imports/ui/components/pager/pager.js123
1 files changed, 0 insertions, 123 deletions
diff --git a/ui/imports/ui/components/pager/pager.js b/ui/imports/ui/components/pager/pager.js
deleted file mode 100644
index 19b2789..0000000
--- a/ui/imports/ui/components/pager/pager.js
+++ /dev/null
@@ -1,123 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////////////////
-// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others /
-// /
-// All rights reserved. This program and the accompanying materials /
-// are made available under the terms of the Apache License, Version 2.0 /
-// which accompanies this distribution, and is available at /
-// http://www.apache.org/licenses/LICENSE-2.0 /
-/////////////////////////////////////////////////////////////////////////////////////////
-/*
- * Template Component: Pager
- */
-
-//import { Meteor } from 'meteor/meteor';
-import * as R from 'ramda';
-import { Template } from 'meteor/templating';
-import { SimpleSchema } from 'meteor/aldeed:simple-schema';
-import { ReactiveDict } from 'meteor/reactive-dict';
-
-import './pager.html';
-
-/*
- * Lifecycles
- */
-
-Template.Pager.onCreated(function() {
- var instance = this;
- instance.state = new ReactiveDict();
- instance.state.setDefault({
- pagesButtons: [{ label: '1', number: 1 }],
- currentPage: 1,
- });
-
- instance.autorun(function () {
- let data = Template.currentData();
- new SimpleSchema({
- disableNext: { type: Boolean },
- disablePrev: { type: Boolean },
- totalPages: { type: Number },
- currentPage: { type: Number },
- onReqNext: { type: Function },
- onReqPrev: { type: Function },
- onReqPage: { type: Function },
- onReqFirst: { type: Function },
- onReqLast: { type: Function },
- }).validate(data);
-
- instance.state.set('totalPages', data.totalPages);
- instance.state.set('currentPage', data.currentPage);
- });
-
- instance.autorun(function () {
- let numOfPagesInPager = 5;
- let totalPages = instance.state.get('totalPages');
- let currentPage = instance.state.get('currentPage');
- let first = R.ifElse((x) => x < 1, R.always(1), R.identity)(currentPage - numOfPagesInPager + 1);
- let last = R.ifElse((x) => x > totalPages, R.always(totalPages + 1), R.identity)(
- first + numOfPagesInPager);
-
- let pagesButtons = R.map((pageNumber) => {
- return {
- label: R.toString(pageNumber), number: pageNumber
- };
- }, R.range(first, last));
-
- instance.state.set('pagesButtons', pagesButtons);
- });
-});
-
-/*
-Template.Pager.rendered = function() {
-};
-*/
-
-/*
- * Events
- */
-
-Template.Pager.events({
- 'click .sm-prev-button': function (_event, _instance) {
- let data = Template.currentData();
- data.onReqPrev();
- },
-
- 'click .sm-next-button': function (_event, _instance) {
- let data = Template.currentData();
- data.onReqNext();
- },
-
- 'click .sm-first-button': function (_event, _instance) {
- let data = Template.currentData();
- data.onReqFirst();
- },
-
- 'click .sm-last-button': function (_event, _instance) {
- let data = Template.currentData();
- data.onReqLast();
- },
-
- 'click .sm-page-button': function (event, _instance) {
- let data = Template.currentData();
- let pageNumber = parseInt(event.target.dataset.pageNumber);
- data.onReqPage(pageNumber);
- },
-
-
-});
-
-/*
- * Helpers
- */
-
-Template.Pager.helpers({
- pagesButtons: function () {
- let instance = Template.instance();
- return instance.state.get('pagesButtons');
- },
-
- isCurrentPage: function (pageNum, currentPage) {
- return pageNum === currentPage;
- },
-}); // end: helpers
-
-