From c78ad8dc986ab5950384495b4b38ca66fcd312b4 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Thu, 18 Sep 2014 03:35:39 -0400 Subject: [PATCH] feature(client) refresh: add callback --- lib/client.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/client.js b/lib/client.js index 1b1d8893..65ee9aac 100644 --- a/lib/client.js +++ b/lib/client.js @@ -31,7 +31,7 @@ var Util, DOM, CloudFunc; * } * @param event */ - this.loadDir = function(params) { + this.loadDir = function(params, callback) { var link, imgPosition, panelChanged, pathParams, isRefresh, panel, history, p = params; @@ -62,7 +62,7 @@ var Util, DOM, CloudFunc; ajaxLoad(link, { refresh : isRefresh, history : history - }, panel); + }, panel, callback); }; /** @@ -286,7 +286,7 @@ var Util, DOM, CloudFunc; }); }; - this.refresh = function(current, panelParam) { + this.refresh = function(current, panelParam, callback) { var NEEDREFRESH = true, panel = panelParam || current && current.parentElement, path = DOM.getCurrentDirPath(panel), @@ -300,7 +300,7 @@ var Util, DOM, CloudFunc; isRefresh : NEEDREFRESH, history : false, panel : panel - }); + }, callback); }; /** @@ -310,7 +310,7 @@ var Util, DOM, CloudFunc; * @param pOptions * { refresh, history } - необходимость обновить данные о каталоге */ - function ajaxLoad(path, options, panel) { + function ajaxLoad(path, options, panel, callback) { var create = function(error, json) { var RESTful = DOM.RESTful, obj = Util.parseJSON(json), @@ -318,10 +318,10 @@ var Util, DOM, CloudFunc; history = options.history; if (!isRefresh && json) - createFileTable(obj, panel, history); + createFileTable(obj, panel, history, callback); else RESTful.read(path, 'json', function(obj) { - createFileTable(obj, panel, history); + createFileTable(obj, panel, history, callback); Storage.set(path, obj); }); }; @@ -352,7 +352,7 @@ var Util, DOM, CloudFunc; * @param panelParam * @param history */ - function createFileTable(json, panelParam, history) { + function createFileTable(json, panelParam, history, callback) { var files, panel = panelParam || DOM.getPanel(), /* getting current element if was refresh */ @@ -412,6 +412,8 @@ var Util, DOM, CloudFunc; if (name === '..' && dir !== '/') currentToParent(dir); + + Util.exec(callback); } }); }