partial work

This commit is contained in:
Edward Shen 2019-04-13 13:40:14 -04:00
parent 67d142452d
commit e1e185ceed
Signed by: edward
GPG key ID: 19182661E818369F
2 changed files with 54 additions and 22 deletions

View file

@ -14,7 +14,8 @@ Module.register('MMM-pages', {
fixed: ['MMM-page-indicator'],
animationTime: 1000,
rotationTime: 0,
rotationDelay: 10000
rotationDelay: 10000,
slideAnimation: false,
},
/**
@ -144,27 +145,57 @@ Module.register('MMM-pages', {
animatePageChange: function() {
const self = this;
// Hides all modules not on the current page. This hides any module not
// meant to be shown.
MM.getModules()
.exceptWithClass(this.config.fixed)
.exceptWithClass(this.config.modules[this.curPage])
.enumerate(module => module.hide(
self.config.animationTime / 2,
{ lockString: self.identifier }
));
if (this.config.slideAnimation) {
MM.getModules()
.exceptWithClass(this.config.fixed)
.exceptWithClass(this.config.modules[this.curPage])
.enumerate(module => {
const element = document.getElementById(module.data.identifier);
if (element) {
element.classList.add("mmm-pages-slide-out");
element.classList.remove("mmm-pages-slide-in");
}
setTimeout(() => {
module.hide(0, { lockString: self.identifier });
if (element) {
element.classList.remove("mmm-pages-slide-out");
}
}, self.config.animationTime);
});
// Shows all modules meant to be on the current page, after a small delay.
setTimeout(() => {
MM.getModules()
.withClass(self.config.modules[self.curPage])
.enumerate((module) => {
module.show(
self.config.animationTime / 2,
{ lockString: self.identifier }
);
const element = document.getElementById(module.data.identifier);
if (element) {
element.classList.add("mmm-pages-slide-in");
}
module.show(0, { lockString: self.identifier } );
});
}, this.config.animationTime / 2);
} else {
// Hides all modules not on the current page. This hides any module not
// meant to be shown.
MM.getModules()
.exceptWithClass(this.config.fixed)
.exceptWithClass(this.config.modules[this.curPage])
.enumerate(module => module.hide(
self.config.animationTime / 2,
{ lockString: self.identifier }
));
// Shows all modules meant to be on the current page, after a small delay.
setTimeout(() => {
MM.getModules()
.withClass(self.config.modules[self.curPage])
.enumerate((module) => {
module.show(
self.config.animationTime / 2,
{ lockString: self.identifier }
);
});
}, this.config.animationTime / 2);
}
},
/**

View file

@ -1,5 +1,6 @@
/* This css page is reserved for future use. */
.fullscreen.above {
z-index: -1
}
.mmm-pages-slide-out {
transform: translateX(-200vw);
}
.mmm-pages-slide-in {
transform: translateX(-100vw);
}