84 lines
2.1 KiB
JavaScript
84 lines
2.1 KiB
JavaScript
$(function()
|
|
{
|
|
$('#dashboard').dashboard(
|
|
{
|
|
height : 240,
|
|
draggable : true,
|
|
shadowType : false,
|
|
afterOrdered : sortBlocks,
|
|
afterPanelRemoved : deleteBlock,
|
|
sensitive : true,
|
|
onResize : resizeBlock,
|
|
panelRemovingTip : config.confirmRemoveBlock
|
|
});
|
|
});
|
|
|
|
/**
|
|
* Delete block.
|
|
*
|
|
* @param int $index
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
function deleteBlock(index)
|
|
{
|
|
$.getJSON(createLink('block', 'delete', 'index=' + index), function(data)
|
|
{
|
|
if(data.result != 'success')
|
|
{
|
|
alert(data.message);
|
|
return false;
|
|
}
|
|
})
|
|
}
|
|
|
|
/**
|
|
* Sort blocks.
|
|
*
|
|
* @param object $orders format is {'block2' : 1, 'block1' : 2, oldOrder : newOrder}
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
function sortBlocks(orders)
|
|
{
|
|
var oldOrder = new Array();
|
|
var newOrder = new Array();
|
|
for(i in orders)
|
|
{
|
|
oldOrder.push(i.replace('block', ''));
|
|
newOrder.push(orders[i]);
|
|
}
|
|
|
|
$.getJSON(createLink('block', 'sort', 'oldOrder=' + oldOrder.join(',') + '&newOrder=' + newOrder.join(',')), function(data)
|
|
{
|
|
|
|
if(data.result != 'success') return false;
|
|
|
|
$('#dashboard .panel').each(function()
|
|
{
|
|
var index = $(this).data('order');
|
|
/* Update new index for block id edit and delete. */
|
|
$(this).attr('id', 'block' + index).attr('data-id', index).data('url', createLink('block', 'printBlock', 'index=' + index));
|
|
$(this).find('.panel-actions .edit-block').attr('href', createLink('block', 'admin', 'index=' + index));
|
|
});
|
|
|
|
$.zui.messager.success(config.ordersSaved);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Resize block
|
|
* @param object $event
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
function resizeBlock(event)
|
|
{
|
|
var blockID = event.element.find('.panel').data('blockid');
|
|
var data = event.type == 'vertical' ? event.height : event.grid;
|
|
$.getJSON(createLink('block', 'resize', 'id=' + blockID + '&type=' + event.type + '&data=' + data), function(data)
|
|
{
|
|
if(data.result !== 'success') event.revert();
|
|
});
|
|
}
|