refactor: integrate provider API methods for collection move/reorder

This commit is contained in:
jamesgeorge007
2024-02-20 22:16:03 +05:30
parent 0a0f441da1
commit fe01322bf7
9 changed files with 609 additions and 304 deletions

View File

@@ -87,10 +87,15 @@ export function resolveSaveContextOnCollectionReorder(
tab.value.document.saveContext?.originLocation ===
"workspace-user-collection"
) {
const newPath = affectedPaths.get(
const newCollectionID = affectedPaths.get(
tab.value.document.saveContext?.collectionID
)!
tab.value.document.saveContext.collectionID = newPath
const newRequestID = `${newCollectionID}/${
tab.value.document.saveContext.requestID.split("/").slice(-1)[0]
}`
tab.value.document.saveContext.collectionID = newCollectionID
tab.value.document.saveContext.requestID = newRequestID
}
}
}
@@ -134,12 +139,19 @@ export function updateSaveContextForAffectedRequests(
tab.value.document.saveContext?.originLocation ===
"workspace-user-collection"
) {
tab.value.document.saveContext = {
...tab.value.document.saveContext,
collectionID: tab.value.document.saveContext.collectionID.replace(
const newCollectionID =
tab.value.document.saveContext.collectionID.replace(
oldFolderPath,
newFolderPath
),
)
const newRequestID = `${newCollectionID}/${
tab.value.document.saveContext.requestID.split("/").slice(-1)[0]
}`
tab.value.document.saveContext = {
...tab.value.document.saveContext,
collectionID: newCollectionID,
requestID: newRequestID,
}
}
}

View File

@@ -63,6 +63,19 @@ export function resolveSaveContextOnRequestReorder(payload: {
)!
tab.value.document.saveContext.requestIndex = newIndex
}
if (
tab.value.document.saveContext?.originLocation ===
"workspace-user-collection"
) {
const requestID = tab.value.document.saveContext.requestID
const requestIDArray = requestID.split("/")
const requestIndex = affectedIndexes.get(
parseInt(requestIDArray[requestIDArray.length - 1])
)!
requestIDArray[requestIDArray.length - 1] = requestIndex.toString()
tab.value.document.saveContext.requestID = requestIDArray.join("/")
}
}
}