aboutsummaryrefslogtreecommitdiff
path: root/src/client/javascript/zoom.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/javascript/zoom.js')
-rw-r--r--src/client/javascript/zoom.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/client/javascript/zoom.js b/src/client/javascript/zoom.js
new file mode 100644
index 0000000..59b80db
--- /dev/null
+++ b/src/client/javascript/zoom.js
@@ -0,0 +1,30 @@
+const schedule = require('./schedule')
+
+const self = {}
+
+self._nodes = {
+ body: document.body
+}
+
+self._handleResize = function () {
+ // the table node may not exist before this function is called
+ const tableNode = document.querySelector('center > table')
+
+ // infact, it may not even exist when this function is called.
+ if (!tableNode) return
+
+ const tableWidth = tableNode.getBoundingClientRect().width
+ const tableGoalWidth = self._nodes.body.getBoundingClientRect().width * 0.9
+ const zoomFactor = tableGoalWidth / tableWidth
+
+ if (zoomFactor < 1) {
+ tableNode.style.zoom = `${zoomFactor}`
+ } else {
+ tableNode.style.zoom = `1`
+ }
+}
+
+schedule.on('load', self._handleResize)
+window.addEventListener('resize', self._handleResize)
+
+module.exports = self