diff options
author | Liming Xie <liming.xie@gmail.com> | 2015-12-17 14:23:35 +0800 |
---|---|---|
committer | Liming Xie <liming.xie@gmail.com> | 2015-12-17 14:23:35 +0800 |
commit | 354eff9f7bf550f83d55ef2e96b10aab1a70162d (patch) | |
tree | 34cba5531d56d4ca51ed5346a5f26e480c4a33c7 /client/lib/utils.js | |
parent | 0954cff5b470712210275a9c0699d85d6579ab54 (diff) | |
download | wekan-354eff9f7bf550f83d55ef2e96b10aab1a70162d.tar.gz wekan-354eff9f7bf550f83d55ef2e96b10aab1a70162d.tar.bz2 wekan-354eff9f7bf550f83d55ef2e96b10aab1a70162d.zip |
add: support compact mode for mobile web, auto adapt to small screen/window
Diffstat (limited to 'client/lib/utils.js')
-rw-r--r-- | client/lib/utils.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/client/lib/utils.js b/client/lib/utils.js index 6bdd5822..4f772a60 100644 --- a/client/lib/utils.js +++ b/client/lib/utils.js @@ -22,6 +22,17 @@ Utils = { return string.charAt(0).toUpperCase() + string.slice(1); }, + windowResizeDep: new Tracker.Dependency(), + + // in fact, what we really care is screen size + // large mobile device like iPad or android Pad has a big screen, it should also behave like a desktop + // in a small window (even on desktop), Wekan run in compact mode. + // we can easily debug with a small window of desktop broswer. :-) + isMiniScreen() { + this.windowResizeDep.depend(); + return $(window).width() <= 800; + }, + // Determine the new sort index calculateIndex(prevCardDomElement, nextCardDomElement, nCards = 1) { let base, increment; @@ -54,3 +65,9 @@ Utils = { }; }, }; + +// A simple tracker dependency that we invalidate every time the window is +// resized. This is used to reactively re-calculate the popup position in case +// of a window resize. This is the equivalent of a "Signal" in some other +// programming environments (eg, elm). +$(window).on('resize', () => Utils.windowResizeDep.changed()); |