aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/server.js6
-rw-r--r--res/client.js6
-rw-r--r--src/VideoList.hx4
-rw-r--r--src/client/Player.hx2
-rw-r--r--src/server/Main.hx2
5 files changed, 15 insertions, 5 deletions
diff --git a/build/server.js b/build/server.js
index c696e07..e331536 100644
--- a/build/server.js
+++ b/build/server.js
@@ -2046,7 +2046,11 @@ _$VideoList_VideoList_$Impl_$.addItem = function(this1,item,atEnd,itemPos) {
_$VideoList_VideoList_$Impl_$.setNextItem = function(this1,pos,itemPos) {
var next = this1[pos];
HxOverrides.remove(this1,next);
+ if(pos < itemPos) {
+ --itemPos;
+ }
this1.splice(itemPos + 1,0,next);
+ return itemPos;
};
_$VideoList_VideoList_$Impl_$.toggleItemType = function(this1,pos) {
this1[pos].isTemp = !this1[pos].isTemp;
@@ -3644,7 +3648,7 @@ server_Main.prototype = {
if(pos == this.itemPos || pos == this.itemPos + 1) {
return;
}
- _$VideoList_VideoList_$Impl_$.setNextItem(this.videoList,pos,this.itemPos);
+ this.itemPos = _$VideoList_VideoList_$Impl_$.setNextItem(this.videoList,pos,this.itemPos);
this.broadcast(data);
break;
case "SetRate":
diff --git a/res/client.js b/res/client.js
index 2093e37..cb8ea2a 100644
--- a/res/client.js
+++ b/res/client.js
@@ -406,7 +406,11 @@ _$VideoList_VideoList_$Impl_$.addItem = function(this1,item,atEnd,itemPos) {
_$VideoList_VideoList_$Impl_$.setNextItem = function(this1,pos,itemPos) {
var next = this1[pos];
HxOverrides.remove(this1,next);
+ if(pos < itemPos) {
+ --itemPos;
+ }
this1.splice(itemPos + 1,0,next);
+ return itemPos;
};
_$VideoList_VideoList_$Impl_$.toggleItemType = function(this1,pos) {
this1[pos].isTemp = !this1[pos].isTemp;
@@ -1772,7 +1776,7 @@ client_Player.prototype = {
};
}
,setNextItem: function(pos) {
- _$VideoList_VideoList_$Impl_$.setNextItem(this.items,pos,this.itemPos);
+ this.itemPos = _$VideoList_VideoList_$Impl_$.setNextItem(this.items,pos,this.itemPos);
var next = this.videoItemsEl.children[pos];
this.videoItemsEl.removeChild(next);
client_Utils.insertAtIndex(this.videoItemsEl,next,this.itemPos + 1);
diff --git a/src/VideoList.hx b/src/VideoList.hx
index e2d88d5..0799cfa 100644
--- a/src/VideoList.hx
+++ b/src/VideoList.hx
@@ -39,10 +39,12 @@ abstract VideoList(Array<VideoItem>) from Array<VideoItem> to Array<VideoItem> {
else this.insert(itemPos + 1, item);
}
- public function setNextItem(pos:Int, itemPos:Int):Void {
+ public function setNextItem(pos:Int, itemPos:Int):Int {
final next = this[pos];
this.remove(next);
+ if (pos < itemPos) itemPos--;
this.insert(itemPos + 1, next);
+ return itemPos;
}
public function toggleItemType(pos:Int):Void {
diff --git a/src/client/Player.hx b/src/client/Player.hx
index b0b52a7..ad10814 100644
--- a/src/client/Player.hx
+++ b/src/client/Player.hx
@@ -73,7 +73,7 @@ class Player {
}
public function setNextItem(pos:Int):Void {
- items.setNextItem(pos, itemPos);
+ itemPos = items.setNextItem(pos, itemPos);
final next = videoItemsEl.children[pos];
videoItemsEl.removeChild(next);
diff --git a/src/server/Main.hx b/src/server/Main.hx
index 6104446..b4fe68e 100644
--- a/src/server/Main.hx
+++ b/src/server/Main.hx
@@ -519,7 +519,7 @@ class Main {
if (!checkPermission(client, ChangeOrderPerm)) return;
final pos = data.setNextItem.pos;
if (pos == itemPos || pos == itemPos + 1) return;
- videoList.setNextItem(pos, itemPos);
+ itemPos = videoList.setNextItem(pos, itemPos);
broadcast(data);
case ToggleItemType:
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage