--- a/src/pyams_portal/resources/js/portal.js Mon Jun 11 15:29:20 2018 +0200
+++ b/src/pyams_portal/resources/js/portal.js Mon Jun 11 15:30:26 2018 +0200
@@ -231,7 +231,9 @@
var new_slot = $('<div></div>').addClass('slot context-menu col col-xs-12 col-sm-12 col-md-12 col-lg-12 resizable')
.attr('data-ams-slot-name', slot_name)
.append($('<div></div>').addClass('header padding-x-5')
- .text(slot_name))
+ .append('<i class="fa fa-fw fa-minus-square pull-right padding-top-2" ' +
+ ' data-ams-click-handler="PyAMS_portal.template.switchSlot"></i>')
+ .append(slot_name))
.append($('<div></div>').addClass('portlets')
.sortable({
placeholder: 'portlet-highlight',
@@ -374,6 +376,20 @@
{order: JSON.stringify(order)});
},
+ switchSlot: function() {
+ var switcher = $(this);
+ var portlets = switcher.parents('.header').first().siblings('.portlets');
+ if (portlets.hasClass('hidden')) {
+ portlets.removeClass('hidden');
+ switcher.removeClass('fa-plus-square')
+ .addClass('fa-minus-square');
+ } else {
+ portlets.addClass('hidden');
+ switcher.removeClass('fa-minus-square')
+ .addClass('fa-plus-square');
+ }
+ },
+
deleteSlot: function() {
return function(slot) {
MyAMS.skin.bigBox({
@@ -410,7 +426,9 @@
var portlet = $('<div></div>').addClass('portlet context-menu')
.attr('data-ams-portlet-id', result.portlet_id)
.append($('<div></div>').addClass('header padding-x-5')
- .text(result.label))
+ .append('<i class="fa fa-fw fa-minus-square pull-right padding-top-2" ' +
+ ' data-ams-click-handler="PyAMS_portal.template.switchPortlet"></i>')
+ .append(result.label))
. append($('<div></div>').addClass('preview')
.html(result.preview || ''))
.contextMenu({
@@ -493,6 +511,20 @@
{order: JSON.stringify(order)});
},
+ switchPortlet: function() {
+ var switcher = $(this);
+ var portlet = switcher.parents('.header').first().siblings('.preview');
+ if (portlet.hasClass('hidden')) {
+ portlet.removeClass('hidden');
+ switcher.removeClass('fa-plus-square')
+ .addClass('fa-minus-square');
+ } else {
+ portlet.addClass('hidden');
+ switcher.removeClass('fa-minus-square')
+ .addClass('fa-plus-square');
+ }
+ },
+
deletePortlet: function() {
return function(portlet) {
MyAMS.skin.bigBox({