173 lines
3.4 KiB
JavaScript
173 lines
3.4 KiB
JavaScript
// Get Instance for connection
|
|
import request from '@/utils/request'
|
|
import { config } from '@/utils/ADempiere/config'
|
|
|
|
import { isEmptyValue } from '@/utils/ADempiere/valueUtils.js'
|
|
|
|
/**
|
|
* Request a Lookup data from Reference
|
|
* The main attributes that function hope are:
|
|
* @param {string} tableName
|
|
* @param {string} directQuery
|
|
* @param {string|number} value
|
|
*/
|
|
export function requestLookup({
|
|
tableName,
|
|
directQuery,
|
|
value
|
|
}) {
|
|
let filters = []
|
|
if (!isEmptyValue(value)) {
|
|
filters = [{
|
|
value
|
|
}]
|
|
}
|
|
return request({
|
|
baseURL: config.adempiere.api.url,
|
|
url: '/ui/get-lookup-item',
|
|
method: 'post',
|
|
data: {
|
|
table_name: tableName,
|
|
query: directQuery,
|
|
filters
|
|
}
|
|
})
|
|
.then(respose => {
|
|
return respose
|
|
})
|
|
}
|
|
|
|
/**
|
|
* Request a Lookup list data from Reference
|
|
* The main attributes that function hope are:
|
|
* @param {string} tableName
|
|
* @param {string} query
|
|
* @param {string} whereClause
|
|
* @param {array} valuesList // TODO: Add support
|
|
* @param {string} pageToken
|
|
* @param {number} pageSize
|
|
*/
|
|
export function requestLookupList({
|
|
tableName,
|
|
query,
|
|
whereClause,
|
|
columnName,
|
|
valuesList = [],
|
|
pageToken,
|
|
pageSize
|
|
}) {
|
|
let filters = []
|
|
if (!isEmptyValue(valuesList)) {
|
|
filters = [{
|
|
column_name: columnName,
|
|
values: valuesList
|
|
}]
|
|
}
|
|
|
|
return request({
|
|
baseURL: config.adempiere.api.url,
|
|
url: '/ui/list-lookup-items',
|
|
method: 'post',
|
|
data: {
|
|
table_name: tableName,
|
|
query,
|
|
where_clause: whereClause,
|
|
filters
|
|
},
|
|
params: {
|
|
// Page Data
|
|
pageToken,
|
|
pageSize
|
|
}
|
|
})
|
|
.then(lookupListResponse => {
|
|
return {
|
|
nextPageToken: lookupListResponse.next_page_token,
|
|
recordCount: lookupListResponse.record_count,
|
|
recordsList: lookupListResponse.records
|
|
}
|
|
})
|
|
}
|
|
|
|
/**
|
|
* Reference List from Window
|
|
* @param {string} tableName
|
|
* @param {string} windowUuid
|
|
* @param {string} recordUuid
|
|
* @param {number} recordId
|
|
*/
|
|
export function requestReferencesList({
|
|
windowUuid,
|
|
tableName,
|
|
recordId,
|
|
recordUuid,
|
|
pageToken,
|
|
pageSize
|
|
}) {
|
|
return request({
|
|
baseURL: config.adempiere.api.url,
|
|
url: '/ui/list-references',
|
|
method: 'post',
|
|
data: {
|
|
id: recordId,
|
|
uuid: recordUuid,
|
|
window_uuid: windowUuid,
|
|
table_name: tableName
|
|
},
|
|
params: {
|
|
// Page Data
|
|
pageToken,
|
|
pageSize
|
|
}
|
|
})
|
|
.then(referencesListResposnse => {
|
|
const { convertReferencesList } = require('@/utils/ADempiere/apiConverts/values.js')
|
|
|
|
return convertReferencesList(referencesListResposnse)
|
|
})
|
|
}
|
|
|
|
// Get default value for a field
|
|
export function requestDefaultValue(query) {
|
|
return request({
|
|
baseURL: config.adempiere.api.url,
|
|
url: '/ui/get-default-value',
|
|
method: 'post',
|
|
data: {
|
|
query
|
|
}
|
|
})
|
|
.then(respose => {
|
|
return respose
|
|
})
|
|
}
|
|
|
|
/**
|
|
* Get context information for a window, tab or field
|
|
* @param {string} query
|
|
* @param {string} uuid
|
|
* @param {number} id
|
|
*/
|
|
export function requestGetContextInfoValue({
|
|
uuid,
|
|
id,
|
|
query
|
|
}) {
|
|
return request({
|
|
baseURL: config.adempiere.api.url,
|
|
url: '/ui/get-context-info-value',
|
|
method: 'post',
|
|
data: {
|
|
query,
|
|
uuid,
|
|
id
|
|
}
|
|
})
|
|
.then(contextInfoValueResponse => {
|
|
return {
|
|
messageText: contextInfoValueResponse.message_text,
|
|
messageTip: contextInfoValueResponse.message_tip
|
|
}
|
|
})
|
|
}
|