Fixed all known bugs; Modified the menu to hide; Fixed the tables to scroll with a fixed header.

This commit is contained in:
Wynne Crisman
2017-10-20 14:54:58 -07:00
parent 83e8268375
commit f848ea9a8f
34 changed files with 1019 additions and 821 deletions

View File

@@ -1,7 +1,8 @@
import './Measures.html';
let QUERY_LIMIT = 20;
let QUERY_LIMIT = 100;
let QUERY_LIMIT_INCREMENT = 100;
let PREFIX = "Measures.";
Tracker.autorun(function() {
@@ -11,6 +12,15 @@ Tracker.autorun(function() {
Template.Measures.onCreated(function() {
Session.set(PREFIX + "displayNewMeasure", false);
Session.set(PREFIX + "showHidden", false);
Session.set(PREFIX + "queryLimit", QUERY_LIMIT);
});
Template.Measures.onRendered(function() {
$(".tableContainer").mCustomScrollbar({
scrollButtons: {enable:true},
theme: "light-thick",
scrollbarPosition: "outside",
scrollEasing: "linear"
});
});
Template.Measures.helpers({
displayNewMeasure: function() {
@@ -45,23 +55,16 @@ Template.Measures.helpers({
dbQuery = dbQuery.length > 0 ? {$and: dbQuery} : {};
Session.set(PREFIX + 'measureCount', Meteor.collections.Measures.find(dbQuery).count()); //Always get a full count.
return Meteor.collections.Measures.find(dbQuery, {limit: QUERY_LIMIT, skip: skipCount, sort: {order: 1}});
return Meteor.collections.Measures.find(dbQuery, {limit: Session.get(PREFIX + "queryLimit"), skip: skipCount, sort: {order: 1}});
},
disablePrev: function() {
return (Session.get(PREFIX + 'skipCount') || 0) == 0;
},
disableNext: function() {
return Session.get(PREFIX + 'measureCount') - (Session.get(PREFIX + 'skipCount') || 0) - QUERY_LIMIT <= 0;
disableLoadMore: function() {
return Session.get(PREFIX + 'measureCount') - (Session.get(PREFIX + 'skipCount') || 0) - Session.get(PREFIX + "queryLimit") <= 0;
}
});
Template.Measures.events({
'click .prevMeasures': function(event, template) {
if(!$(event.target).hasClass('disabled'))
Session.set(PREFIX + 'skipCount', Math.max(0, (Session.get(PREFIX + 'skipCount') || 0) - QUERY_LIMIT));
},
'click .nextMeasures': function(event, template) {
if(!$(event.target).hasClass('disabled'))
Session.set(PREFIX + 'skipCount', (Session.get(PREFIX + 'skipCount') || 0) + QUERY_LIMIT);
'click .loadMoreLink': function(event, template) {
event.preventDefault();
Session.set(PREFIX + 'queryLimit', Session.get(PREFIX + "queryLimit") + QUERY_LIMIT_INCREMENT);
},
'click .newMeasureButton': function(event, template) {
if(template.$('.newMeasureButton').hasClass('active')) {
@@ -150,7 +153,7 @@ Template.Measure.events({
"click .actionEdit": function(event, template) {
Session.set(PREFIX + "editedMeasure", this._id);
Session.set(PREFIX + 'displayNewMeasure', false); //Ensure the new measure editor is closed.
template.$('.newMeasureButton').removeClass('active');
template.parentTemplate().$('.newMeasureButton').removeClass('active');
},
"click .actionRemove": function(event, template) {
Meteor.call('deactivateMeasure', this._id, function(error, result) {