From d82e6ed30113c85cb5bd7ca588f1d05bc13f1bda Mon Sep 17 00:00:00 2001 From: Shaunak Kishore Date: Thu, 17 Sep 2015 21:33:06 -0400 Subject: [PATCH] Move reload button into hidden class --- client/controls.js | 67 --------------------------------------------- client/index.html | 1 - client/reload.js | 68 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 68 deletions(-) create mode 100644 client/reload.js diff --git a/client/controls.js b/client/controls.js index 3dc1ca5a..7a9d87b4 100644 --- a/client/controls.js +++ b/client/controls.js @@ -1,7 +1,3 @@ -var BATCH_SIZE = 64; -var CODEPOINTS = [0x4e00, 0x9fff]; -var FONT_LOADED_PROGRESS = 0.1; - Session.setDefault('controls.show_editor', false); Template.content.helpers({ @@ -17,45 +13,8 @@ Template.controls.events({ 'click #restore-button': function() { Meteor.call('restore'); }, - 'click #reload-button': function() { - Session.set('progress.value', 0); - opentype.load('external/gkai00mp.ttf', function(err, font) { - if (err) { - console.log('Error loading font: ' + err); - return; - } - Session.set('progress.value', FONT_LOADED_PROGRESS); - var glyphs_to_save = []; - for (var i = 0; i < font.glyphs.length; i++) { - var glyph = font.glyphs.glyphs[i]; - if (CODEPOINTS[0] <= glyph.unicode && glyph.unicode <= CODEPOINTS[1]) { - var name = 'uni' + glyph.unicode.toString(16).toUpperCase(); - glyphs_to_save.push({name: name, path: glyph.path.commands}); - } - } - save_glyphs(glyphs_to_save); - }); - }, }); -function save_glyphs(glyphs, index) { - index = index || 0; - if (index >= glyphs.length) { - Session.set('progress.value', undefined); - return; - } - var remainder = (1 - FONT_LOADED_PROGRESS)*index/glyphs.length; - Session.set('progress.value', remainder + FONT_LOADED_PROGRESS); - var max = Math.min(index + BATCH_SIZE, glyphs.length); - var batch = []; - for (var i = index; i < max; i++) { - batch.push(glyphs[i]); - } - Meteor.call('save_glyphs', batch, function(err, result) { - Meteor.setTimeout(function() { save_glyphs(glyphs, max); }, 0); - }); -} - Template.navbar.helpers({ mode: function() { if (Session.get('controls.show_editor')) { @@ -72,29 +31,3 @@ Template.navbar.helpers({ return Math.round(100*(value === undefined ? 0 : value)); }, }); - - -Template.progress.helpers({ - percent: function() { - var value = Session.get('progress.value'); - return Math.round(100*(value === undefined ? 1 : value)); - }, -}); - -Tracker.autorun(function() { - if (Session.get('progress.show')) { - $('#progress').modal({background: 'static', keyboard: false}); - } else { - $('#progress').modal('hide'); - } -}); - -Tracker.autorun(function() { - var progress = Session.get('progress.value'); - Session.set('progress.show', progress !== undefined); -}); - -Meteor.startup(function() { - Session.set('progress.show', false); - Session.set('progress.value', undefined); -}); diff --git a/client/index.html b/client/index.html index 3a62025f..e10029c7 100644 --- a/client/index.html +++ b/client/index.html @@ -60,7 +60,6 @@
-
diff --git a/client/reload.js b/client/reload.js new file mode 100644 index 00000000..c6a963a4 --- /dev/null +++ b/client/reload.js @@ -0,0 +1,68 @@ +var BATCH_SIZE = 64; +var CODEPOINTS = [0x4e00, 0x9fff]; +var FONT_LOADED_PROGRESS = 0.1; + +Template.controls.events({ + 'click #reload-button': function() { + Session.set('progress.value', 0); + opentype.load('external/gkai00mp.ttf', function(err, font) { + if (err) { + console.log('Error loading font: ' + err); + return; + } + Session.set('progress.value', FONT_LOADED_PROGRESS); + var glyphs_to_save = []; + for (var i = 0; i < font.glyphs.length; i++) { + var glyph = font.glyphs.glyphs[i]; + if (CODEPOINTS[0] <= glyph.unicode && glyph.unicode <= CODEPOINTS[1]) { + var name = 'uni' + glyph.unicode.toString(16).toUpperCase(); + glyphs_to_save.push({name: name, path: glyph.path.commands}); + } + } + save_glyphs(glyphs_to_save); + }); + }, +}); + +function save_glyphs(glyphs, index) { + index = index || 0; + if (index >= glyphs.length) { + Session.set('progress.value', undefined); + return; + } + var remainder = (1 - FONT_LOADED_PROGRESS)*index/glyphs.length; + Session.set('progress.value', remainder + FONT_LOADED_PROGRESS); + var max = Math.min(index + BATCH_SIZE, glyphs.length); + var batch = []; + for (var i = index; i < max; i++) { + batch.push(glyphs[i]); + } + Meteor.call('save_glyphs', batch, function(err, result) { + Meteor.setTimeout(function() { save_glyphs(glyphs, max); }, 0); + }); +} + +Template.progress.helpers({ + percent: function() { + var value = Session.get('progress.value'); + return Math.round(100*(value === undefined ? 1 : value)); + }, +}); + +Tracker.autorun(function() { + if (Session.get('progress.show')) { + $('#progress').modal({background: 'static', keyboard: false}); + } else { + $('#progress').modal('hide'); + } +}); + +Tracker.autorun(function() { + var progress = Session.get('progress.value'); + Session.set('progress.show', progress !== undefined); +}); + +Meteor.startup(function() { + Session.set('progress.show', false); + Session.set('progress.value', undefined); +});