From 2d3d755fac76ea10a516082824867163c4811d71 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 5 Nov 2013 10:46:56 +0000 Subject: [PATCH] refactor(config) add getTemplate, fillTemplate --- lib/client/config.js | 103 ++++++++++++++++++++++--------------------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/lib/client/config.js b/lib/client/config.js index 994ecd5d..cf98dc33 100644 --- a/lib/client/config.js +++ b/lib/client/config.js @@ -10,6 +10,7 @@ var CloudCmd, Util, DOM; Events = DOM.Events, ESC = CloudCmd.Key.ESC, INPUT = 'INPUT', + TEMPLATE, Config = this; this.init = function(pCallBack){ @@ -24,62 +25,62 @@ var CloudCmd, Util, DOM; delete Config.init; }; - this.show = function(){ + this.show = function() { Images.showLoad({top:true}); - DOM.ajax({ - url: '/css/config.css', - success: function (data){ - DOM.cssSet({ - id : 'config-css', - inner : data - }); - - Images.hideLoad(); - }, - - error:Images.showError - }); - - DOM.ajax({ - url: '/html/config.html', - success: function (data) { - CloudCmd.getConfig(function(config) { - var i, n, div, li, param, obj = {}; - - Util.copyObj(config, obj); - - changeConfig(obj); - - data = Util.render(data, obj); - - div = DOM.anyload({ - name : 'div', - id : 'config', - inner : data.toString() - }); - - li = DOM.getByTag(INPUT, div); - n = li.length; - - for (i = 0; i < n; i++) { - param = li[i]; - Events.add('change', change, param); - Events.addKey(key, param); - } - - Images.hideLoad(); - - CloudCmd.View.show(div, null, { - autoSize: true - }); - }); - }, - - error:Images.showError + DOM.cssLoad({ + src : '/css/config.css', + func: getTemplate }); }; + function getTemplate() { + Util.ifExec(TEMPLATE, fillTemplate, function (callback) { + DOM.ajax({ + url : '/html/config.html', + success : function(data) { + TEMPLATE = data; + callback(); + }, + error : Images.showError + }); + + }); + } + + function fillTemplate() { + CloudCmd.getConfig(function(config) { + var i, n, div, data, li, param, obj = {}; + + Util.copyObj(config, obj); + + changeConfig(obj); + + data = Util.render(TEMPLATE, obj); + + div = DOM.anyload({ + name : 'div', + id : 'config', + inner : data.toString() + }); + + li = DOM.getByTag(INPUT, div); + n = li.length; + + for (i = 0; i < n; i++) { + param = li[i]; + Events.add('change', change, param); + Events.addKey(key, param); + } + + Images.hideLoad(); + + CloudCmd.View.show(div, null, { + autoSize: true + }); + }); + } + this.hide = function() { CloudCmd.View.hide(); };