diff --git a/module/block/js/dashboard.js b/module/block/js/dashboard.js
index 71cfd9d810..6ed71c87a7 100644
--- a/module/block/js/dashboard.js
+++ b/module/block/js/dashboard.js
@@ -235,11 +235,31 @@ $(function()
});
// Init dashboard
+ var sortMessager = new $.zui.Messager({close: false});
$('#dashboard').sortable(
{
selector: '.panel',
trigger: '.panel-heading:not(.not-move-handler),.panel-move-handler',
containerSelector: '.col-main,.col-side',
+ canMoveHere: function($ele, $target)
+ {
+ var fixedCol = $ele.data('fixed');
+ if(fixedCol)
+ {
+ var $targetCol = $target.closest('.col-main,.col-side');
+ var targetCol = $targetCol.hasClass('col-main') ? 'main' : 'side';
+ if(targetCol !== fixedCol)
+ {
+ !sortMessager.isShow && sortMessager.show(fixedCol === 'main' ? config.cannotPlaceInLeft : config.cannotPlaceInRight);
+ return false;
+ }
+ else
+ {
+ sortMessager.isShow && sortMessager.hide();
+ }
+ return true;
+ }
+ },
start: function()
{
$('body').css('overflow', 'hidden');
@@ -259,7 +279,8 @@ $(function()
});
e.element.toggleClass('block-sm', isSideCol);
- }
+ },
+ always: function(){sortMessager.isShow && sortMessager.hide();}
}).on('click', '.refresh-panel', function()
{
refreshBlock($(this).closest('.panel'));
diff --git a/module/block/lang/de.php b/module/block/lang/de.php
index 7992ff1b06..24cc122e5b 100644
--- a/module/block/lang/de.php
+++ b/module/block/lang/de.php
@@ -93,6 +93,8 @@ $lang->block->refresh = 'Aktualisieren';
$lang->block->nbsp = '';
$lang->block->hidden = 'Verstecken';
$lang->block->dynamicInfo = "%s %s %s %s %s";
+$lang->block->cannotPlaceInLeft = 'Kann den Block nicht auf der linken Seite platzieren.';
+$lang->block->cannotPlaceInRight = 'Kann den Block nicht auf der rechten Seite platzieren.';
$lang->block->productName = $lang->productCommon . ' Name';
$lang->block->totalStory = 'The Total ' . $lang->SRCommon;
diff --git a/module/block/lang/en.php b/module/block/lang/en.php
index d3dc6dd148..f60c95a5cf 100644
--- a/module/block/lang/en.php
+++ b/module/block/lang/en.php
@@ -93,6 +93,8 @@ $lang->block->refresh = 'Refresh';
$lang->block->nbsp = ' ';
$lang->block->hidden = 'Hide';
$lang->block->dynamicInfo = "%s %s %s %s %s";
+$lang->block->cannotPlaceInLeft = 'Cannot place the block at left side.';
+$lang->block->cannotPlaceInRight = 'Cannot place the block at right side.';
$lang->block->productName = $lang->productCommon . ' Name';
$lang->block->totalStory = 'The Total ' . $lang->SRCommon;
diff --git a/module/block/lang/fr.php b/module/block/lang/fr.php
index e8d6a3ef0b..f3fe6e569c 100644
--- a/module/block/lang/fr.php
+++ b/module/block/lang/fr.php
@@ -93,6 +93,8 @@ $lang->block->refresh = 'Rafraichir';
$lang->block->nbsp = ' ';
$lang->block->hidden = 'Masquer';
$lang->block->dynamicInfo = "%s %s %s %s %s";
+$lang->block->cannotPlaceInLeft = 'Impossible de placer le bloc à gauche.';
+$lang->block->cannotPlaceInRight = 'Impossible de placer le bloc à droite.';
$lang->block->productName = $lang->productCommon . ' Name';
$lang->block->totalStory = 'The Total ' . $lang->SRCommon;
diff --git a/module/block/lang/vi.php b/module/block/lang/vi.php
index a2a8ffedcf..7d80c07ad3 100644
--- a/module/block/lang/vi.php
+++ b/module/block/lang/vi.php
@@ -93,6 +93,8 @@ $lang->block->refresh = 'Refresh';
$lang->block->nbsp = ' ';
$lang->block->hidden = 'Ẩn';
$lang->block->dynamicInfo = "%s %s %s %s %s";
+$lang->block->cannotPlaceInLeft = 'Khối này không thể được đặt ở bên trái.';
+$lang->block->cannotPlaceInRight = 'Khối này không thể được đặt ở bên phải.';
$lang->block->productName = $lang->productCommon . ' Name';
$lang->block->totalStory = 'The Total ' . $lang->SRCommon;
diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php
index f96eac4a08..c323af5727 100644
--- a/module/block/lang/zh-cn.php
+++ b/module/block/lang/zh-cn.php
@@ -93,6 +93,8 @@ $lang->block->refresh = '刷新';
$lang->block->nbsp = '';
$lang->block->hidden = '隐藏';
$lang->block->dynamicInfo = "%s %s %s %s %s";
+$lang->block->cannotPlaceInLeft = '此区块无法放置在左侧。';
+$lang->block->cannotPlaceInRight = '此区块无法放置在右侧。';
$lang->block->productName = $lang->productCommon . '名称';
$lang->block->totalStory = '总' . $lang->SRCommon;
diff --git a/module/block/lang/zh-tw.php b/module/block/lang/zh-tw.php
index 1f1fa7978d..d764317cd9 100644
--- a/module/block/lang/zh-tw.php
+++ b/module/block/lang/zh-tw.php
@@ -93,6 +93,8 @@ $lang->block->refresh = '刷新';
$lang->block->nbsp = '';
$lang->block->hidden = '隱藏';
$lang->block->dynamicInfo = "%s %s %s %s %s";
+$lang->block->cannotPlaceInLeft = '此區塊無法放置在左側。';
+$lang->block->cannotPlaceInRight = '此區塊無法放置在右側。';
$lang->block->productName = $lang->productCommon . '名稱';
$lang->block->totalStory = '總' . $lang->SRCommon;
diff --git a/module/block/view/dashboard.html.php b/module/block/view/dashboard.html.php
index 484f5d26dc..700925e45a 100644
--- a/module/block/view/dashboard.html.php
+++ b/module/block/view/dashboard.html.php
@@ -101,8 +101,11 @@ $useGuest = $this->app->user->account == 'guest';