draft zone for widgets, closes #1238

v1.18.x
psychobunny 11 years ago
parent f01cb88c57
commit 7926514c95

@ -120,6 +120,8 @@ adminController.themes.get = function(req, res, next) {
plugins.fireHook('filter:widgets.getWidgets', [], next);
}
}, function(err, widgetData) {
widgetData.areas.push({ name: 'Drafts', template: 'global', location: 'drafts' });
async.each(widgetData.areas, function(area, next) {
widgets.getArea(area.template, area.location, function(err, areaData) {
area.data = areaData;

@ -284,9 +284,12 @@ SocketAdmin.themes.set = function(socket, data, callback) {
if(!data) {
return callback(new Error('invalid data'));
}
meta.themes.set(data, function() {
callback();
meta.restart()
widgets.reset(function(err) {
meta.themes.set(data, function() {
callback();
meta.restart();
});
});
};

@ -74,4 +74,25 @@ var async = require('async'),
});
};
Widgets.reset = function(callback) {
plugins.fireHook('filter:widgets.getAreas', [], function(err, areas) {
var drafts = [];
async.each(areas, function(area, next) {
Widgets.getArea(area.template, area.location, function(err, areaData) {
drafts = drafts.concat(areaData);
area.widgets = [];
Widgets.setArea(area, next);
});
}, function(err) {
console.log(drafts);
Widgets.setArea({
template: 'global',
location: 'drafts',
widgets: drafts
}, callback);
});
});
};
}(exports));
Loading…
Cancel
Save