From b2b9117061cd78a763c14cb2183c71254990892c Mon Sep 17 00:00:00 2001 From: ChangHyun Lee Date: Tue, 11 Apr 2017 19:02:42 +0900 Subject: [PATCH] [TIC-Web] fix the recipe order - fix the recipe order Change-Id: I14a4b017d0130a991792090bfd4a9678c270c6a3 Signed-off-by: ChangHyun Lee --- public/src/index.html | 4 ++-- public/src/js/page/settings.js | 34 +++++++++++++++++++++++++++------- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/public/src/index.html b/public/src/index.html index 77c5be3..de31545 100644 --- a/public/src/index.html +++ b/public/src/index.html @@ -433,9 +433,9 @@ -
+
-
+
diff --git a/public/src/js/page/settings.js b/public/src/js/page/settings.js index e6f0ce5..f969be4 100644 --- a/public/src/js/page/settings.js +++ b/public/src/js/page/settings.js @@ -28,6 +28,10 @@ define([ return recipeStore; } + function setRecipeStore(store) { + recipeStore = store; + } + function _addRecipe(recipe) { var $recipe; if (recipe.type === 'recipe') { @@ -45,7 +49,6 @@ define([ $('#tic-recipe-list').append($recipe); } - // TODO: set/get sortable recipe function _updateRecipe() { var $recipe = $('#tic-recipe-list'); $recipe.empty(); @@ -56,16 +59,14 @@ define([ } function updatePackage() { - // FIXME: var postBody = { - //repos : _.map(_.orderBy(recipeStore, ['priority']), 'url'), recipes : recipeStore }; return Util.POST(CONFIG.EVENT.PACKAGE.ANALYSIS, postBody) .then(function (result) { if (result.result === 'true') { - recipeStore = result.data.recipes; + setRecipeStore(result.data.recipes); _updateRecipe(); return result.data; } else { @@ -88,7 +89,7 @@ define([ function _importHandler() { Import.showImportDialog(recipeStore) .then(function(recipes) { - recipeStore = recipes; + setRecipeStore(recipes); _updateRecipe(); }); } @@ -123,7 +124,7 @@ define([ pullPlaceholder: false, // set $item relative to cursor position - onDragStart: function ($item, container, _super) { + onDragStart: function($item, container, _super) { var offset = $item.offset() var pointer = container.rootGroup.pointer; adjustment = { @@ -132,11 +133,30 @@ define([ }; _super($item, container); }, - onDrag: function ($item, position) { + onDrag: function($item, position) { $item.css({ left: position.left - adjustment.left, top: position.top - adjustment.top }); + }, + onDrop: function($item, container, _super) { + // reorder for recipe + var recipeItems = $('#tic-recipe-list li'); + var store = []; + _.forEach(recipeItems, function(recipeItem) { + store.push(_.find(getRecipeStore(), { url: recipeItem.id })); + }); + setRecipeStore(store); + + // animation on drop + var $clonedItem = $('
  • ').css({height: 0}); + $item.before($clonedItem); + $clonedItem.animate({'height': $item.height()}); + + $item.animate($clonedItem.position(), function() { + $clonedItem.detach(); + _super($item, container); + }); } }); -- 2.7.4