diff options
| author | RblSb <msrblsb@gmail.com> | 2020-05-12 05:53:12 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2020-05-12 05:53:12 +0300 |
| commit | 2f4005083452d61ddaf7542b195927b1d0d6227f (patch) | |
| tree | 42378b7d97e132971072c576329e8605f512b04d | |
| parent | 9b960a699739c17179cdb1d5c9c9cb3efa912ebe (diff) | |
Fix setNext item button
| -rw-r--r-- | build/server.js | 6 | ||||
| -rw-r--r-- | res/client.js | 6 | ||||
| -rw-r--r-- | src/VideoList.hx | 4 | ||||
| -rw-r--r-- | src/client/Player.hx | 2 | ||||
| -rw-r--r-- | src/server/Main.hx | 2 |
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: |
