From 8e771a01e87cdd8b9f10279e68aa9aaf9c43ffc9 Mon Sep 17 00:00:00 2001 From: EdwinBetanc0urt Date: Mon, 20 Jan 2020 16:11:30 -0400 Subject: [PATCH] Add support to translations (Tab Translations). (#229) * Support to translations in ADempiere Vue. * change popover to translation and add vuex store * Add structure from vuex store to get translations. * Add update translations with language. --- package.json | 2 +- src/api/ADempiere/data.js | 26 ++- .../ADempiere/Field/fieldTranslated.vue | 199 +++++++++++++++++ src/components/ADempiere/Field/index.vue | 74 +++++-- src/components/ADempiere/Panel/index.vue | 10 +- src/lang/ADempiere/en.js | 1 + src/lang/ADempiere/es.js | 1 + src/layout/components/Navbar.vue | 2 +- .../modules/ADempiere/languageControl.js | 209 ++++++++++++++++++ src/store/modules/ADempiere/utils.js | 28 --- src/views/profile/components/Profile.vue | 4 +- src/views/profile/components/RolesNavbar.vue | 38 +--- src/views/profile/components/role.vue | 45 ++-- 13 files changed, 514 insertions(+), 125 deletions(-) create mode 100644 src/components/ADempiere/Field/fieldTranslated.vue create mode 100644 src/store/modules/ADempiere/languageControl.js diff --git a/package.json b/package.json index 6f06f184..72ddb1bc 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ }, "dependencies": { "@adempiere/grpc-access-client": "^1.1.8", - "@adempiere/grpc-data-client": "^1.8.7", + "@adempiere/grpc-data-client": "^1.8.8", "@adempiere/grpc-dictionary-client": "^1.3.5", "@adempiere/grpc-enrollment-client": "^1.0.7", "autoprefixer": "^9.5.1", diff --git a/src/api/ADempiere/data.js b/src/api/ADempiere/data.js index 484903ca..871023af 100644 --- a/src/api/ADempiere/data.js +++ b/src/api/ADempiere/data.js @@ -80,12 +80,12 @@ export function getEntity({ tableName, recordId, recordUuid }) { * @param {string} orderByClause * @param {string} nextPageToken */ -export function getEntitiesList({ tableName, query, whereClause, conditions = [], orderByClause, nextPageToken }) { +export function getEntitiesList({ tableName, query, whereClause, conditions: conditionsList = [], orderByClause, nextPageToken }) { return Instance.call(this).requestEntitiesList({ tableName, query, whereClause, - conditionsList: conditions, + conditionsList, orderByClause, nextPageToken }) @@ -148,7 +148,7 @@ export function getLookupList({ tableName, query }) { }] * @param {string} printFormatUuid */ -export function runProcess({ uuid, reportType, tableName, recordId, parameters: parametersList = [], selection = [], printFormatUuid }) { +export function runProcess({ uuid, reportType, tableName, recordId, parameters: parametersList = [], selection: selectionsList = [], printFormatUuid }) { // Run Process return Instance.call(this).requestRunProcess({ uuid, @@ -156,7 +156,7 @@ export function runProcess({ uuid, reportType, tableName, recordId, parameters: tableName, recordId, parametersList, - selectionsList: selection, + selectionsList, printFormatUuid }) } @@ -244,7 +244,7 @@ export function getDefaultValueFromServer(query) { } export function getContextInfoValueFromServer({ uuid, query }) { - return Instance.call(this).getContextInfoValue({ uuid: uuid, query: query }) + return Instance.call(this).getContextInfoValue({ uuid, query }) } export function getPrivateAccessFromServer({ tableName, recordId, userUuid }) { @@ -314,6 +314,22 @@ export function requestLanguages() { return Instance.call(this).requestLanguages() } +/** + * Request translations + * @param {string} tableName + * @param {string} language + * @param {string} recordUuid + * @param {integer} recordId + */ +export function requestTranslations({ tableName, language, recordUuid, recordId }) { + return Instance.call(this).requestTranslations({ + tableName, + recordUuid, + recordId, + language + }) +} + export function requestDrillTables(tableName) { return Instance.call(this).requestDrillTables(tableName) } diff --git a/src/components/ADempiere/Field/fieldTranslated.vue b/src/components/ADempiere/Field/fieldTranslated.vue new file mode 100644 index 00000000..65cedea9 --- /dev/null +++ b/src/components/ADempiere/Field/fieldTranslated.vue @@ -0,0 +1,199 @@ + + + + + + diff --git a/src/components/ADempiere/Field/index.vue b/src/components/ADempiere/Field/index.vue index 61104d62..a1b9d49b 100644 --- a/src/components/ADempiere/Field/index.vue +++ b/src/components/ADempiere/Field/index.vue @@ -24,27 +24,48 @@ width="300" trigger="click" > -

-