* Initial UI refactor - move raw and key-value body to components and tabs * Delete package-lock.json * deps * Add multipart/form-data as a content type * fix: add default contentType value * Allow http body param request body with multipart/form-data * Add form data to vuex * move raw body components to 'Raw Request Body' tab * Add files addition logic * Set Dockerfile to run nuxt in dev mode * Set Dockerfile to run nuxt in dev mode * Draft version of file upload * refactor: clean up * Add file chip to denote file input * Remove console.log * refactor(ui): matching styles * refactor(ui): matching styles * fix(ui): mobile responsiveness * fix(ui): mobile responsiveness * refactor: minor cleanup * Remove file from any form of persistence * Add warning that form data files will not be saved to local storage * Add remove file functionality * Prevent file from being saved to collections * Remove console.log * fix active toggle on multipart/form-data + cleanup * auto import components Co-authored-by: nelsontky <nelson@ccb.wtf>
154 lines
3.7 KiB
JavaScript
154 lines
3.7 KiB
JavaScript
import Vue from "vue"
|
|
|
|
export default {
|
|
setState({ request }, { attribute, value }) {
|
|
request[attribute] = value
|
|
},
|
|
|
|
setGQLState({ gql }, { attribute, value }) {
|
|
gql[attribute] = value
|
|
},
|
|
|
|
setCollapsedSection({ theme }, value) {
|
|
theme.collapsedSections.includes(value)
|
|
? (theme.collapsedSections = theme.collapsedSections.filter((section) => section !== value))
|
|
: theme.collapsedSections.push(value)
|
|
},
|
|
|
|
addGQLHeader({ gql }, object) {
|
|
gql.headers.push(object)
|
|
},
|
|
|
|
setActiveGQLHeader({ gql }, { index, value }) {
|
|
if (!gql.headers[index].hasOwnProperty("active")) {
|
|
Vue.set(gql.headers[index], "active", value)
|
|
} else {
|
|
gql.headers[index].active = value
|
|
}
|
|
},
|
|
|
|
removeGQLHeader({ gql }, index) {
|
|
gql.headers.splice(index, 1)
|
|
},
|
|
|
|
setGQLHeaderKey({ gql }, { index, value }) {
|
|
gql.headers[index].key = value
|
|
},
|
|
|
|
setGQLHeaderValue({ gql }, { index, value }) {
|
|
gql.headers[index].value = value
|
|
},
|
|
|
|
addHeaders({ request }, value) {
|
|
request.headers.push(value)
|
|
},
|
|
|
|
removeHeaders({ request }, index) {
|
|
request.headers.splice(index, 1)
|
|
},
|
|
|
|
setKeyHeader({ request }, { index, value }) {
|
|
request.headers[index].key = value
|
|
},
|
|
|
|
setValueHeader({ request }, { index, value }) {
|
|
request.headers[index].value = value
|
|
},
|
|
|
|
setActiveHeader({ request }, { index, value }) {
|
|
if (!request.headers[index].hasOwnProperty("active")) {
|
|
Vue.set(request.headers[index], "active", value)
|
|
} else {
|
|
request.headers[index].active = value
|
|
}
|
|
},
|
|
|
|
addParams({ request }, value) {
|
|
request.params.push(value)
|
|
},
|
|
|
|
removeParams({ request }, index) {
|
|
request.params.splice(index, 1)
|
|
},
|
|
|
|
setKeyParams({ request }, { index, value }) {
|
|
request.params[index].key = value
|
|
},
|
|
|
|
setValueParams({ request }, { index, value }) {
|
|
request.params[index].value = value
|
|
},
|
|
|
|
setTypeParams({ request }, { index, value }) {
|
|
request.params[index].type = value
|
|
},
|
|
|
|
setActiveParams({ request }, { index, value }) {
|
|
if (!request.params[index].hasOwnProperty("active")) {
|
|
Vue.set(request.params[index], "active", value)
|
|
} else {
|
|
request.params[index].active = value
|
|
}
|
|
},
|
|
|
|
addBodyParams({ request }, value) {
|
|
request.bodyParams.push(value)
|
|
},
|
|
|
|
removeBodyParams({ request }, index) {
|
|
request.bodyParams.splice(index, 1)
|
|
},
|
|
|
|
setKeyBodyParams({ request }, { index, value }) {
|
|
request.bodyParams[index].key = value
|
|
},
|
|
|
|
setValueBodyParams({ request }, { index, value }) {
|
|
request.bodyParams[index].value = value
|
|
},
|
|
|
|
// While this mutation is same as the setValueBodyParams above, it is excluded
|
|
// from vuex-persist. We will commit this mutation while adding a file
|
|
// param as there is no way to serialize File objects and thus we cannot
|
|
// persist file objects in localStorage
|
|
setFilesBodyParams({ request }, { index, value }) {
|
|
request.bodyParams[index].value = value
|
|
},
|
|
|
|
removeFile({ request }, { index, fileIndex }) {
|
|
request.bodyParams[index].value.splice(fileIndex, 1)
|
|
},
|
|
|
|
setActiveBodyParams({ request }, { index, value }) {
|
|
if (!request.bodyParams[index].hasOwnProperty("active")) {
|
|
Vue.set(request.bodyParams[index], "active", value)
|
|
} else {
|
|
request.bodyParams[index].active = value
|
|
}
|
|
},
|
|
|
|
setOAuth2({ oauth2 }, { attribute, value }) {
|
|
oauth2[attribute] = value
|
|
},
|
|
|
|
addOAuthToken({ oauth2 }, value) {
|
|
oauth2.tokens.push(value)
|
|
},
|
|
|
|
removeOAuthToken({ oauth2 }, index) {
|
|
oauth2.tokens.splice(index, 1)
|
|
},
|
|
|
|
setOAuthTokenName({ oauth2 }, { index, value }) {
|
|
oauth2.tokens[index].name = value
|
|
},
|
|
|
|
addOAuthTokenReq({ oauth2 }, value) {
|
|
oauth2.tokenReqs.push(value)
|
|
},
|
|
|
|
removeOAuthTokenReq({ oauth2 }, index) {
|
|
oauth2.tokenReqs.splice(index, 1)
|
|
},
|
|
}
|