diff --git a/src/components/ADempiere/DataTable/index.vue b/src/components/ADempiere/DataTable/index.vue
index 93aec2e7..bcbadc31 100644
--- a/src/components/ADempiere/DataTable/index.vue
+++ b/src/components/ADempiere/DataTable/index.vue
@@ -52,6 +52,13 @@
{{ $t('table.dataTable.showAllAvailableColumns') }}
+
+ {{ getterPanel.isShowedTotals ? $t('table.dataTable.hiddenTotal') : $t('table.dataTable.showTotal') }}
+
{
if (index === 0) {
sums[index] = 'Σ'
@@ -861,7 +879,7 @@ export default {
sums[index] = ''
return
}
- const values = data.map(item => Number(item[column.property]))
+ const values = this.getDataSelection.map(item => Number(item[column.property]))
if (values.every(value => isNaN(value))) {
sums[index] = ''
} else {
diff --git a/src/lang/ADempiere/en.js b/src/lang/ADempiere/en.js
index 11548c7b..367bce9c 100644
--- a/src/lang/ADempiere/en.js
+++ b/src/lang/ADempiere/en.js
@@ -179,7 +179,9 @@ export default {
deleteSelection: 'Delete Selected Records',
advancedQuery: 'Advanced Query',
showOnlyMandatoryColumns: 'Show Only Mandatory Columns',
- showAllAvailableColumns: 'Show All Available Columns'
+ showAllAvailableColumns: 'Show All Available Columns',
+ showTotal: 'Show Totals',
+ hiddenTotal: 'Hidden Totals'
},
recentItems: {
search: 'Filter by name, description or date',
diff --git a/src/lang/ADempiere/es.js b/src/lang/ADempiere/es.js
index c9a8c716..e09e0d9b 100644
--- a/src/lang/ADempiere/es.js
+++ b/src/lang/ADempiere/es.js
@@ -179,7 +179,8 @@ export default {
deleteSelection: 'Eliminar Registros Seleccionados',
advancedQuery: 'Consulta Avanzada',
showOnlyMandatoryColumns: 'Mostrar Solo Columnas Obligatorias',
- showAllAvailableColumns: 'Mostrar Todas Columnas Disponibles'
+ showTotal: 'Mostrar Totales',
+ hiddenTotal: 'Ocultar Totales'
},
recentItems: {
search: 'Filtrar por nombre, descripción o fecha',
diff --git a/src/store/modules/ADempiere/browser.js b/src/store/modules/ADempiere/browser.js
index 2bdf3230..a90b68bd 100644
--- a/src/store/modules/ADempiere/browser.js
+++ b/src/store/modules/ADempiere/browser.js
@@ -18,7 +18,7 @@ const browser = {
}
},
actions: {
- getBrowserFromServer: ({ commit, dispatch }, parameters) => {
+ getBrowserFromServer({ commit, dispatch }, parameters) {
return new Promise((resolve, reject) => {
var browserUuid = parameters.containerUuid
getBrowserMetadata(browserUuid)
@@ -112,7 +112,8 @@ const browser = {
panelType: panelType,
// app attributes
isMandatoryParams: isMandatoryParams,
- isShowedCriteria: Boolean(fieldsList.length && isMandatoryParams)
+ isShowedCriteria: Boolean(fieldsList.length && isMandatoryParams),
+ isShowedTotals: true
}
// Convert from gRPC process list
const process = response.getProcess()
@@ -162,7 +163,7 @@ const browser = {
})
})
},
- changeShowedCriteriaBrowser: ({ commit, getters }, { containerUuid, isShowedCriteria }) => {
+ changeShowedCriteriaBrowser({ commit, getters }, { containerUuid, isShowedCriteria }) {
commit('changeShowedCriteriaBrowser', {
browser: getters.getBrowser(containerUuid),
isShowedCriteria: isShowedCriteria
diff --git a/src/store/modules/ADempiere/panel.js b/src/store/modules/ADempiere/panel.js
index 8730338f..9297b845 100644
--- a/src/store/modules/ADempiere/panel.js
+++ b/src/store/modules/ADempiere/panel.js
@@ -32,12 +32,7 @@ const panel = {
state.panel = []
},
changePanel(state, payload) {
- state = state.panel.map(item => {
- if (payload.containerUuid === item.containerUuid) {
- return payload.newPanel
- }
- return item
- })
+ payload.panel = payload.newPanel
},
changeFieldList(state, payload) {
payload.fieldList = payload.newFieldList
@@ -101,7 +96,8 @@ const panel = {
* Used by components/fields/filterFields
*/
changeFieldShowedFromUser({ commit, dispatch, getters }, params) {
- var panel = getters.getPanel(params.containerUuid, params.isAdvancedQuery)
+ const panel = getters.getPanel(params.containerUuid, params.isAdvancedQuery)
+ var newPanel = panel
var showsFieldsWithValue = false
var hiddenFieldsWithValue = false
var newFields = panel.fieldList.map(itemField => {
@@ -158,7 +154,8 @@ const panel = {
panel.fieldList = newFields
commit('changePanel', {
containerUuid: params.containerUuid,
- newPanel: panel
+ newPanel: newPanel,
+ panel: panel
})
if (showsFieldsWithValue || hiddenFieldsWithValue) {
// Updated record result
@@ -725,6 +722,15 @@ const panel = {
})
}
},
+ showedTotals({ commit, getters }, containerUuid) {
+ const panel = getters.getPanel(containerUuid)
+ const newPanel = panel
+ newPanel.isShowedTotals = !panel.isShowedTotals
+ commit('changePanel', {
+ panel: panel,
+ newPanel: newPanel
+ })
+ },
dictionaryResetCache({ commit }) {
commit('dictionaryResetCache')
commit('dictionaryResetCacheContext')
diff --git a/src/store/modules/ADempiere/window.js b/src/store/modules/ADempiere/window.js
index 9bf61890..a61a0a96 100644
--- a/src/store/modules/ADempiere/window.js
+++ b/src/store/modules/ADempiere/window.js
@@ -271,7 +271,9 @@ const window = {
isAdvancedQuery: isAdvancedQuery,
fieldLinkColumnName: fieldLinkColumnName,
fieldList: fieldsList,
- panelType: panelType
+ panelType: panelType,
+ // app attributes
+ isShowedTotals: false
}
dispatch('addPanel', panel)