mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-09 15:35:47 +01:00
client-side saving of widgets
This commit is contained in:
@@ -154,6 +154,34 @@ define(['forum/admin/settings'], function(Settings) {
|
|||||||
$(this).parents('.panel').children('.panel-body').toggleClass('hidden');
|
$(this).parents('.panel').children('.panel-body').toggleClass('hidden');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#widgets .btn[data-template]').on('click', function() {
|
||||||
|
var btn = $(this),
|
||||||
|
template = btn.attr('data-template'),
|
||||||
|
location = btn.attr('data-location'),
|
||||||
|
area = btn.parents('.area').children('.widget-area'),
|
||||||
|
widgets = [];
|
||||||
|
|
||||||
|
area.find('.panel[data-widget]').each(function() {
|
||||||
|
var widget = {};
|
||||||
|
widget[this.getAttribute('data-widget')] = $(this).find('form').serializeArray();
|
||||||
|
widgets.push(widget);
|
||||||
|
});
|
||||||
|
|
||||||
|
socket.emit('admin.themes.widgets.set', {
|
||||||
|
template: template,
|
||||||
|
location: location,
|
||||||
|
widgets: widgets
|
||||||
|
}, function(err) {
|
||||||
|
app.alert({
|
||||||
|
alert_id: 'admin:widgets',
|
||||||
|
type: err ? 'danger' : 'success',
|
||||||
|
title: err ? 'Error' : 'Widgets Updated',
|
||||||
|
message: err ? err : 'Successfully updated widgets',
|
||||||
|
timeout: 2500
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return Themes;
|
return Themes;
|
||||||
|
|||||||
@@ -57,20 +57,24 @@
|
|||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<h4>Available Widgets</h4>
|
<h4>Available Widgets</h4>
|
||||||
<div class="well">
|
<div class="well">
|
||||||
<div class="panel panel-default pointer">
|
<div data-widget="html" class="panel panel-default pointer">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<strong>HTML</strong> <small>Any text, html, or embedded script.</small>
|
<strong>HTML</strong> <small>Any text, html, or embedded script.</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body hidden">
|
<div class="panel-body hidden">
|
||||||
<textarea class="form-control" rows="6" placeholder="Enter HTML"></textarea>
|
<form>
|
||||||
|
<textarea class="form-control" rows="6" name="html" placeholder="Enter HTML"></textarea>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel panel-default pointer">
|
<div data-widget="markdown" class="panel panel-default pointer">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<strong>Markdown</strong> <small>Markdown formatted text</small>
|
<strong>Markdown</strong> <small>Markdown formatted text</small>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body hidden">
|
<div class="panel-body hidden">
|
||||||
<textarea class="form-control" rows="6" placeholder="Enter Markdown"></textarea>
|
<form>
|
||||||
|
<textarea class="form-control" rows="6" name="markdown" placeholder="Enter Markdown"></textarea>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- BEGIN widgets -->
|
<!-- BEGIN widgets -->
|
||||||
@@ -81,10 +85,12 @@
|
|||||||
|
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<!-- BEGIN areas -->
|
<!-- BEGIN areas -->
|
||||||
<h4>{areas.name}</h4>
|
<div class="area">
|
||||||
|
<h4>{areas.name} <small>{areas.template} / {areas.location}</small> <button data-template="{areas.template}" data-location="{areas.location}" class="btn btn-success btn-xs pull-right">Save</button></h4>
|
||||||
<div class="well widget-area">
|
<div class="well widget-area">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<!-- END areas -->
|
<!-- END areas -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user