mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-09 07:25:46 +01:00
added containers; drag on top of widgets to set a custom container
This commit is contained in:
@@ -135,18 +135,34 @@ define(['forum/admin/settings'], function(Settings) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Themes.prepareWidgets = function() {
|
Themes.prepareWidgets = function() {
|
||||||
$('#widgets .panel').draggable({
|
$('#widgets .available-widgets .panel').draggable({
|
||||||
helper: function(e) {
|
helper: function(e) {
|
||||||
return $(e.target).parents('.panel').clone().addClass('block').width($(e.target.parentNode).width());
|
return $(e.target).parents('.panel').clone().addClass('block').width($(e.target.parentNode).width());
|
||||||
},
|
},
|
||||||
connectToSortable: ".widget-area"
|
connectToSortable: ".widget-area"
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#widgets .available-containers .containers > [data-container]').draggable({
|
||||||
|
helper: function(e) {
|
||||||
|
var target = $(e.target);
|
||||||
|
target = target.attr('data-container') ? target : target.parents('[data-container]');
|
||||||
|
|
||||||
|
return target.clone().addClass('block').width(target.width()).css('opacity', '0.5');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
function appendToggle(el) {
|
function appendToggle(el) {
|
||||||
if (!el.hasClass('block')) {
|
if (!el.hasClass('block')) {
|
||||||
el.addClass('block')
|
el.addClass('block')
|
||||||
|
.droppable({
|
||||||
|
drop: function(event, ui) {
|
||||||
|
$(this).find('.panel-heading small').html(ui.draggable.attr('data-container'));
|
||||||
|
},
|
||||||
|
hoverClass: "panel-info"
|
||||||
|
})
|
||||||
.children('.panel-heading')
|
.children('.panel-heading')
|
||||||
.append('<div class="pull-right pointer"><span class="delete-widget"><i class="fa fa-times-circle"></i></span> <span class="toggle-widget"><i class="fa fa-chevron-down"></i></span></div>');
|
.append('<div class="pull-right pointer"><span class="delete-widget"><i class="fa fa-times-circle"></i></span> <span class="toggle-widget"><i class="fa fa-chevron-down"></i></span></div>')
|
||||||
|
.children('small').html('');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,9 +54,20 @@
|
|||||||
<h3>Widgets</h3>
|
<h3>Widgets</h3>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-6 available-widgets">
|
<div class="col-xs-6 pull-right">
|
||||||
|
<!-- BEGIN areas -->
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
<!-- END areas -->
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 pull-left">
|
||||||
|
<div class="available-widgets">
|
||||||
<h4>Available Widgets</h4>
|
<h4>Available Widgets</h4>
|
||||||
<div class="well">
|
<div>
|
||||||
<!-- BEGIN widgets -->
|
<!-- BEGIN widgets -->
|
||||||
<div data-widget="{widgets.widget}" class="panel panel-default pointer">
|
<div data-widget="{widgets.widget}" class="panel panel-default pointer">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
@@ -72,15 +83,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-6">
|
<div class="available-containers">
|
||||||
<!-- BEGIN areas -->
|
<h4>Available Containers</h4>
|
||||||
<div class="area">
|
<div class="containers">
|
||||||
<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="pointer" style="padding: 20px; border: 1px dotted #dedede; margin-bottom: 20px;" data-container=" ">
|
||||||
<div class="well widget-area">
|
None
|
||||||
|
</div>
|
||||||
|
<div class="well pointer" data-container="well">
|
||||||
|
Well
|
||||||
|
</div>
|
||||||
|
<div class="panel panel-default pointer" data-container="panel">
|
||||||
|
<div class="panel-heading">
|
||||||
|
Panel Header
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
Panel Body
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- END areas -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user