diff --git a/~dev_rating/media/css/discipline.css b/~dev_rating/media/css/discipline.css index 6e900b92cc58b41b47b11f6942770c89d0f1b1b5..51764f2e0f5ee21fb89f4260561f7fe27d09f094 100644 --- a/~dev_rating/media/css/discipline.css +++ b/~dev_rating/media/css/discipline.css @@ -165,6 +165,7 @@ } .moduleList { padding: 0 4px; + position: relative; } .empty { /* РљРѕРіРґР° нет структуры сообщение */ @@ -174,6 +175,8 @@ /* Div, РІ котором модуль Рё его мероприятия */ .moduleGroup { padding: 5px 4px 15px 4px; + position: relative; + /*display: none;*/ } /* Количество баллов (индикатор) */ .rateIndicatorDIV { @@ -283,6 +286,7 @@ /* РЎРїРёСЃРѕРє мероприятий (подмодулей) */ .submodules { + position: relative; } /* Мероприятие (Подмодуль) */ .submodule { @@ -290,6 +294,7 @@ padding: 6px 15px; margin: 5px 8px 8px 8px; box-shadow: 2px 2px 2px #ccc; + position: relative; } /* Ркзамен */ .ExamModule { diff --git a/~dev_rating/media/js/discipline/EditStructure.js b/~dev_rating/media/js/discipline/EditStructure.js index d84c7cc7ef8a112a8de46abd99dc77168bb79d79..c659f68fb6436b411a21c54809e532e88add5e3f 100644 --- a/~dev_rating/media/js/discipline/EditStructure.js +++ b/~dev_rating/media/js/discipline/EditStructure.js @@ -40,13 +40,17 @@ var jConfirmPrototype = $($.parseHTML( // Шаблон мероприятия function ConstructSubmodule(){ - return jSubmodulePrototype.clone(); + var temp = jSubmodulePrototype.clone(); + temp.css('display','none'); + return temp; } // Шаблон модуля function ConstructModule() { var ret = jModulePrototype.clone(); + ret.css('display','none'); ret.children('div.submodules').append(ConstructSubmodule()); + return ret; }; @@ -154,6 +158,7 @@ var jConfirmPrototype = $($.parseHTML( CountCurrentControl(jSubModulesDiv); CountLandmarkControl(jSubModulesDiv); } + // Поменять местами РґРІР° модуля function SwapModuleOrder(jModule1, jModule2) { @@ -166,7 +171,22 @@ var jConfirmPrototype = $($.parseHTML( function(data){ data = $.parseJSON(data); if(data.success === true) { - jModule1.insertBefore(jModule2); + + var distance = Math.abs(jModule1.offset().top - jModule2.offset().top); + var hDiff = Math.abs(jModule1.height() - jModule2.height()); + + $.when(jModule1.animate({ + top: -distance + }, 200), + jModule2.animate({ + top: distance + }, 200)).done(function () { + jModule1.css('top', '0px'); + jModule2.css('top', '0px'); + jModule1.insertBefore(jModule2); + animating = false; + }); + } else EventInspector_ShowMsg('Ошибка РїСЂРё изменении РїРѕСЂСЏРґРєР° модулей', 'error'); } @@ -184,7 +204,23 @@ var jConfirmPrototype = $($.parseHTML( function(data){ data = $.parseJSON(data); if(data.success === true) { - jSubmodule1.insertBefore(jSubmodule2); + + var distance = Math.abs(jSubmodule1.offset().top - jSubmodule2.offset().top); + var hDiff = Math.abs(jSubmodule1.height() - jSubmodule2.height()); + + $.when(jSubmodule1.animate({ + top: -distance + }, 200), + jSubmodule2.animate({ + top: distance + }, 200)).done(function () { + jSubmodule1.css('top', '0px'); + jSubmodule2.css('top', '0px'); + jSubmodule1.insertBefore(jSubmodule2); + animating = false; + }); + + //jSubmodule1.insertBefore(jSubmodule2); } else EventInspector_ShowMsg('Ошибка РїСЂРё изменении РїРѕСЂСЏРґРєР° мероприятий', 'error'); @@ -198,6 +234,7 @@ var jConfirmPrototype = $($.parseHTML( $(".moduleList").on('click', '.upModule', function(){ var jCkickedModule = $(this).parent().parent().parent(); var jModuleGroupDiv = jCkickedModule.prev('div.moduleGroup'); + if (jModuleGroupDiv.length > 0) { SwapModuleOrder(jCkickedModule, jModuleGroupDiv); } @@ -207,6 +244,7 @@ var jConfirmPrototype = $($.parseHTML( $(".moduleList").on('click', '.downModule', function(){ var jCkickedModule = $(this).parent().parent().parent(); var jModuleGroupDiv = jCkickedModule.next('div.moduleGroup'); + if (jModuleGroupDiv.length > 0) { SwapModuleOrder(jModuleGroupDiv, jCkickedModule); } @@ -233,7 +271,7 @@ var jConfirmPrototype = $($.parseHTML( // Добавить модуль $('.addModule').click(function(){ var jThis = $(this); - $(this).attr("disabled", true); + $(this).attr("disabled", true); var orderNum = $('div.moduleGroup', 'div.moduleList').last().index('.moduleGroup') + 2; $.post( g_URLdir + 'handler/map/AddModule', @@ -242,6 +280,7 @@ var jConfirmPrototype = $($.parseHTML( }, function(data){ data = $.parseJSON(data); + if(data.success === true) { var place = $('.moduleList').children('.moduleGroup').last(); if (place.length > 0) @@ -253,6 +292,8 @@ var jConfirmPrototype = $($.parseHTML( // Рљ добавленному модулю добавляем ID var thisModuleDIV = $('div.moduleGroup').eq(orderNum - 1); thisModuleDIV.attr('id', data.moduleID); + $('#'+data.moduleID).slideDown(200); + // Рљ добавленному РІ модуль мероприятию добавляем ID thisModuleDIV.children('div.submodules').children('div.submodule').eq(0).attr('id', data.submoduleID); } else @@ -283,6 +324,8 @@ var jConfirmPrototype = $($.parseHTML( // Рљ добавленному мероприятию добавляем ID jSubmodulesDIV.append(ConstructSubmodule()); jSubmodulesDIV.children('div.submodule').eq(orderNum - 1).attr('id', data.submoduleID); + $('#'+data.submoduleID).slideDown(200); + } else EventInspector_ShowMsg('Ошибка РїСЂРё добавлении мероприятия', 'error'); jThis.removeAttr('disabled'); } @@ -301,7 +344,6 @@ var jConfirmPrototype = $($.parseHTML( // Подтверждение РїСЂРё удаление модуля $('.moduleList').on('click', '.confirmDeleteModule', function(){ var jThis = $(this); - $.post( g_URLdir + 'handler/map/DeleteModule', { @@ -310,8 +352,12 @@ var jConfirmPrototype = $($.parseHTML( function(data){ data = $.parseJSON(data); if(data.success === true) { - jThis.parent().parent().parent().remove(); + jThis.parent().parent().parent().slideUp(200); + setTimeout('jThis.parent().parent().parent().remove()', 200); + + + var c = 0; $('div.moduleGroup') .children('div.moduleHead') @@ -390,7 +436,8 @@ var jConfirmPrototype = $($.parseHTML( old = rateIndicator.html(); rateIndicator.html(old - dif1 - dif2); - jThis.parent().parent().remove(); + jThis.parent().parent().slideUp(200); + setTimeout('jThis.parent().parent().remove()', 200); } else EventInspector_ShowMsg('Ошибка РїСЂРё удалении мероприятия', 'error'); } diff --git a/~dev_rating/media/js/profile.js b/~dev_rating/media/js/profile.js index 835fba810829f3e70447c3b7eeb9d75a1d2e6b33..5458662680b9a5713d69360be360d26c30c49341 100644 --- a/~dev_rating/media/js/profile.js +++ b/~dev_rating/media/js/profile.js @@ -9,7 +9,7 @@ $(function() if (flag === true) { flag = false; } else if (isOpened === true) { - jProfiler.css('display', 'none'); + jProfiler.slideUp(200);//css('display', 'none'); isOpened = false; } }); @@ -22,12 +22,12 @@ $(function() flag = true; if(isOpened) { - jProfiler.css('display', 'none'); + jProfiler.slideUp(200);//css('display', 'none'); isOpened = false; } else { - jProfiler.css('display', 'block'); + jProfiler.slideDown(200);//css('display', 'block'); isOpened = true; } });