From 1702b3787722d6ac1af2dcb1ca2c95b48029de61 Mon Sep 17 00:00:00 2001 From: j <0x006A@0x2620.org> Date: Mon, 3 Feb 2014 12:50:17 +0000 Subject: [PATCH] use the right index while adding clips to an edit --- static/js/editPanel.js | 7 ++++++- static/js/utils.js | 12 +++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/static/js/editPanel.js b/static/js/editPanel.js index d671f198a..d33b54aec 100644 --- a/static/js/editPanel.js +++ b/static/js/editPanel.js @@ -232,7 +232,12 @@ pandora.ui.editPanel = function() { var clips = pandora.clipboard.paste(); pandora.doHistory('paste', clips, ui.edit, function(result) { Ox.Request.clearCache('getEdit'); - updateClips(edit.clips.concat(result.data.clips)); + updateClips(edit.clips.map(function(clip) { + if (clip.index >= result.data.clips[0].index) { + clip.index += result.data.clips.length + } + return clip; + }).concat(result.data.clips)); }); }, playing: function(data) { diff --git a/static/js/utils.js b/static/js/utils.js index 287ef2699..d6801fcd7 100644 --- a/static/js/utils.js +++ b/static/js/utils.js @@ -413,7 +413,17 @@ pandora.createLinks = function($element) { } }); } else { - pandora.api.addClips({clips: getClipData(items), edit: target, index: 0}, function(result) { + + pandora.api.addClips({ + clips: getClipData(items), + edit: target, + index: pandora.user.ui.edits[pandora.user.ui.edit].selection.length + ? Ox.getObjectById( + pandora.$ui.editPanel.options('clips'), + pandora.user.ui.edits[pandora.user.ui.edit].selection[0] + ).index + : void 0 + }, function(result) { // adding clips creates new ids, so mutate items in history items.splice.apply(items, [0, items.length].concat(getClipItems(result.data.clips))); callback(result, items);