1
0
Fork 0
forked from Simnation/Main
Main/resources/[tools]/unlimited-spectre/html/assets/Stash.70f72a04.js

2 lines
14 KiB
JavaScript
Raw Normal View History

2025-06-07 08:51:21 +02:00
import{Q as I}from"./QTooltip.9d840032.js";import{_ as Y,P as x,R as A,o as n,X as h,a7 as p,a as l,w as r,a6 as S,T as E,r as M,a5 as b,U as f,c as g,W as q,V as y,ab as C,ao as T,Y as v,Z as k,S as D,a9 as j,L as O,aO as w,bC as L,aF as P}from"./app-014d9ed9.js";import{F as G,I as R,E as Q,A as X,Q as H,a as B}from"./EditGameItem.ca08f00f.js";import{B as N}from"./BasicDialog.9dd9de92.js";import{d as z}from"./utils.9ce591f3.js";import"./position-engine.65ebcb34.js";import"./selection.2a17b691.js";import"./externalHosting.js";import"./QImg.91aecb73.js";import"./QItemLabel.b6dd3adb.js";import"./QSelect.d7ce3d4c.js";import"./rtl.b51694b1.js";import"./QMarkupTable.ba6854cc.js";import"./QForm.8d79ab03.js";const F={name:"GameStorage",components:{FakeItem:G,Item:R},data(){return{ACTION:x,RESOURCE:A,loading:!1,amount:0,supportStashSlots:250,storageSlots:0,storage:[],supStash:[],dragging:!1,dragAndDrop:{shiftX:null,shiftY:null,clonedElement:null,itemIndex:null,selectedElement:null}}},computed:{isMobile(){return this.$q.platform.is.mobile}},methods:{can:z,isNumeric(t){return/^-?\d+$/.test(t)},async loadStorage(){await this.$axios.post("/api/stashes/get",{identifier:this.$route.params.stashId,type:this.$route.query.type}).then(t=>{const e=t.data.resCode,s=t.data.storage,c=t.data.storageSlots,o=t.data.stash;if(!e||!s||!c||!o){this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t(`components.stashes.msg.error.${t.data.resMsg}`)}),setTimeout(this.$router.back(),1500);return}this.updateStorage(s,c),this.updateSupporterStash(o)}).catch(()=>{this.$q.notify({message:"Error",position:"top",color:"red",icon:"fas fa-exclamation-triangle",caption:this.$i18n.t("components.stashes.msg.error.failedLoad")}),this.$router.back()})},updateStorage(t,e){const s=Object.keys(t).length>e?Object.keys(t).length:e,c=new Array(s).fill(null);for(const[o,a]of Object.entries(t)){const m=a.slot;c[m-1]=a}this.storageSlots=e,this.storage=c},updateSupporterStash(t){const e=Object.keys(t).length>this.supportStashSlots?Object.keys(t).length:this.supportStashSlots,s=new Array(e).fill(null);for(const[c,o]of Object.entries(t)){const a=o.slot;s[a-1]=o}this.supStash=s},getTarget(t){const e=t.changedTouches?t.changedTouches[0]:!1;let s=t.target;return e&&(s=document.elementFromPoint(e.clientX,e.clientY)),s},selectItem(t){if(!this.can(x.GAME.STASHES.MODIFY,A.GAME)||this.dragging)return;this.dragging=!0;const e=document.getElementById(t.target.id);if(!e){this.dragging=!1;return}const s=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,c=(s||t).clientX,o=(s||t).clientY;this.dragAndDrop.shiftX=c-e.getBoundingClientRect().left,this.dragAndDrop.shiftY=o-e.getBoundingClientRect().top,this.dragAndDrop.selectedElement={style:e.style,classList:e.classList.toString()},this.dragAndDrop.itemIndex=t.target.id;const a=e.cloneNode(!0);a.id=`cloned-${e.id}`,document.getElementById("app").append(a),this.clonedElement=document.getElementById(`cloned-${e.id}`),this.clonedElement.style.left=`${c-this.dragAndDrop.shiftX}px`,this.clonedElement.style.top=`${o-this.dragAndDrop.shiftY}px`,this.clonedElement.classList.add("item-clone"),this.clonedElement.style.position="absolute",e.style.pointerEvents="none",e.style.setProperty("opacity","0.2","important"),document.addEventListener("mouseup",this.dropItem),document.addEventListener("touchend",this.dropItem),document.addEventListener("touchmove",this.updatePosition,{passive:!1}),document.addEventListener("mousemove",this.updatePosition)},updatePosition(t){const e=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,s=(e||t).clientX,c=(e||t).clientY;this.clonedElement.style.left=`${s-this.dragAndDrop.shiftX}px`,this.clonedElement.style.top=`${c-this.dragAndDrop.shiftY}px`,this.mouseOver(t),t.preventDefault()},mouseOver(t){const e=this.getTarget(t);if(this.lastHoverID){const s=document.getElementById(this.lastHoverID);s.style.setProperty("border","2px solid transparent"),s.children[0].classList.remove("text-negative"),this.lastHoverID=null}if(!(!t||!e||!e.id||