From 4c507aa82aa92f5f9e40ea7e996128967e9f3e91 Mon Sep 17 00:00:00 2001 From: elsiosanchez <45974454+elsiosanchez@users.noreply.github.com> Date: Sat, 22 Feb 2020 23:25:37 -0400 Subject: [PATCH] indicate new row (#338) * indicate new row * add focus in field text * minimal changes. * delete unused method. * scrollTop to new record table children * minimal changes * change color of new cell Co-authored-by: Edwin Betancourt --- src/components/ADempiere/DataTable/index.vue | 29 ++++++++++++++++++++ src/components/ADempiere/Field/FieldMixin.js | 6 ++-- src/components/ADempiere/Field/FieldText.vue | 1 + src/components/ADempiere/Field/index.vue | 4 +-- src/components/ADempiere/Panel/index.vue | 24 ++++++++-------- 5 files changed, 46 insertions(+), 18 deletions(-) diff --git a/src/components/ADempiere/DataTable/index.vue b/src/components/ADempiere/DataTable/index.vue index 03f72a44..ed3de0a5 100644 --- a/src/components/ADempiere/DataTable/index.vue +++ b/src/components/ADempiere/DataTable/index.vue @@ -149,6 +149,7 @@ element-loading-spinner="el-icon-loading" cell-class-name="datatable-max-cell-height" :show-summary="getterPanel.isShowedTotals" + :row-class-name="tableRowClassName" :summary-method="getSummaries" @row-click="handleRowClick" @row-dblclick="handleRowDblClick" @@ -715,6 +716,12 @@ export default { callOffNewRecord() { this.getterDataRecords.shift() }, + tableRowClassName({ row, rowIndex }) { + if (row.isNew) { + return 'warning-row' + } + return '' + }, addNewRow() { if (this.getterNewRecords <= 0) { this.$store.dispatch('addNewRow', { @@ -724,6 +731,7 @@ export default { isEdit: true, isSendServer: false }) + this.$refs.multipleTable.$refs.bodyWrapper.scrollTop = 0 } else { const fieldsEmpty = this.$store.getters.getFieldListEmptyMandatory({ containerUuid: this.containerUuid @@ -734,6 +742,20 @@ export default { }) } }, + async setFocus() { + return new Promise(resolve => { + const fieldFocus = this.fieldList.find(itemField => { + if (this.$refs.hasOwnProperty(itemField.columnName)) { + if (fieldIsDisplayed(itemField) && !itemField.isReadOnly && itemField.isUpdateable) { + return true + } + } + }) + this.$refs[fieldFocus.columnName][0].focusField() + resolve() + return + }) + }, async getList() { this.oldgetDataDetail = this.getterDataRecords.map(v => v.id) this.newgetDataDetail = this.oldgetDataDetail.slice() @@ -1042,6 +1064,13 @@ export default { }