From cd71eb909d98d20449faa0bc04dd5135940a3a43 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Mon, 17 Oct 2016 20:13:05 +0300 Subject: [PATCH] closes #5125 --- src/navigation/admin.js | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/src/navigation/admin.js b/src/navigation/admin.js index a7caee97e0..39258e6702 100644 --- a/src/navigation/admin.js +++ b/src/navigation/admin.js @@ -1,30 +1,37 @@ "use strict"; -var admin = {}, - async = require('async'), - plugins = require('../plugins'), - db = require('../database'), - translator = require('../../public/src/modules/translator'); +var async = require('async'); +var plugins = require('../plugins'); +var db = require('../database'); +var translator = require('../../public/src/modules/translator'); +var pubsub = require('../pubsub'); + +var admin = {}; admin.cache = null; +pubsub.on('admin:navigation:save', function () { + admin.cache = null; +}); + admin.save = function (data, callback) { - var order = Object.keys(data), - items = data.map(function (item, idx) { - var data = {}; + var order = Object.keys(data); + var items = data.map(function (item, idx) { + var data = {}; - for (var i in item) { - if (item.hasOwnProperty(i)) { - item[i] = typeof item[i] === 'string' ? translator.escape(item[i]) : item[i]; - } + for (var i in item) { + if (item.hasOwnProperty(i)) { + item[i] = typeof item[i] === 'string' ? translator.escape(item[i]) : item[i]; } + } - data[idx] = item; - return JSON.stringify(data); - }); + data[idx] = item; + return JSON.stringify(data); + }); admin.cache = null; + pubsub.publish('admin:navigation:save'); async.waterfall([ function (next) { db.delete('navigation:enabled', next);