From c35fc424f34e38a066b4b6287a0f4d3f43fd790c Mon Sep 17 00:00:00 2001 From: fabio Date: Mon, 14 Dec 2020 21:32:35 -0400 Subject: [PATCH 1/2] PMCORE-2547:Use the Service for HEADER COUNTER correction --- resources/assets/js/api/Cases.js | 13 ++++++++----- .../assets/js/components/home/HeaderCounter.vue | 4 ++-- resources/assets/js/home/MyCases.vue | 8 ++++---- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/resources/assets/js/api/Cases.js b/resources/assets/js/api/Cases.js index 392ef762e..2fb9b94a0 100644 --- a/resources/assets/js/api/Cases.js +++ b/resources/assets/js/api/Cases.js @@ -172,10 +172,13 @@ export let cases = { export let casesHeader = { get() { - return new Promise((resolutionFunc, rejectionFunc) => { - resolutionFunc({ - data: headerData - }); + return axios.get(window.config.SYS_SERVER + + '/api/1.0/' + + window.config.SYS_WORKSPACE + + '/home/counters', { + headers: { + 'Authorization': 'Bearer ' + window.config.SYS_CREDENTIALS.accessToken + } }); } -}; +}; diff --git a/resources/assets/js/components/home/HeaderCounter.vue b/resources/assets/js/components/home/HeaderCounter.vue index 33e1693c6..90f3e4f12 100644 --- a/resources/assets/js/components/home/HeaderCounter.vue +++ b/resources/assets/js/components/home/HeaderCounter.vue @@ -51,7 +51,7 @@ export default { } .v-btn-texts-header { - font-size: 0.7vw; + font-size: 0.8vw; } .v-btn-header { min-width: 150px; @@ -60,4 +60,4 @@ export default { padding-bottom: 5px !important; padding-top: 5px !important; } - \ No newline at end of file + diff --git a/resources/assets/js/home/MyCases.vue b/resources/assets/js/home/MyCases.vue index 53985f57c..d17c89f39 100644 --- a/resources/assets/js/home/MyCases.vue +++ b/resources/assets/js/home/MyCases.vue @@ -361,15 +361,15 @@ export default { }; _.forEach(response, (v) => { data.push({ - title: v.name, - counter: v.count, + title: this.$i18n.t(v.id), + counter: v.counter, item: v.item, - icon: info[v.item].icon, + icon: info[v.id].icon, onClick: (obj) => { that.filterHeader = obj.item; that.$refs["vueTable"].getData(); }, - class: info[v.item].class, + class: info[v.id].class, }); }); return data; From 171cc32e16b24990edea722da290e9505ebdaaba Mon Sep 17 00:00:00 2001 From: fabio Date: Tue, 15 Dec 2020 17:34:47 -0400 Subject: [PATCH 2/2] PMCORE-2548:Review pagination in the tables. --- resources/assets/js/api/Cases.js | 10 ++++++++-- resources/assets/js/home/AdvancedSearch.vue | 15 +++++++++++---- resources/assets/js/home/Draft.vue | 14 ++++++++++---- resources/assets/js/home/MyCases.vue | 11 ++++++++--- resources/assets/js/home/Paused.vue | 14 ++++++++++---- resources/assets/js/home/Todo.vue | 14 ++++++++++---- resources/assets/js/home/Unassigned.vue | 14 ++++++++++---- .../engine/src/ProcessMaker/Services/Api/Home.php | 2 +- 8 files changed, 68 insertions(+), 26 deletions(-) diff --git a/resources/assets/js/api/Cases.js b/resources/assets/js/api/Cases.js index 2fb9b94a0..f2f930119 100644 --- a/resources/assets/js/api/Cases.js +++ b/resources/assets/js/api/Cases.js @@ -8,7 +8,8 @@ export let cases = { return Api.get({ service: "MY_CASES", params: { - filter: data.filter + filter: data.filter, + paged: data.paged }, keys: {} }); @@ -17,6 +18,7 @@ export let cases = { return Api.get({ service: "TODO_LIST", params: { + paged: data.paged }, keys: {} }); @@ -25,6 +27,7 @@ export let cases = { return Api.get({ service: "DRAFT_LIST", params: { + paged: data.paged }, keys: {} }); @@ -33,6 +36,7 @@ export let cases = { return Api.get({ service: "PAUSED_LIST", params: { + paged: data.paged }, keys: {} }); @@ -41,6 +45,7 @@ export let cases = { return Api.get({ service: "UNASSIGNED_LIST", params: { + paged: data.paged }, keys: {} }); @@ -164,7 +169,8 @@ export let cases = { return Api.get({ service: "SEARCH", params: dt, - keys: {} + keys: {}, + paged: dt.paged }) } diff --git a/resources/assets/js/home/AdvancedSearch.vue b/resources/assets/js/home/AdvancedSearch.vue index 8dbcd834f..86310027d 100644 --- a/resources/assets/js/home/AdvancedSearch.vue +++ b/resources/assets/js/home/AdvancedSearch.vue @@ -151,7 +151,7 @@ export default { programmatic: false, }, requestFunction(data) { - return this.$parent.$parent.getCasesForVueTable(); + return this.$parent.$parent.getCasesForVueTable(data); }, customFilters: ["myfilter"], }, @@ -167,16 +167,23 @@ export default { /** * Get cases data by header */ - getCasesForVueTable() { + getCasesForVueTable(data) { let that = this, - dt; + dt, + paged, + limit = data.limit, + start = data.page === 1 ? 0 : limit * (data.page - 1); + paged = start + ',' + limit; return new Promise((resolutionFunc, rejectionFunc) => { let filters = {}; _.forIn(this.filters, function(value, key) { filters = {...filters, ...value}; }); api.cases - .search(filters) + .search({ + filters, + paged:paged + }) .then((response) => { dt = that.formatDataResponse(response.data.data); resolutionFunc({ diff --git a/resources/assets/js/home/Draft.vue b/resources/assets/js/home/Draft.vue index 8776beec3..6a9aa172a 100644 --- a/resources/assets/js/home/Draft.vue +++ b/resources/assets/js/home/Draft.vue @@ -90,7 +90,7 @@ export default { programmatic: false, }, requestFunction(data) { - return this.$parent.$parent.getCasesForVueTable(); + return this.$parent.$parent.getCasesForVueTable(data); }, }, pmDateFormat: "Y-m-d H:i:s", @@ -112,12 +112,18 @@ export default { /** * Get cases todo data */ - getCasesForVueTable() { + getCasesForVueTable(data) { let that = this, - dt; + dt, + paged, + limit = data.limit, + start = data.page === 1 ? 0 : limit * (data.page - 1); + paged = start + ',' + limit; return new Promise((resolutionFunc, rejectionFunc) => { api.cases - .draft() + .draft({ + paged: paged + }) .then((response) => { dt = that.formatDataResponse(response.data.data); resolutionFunc({ diff --git a/resources/assets/js/home/MyCases.vue b/resources/assets/js/home/MyCases.vue index d17c89f39..ecaa10f69 100644 --- a/resources/assets/js/home/MyCases.vue +++ b/resources/assets/js/home/MyCases.vue @@ -107,7 +107,7 @@ export default { programmatic: false, }, requestFunction(data) { - return this.$parent.$parent.getCasesForVueTable(); + return this.$parent.$parent.getCasesForVueTable(data); }, }, translations: null, @@ -156,13 +156,18 @@ export default { /** * Get cases data by header */ - getCasesForVueTable() { + getCasesForVueTable(data) { let that = this, - dt; + dt, + paged, + limit = data.limit, + start = data.page === 1 ? 0 : limit * (data.page - 1); + paged = start + ',' + limit; return new Promise((resolutionFunc, rejectionFunc) => { api.cases .myCases({ filter: that.filterHeader, + paged: paged }) .then((response) => { dt = that.formatDataResponse(response.data.data); diff --git a/resources/assets/js/home/Paused.vue b/resources/assets/js/home/Paused.vue index a614ecd5e..e9c69f588 100644 --- a/resources/assets/js/home/Paused.vue +++ b/resources/assets/js/home/Paused.vue @@ -119,7 +119,7 @@ export default { programmatic: false, }, requestFunction(data) { - return this.$parent.$parent.getCasesForVueTable(); + return this.$parent.$parent.getCasesForVueTable(data); }, }, pmDateFormat: "Y-m-d H:i:s", @@ -141,12 +141,18 @@ export default { /** * Get cases todo data */ - getCasesForVueTable() { + getCasesForVueTable(data) { let that = this, - dt; + dt, + paged, + limit = data.limit, + start = data.page === 1 ? 0 : limit * (data.page - 1); + paged = start + ',' + limit; return new Promise((resolutionFunc, rejectionFunc) => { api.cases - .paused() + .paused({ + paged: paged + }) .then((response) => { dt = that.formatDataResponse(response.data.data); resolutionFunc({ diff --git a/resources/assets/js/home/Todo.vue b/resources/assets/js/home/Todo.vue index 71d395c72..3c4eb4c55 100644 --- a/resources/assets/js/home/Todo.vue +++ b/resources/assets/js/home/Todo.vue @@ -112,7 +112,7 @@ export default { programmatic: false, }, requestFunction(data) { - return this.$parent.$parent.getCasesForVueTable(); + return this.$parent.$parent.getCasesForVueTable(data); }, }, pmDateFormat: "Y-m-d H:i:s", @@ -134,12 +134,18 @@ export default { /** * Get cases todo data */ - getCasesForVueTable() { + getCasesForVueTable(data) { let that = this, - dt; + dt, + paged, + limit = data.limit, + start = data.page === 1 ? 0 : limit * (data.page - 1); + paged = start + ',' + limit; return new Promise((resolutionFunc, rejectionFunc) => { api.cases - .todo() + .todo({ + paged: paged + }) .then((response) => { dt = that.formatDataResponse(response.data.data); resolutionFunc({ diff --git a/resources/assets/js/home/Unassigned.vue b/resources/assets/js/home/Unassigned.vue index 25a4b963e..366c051b3 100644 --- a/resources/assets/js/home/Unassigned.vue +++ b/resources/assets/js/home/Unassigned.vue @@ -116,7 +116,7 @@ export default { programmatic: false, }, requestFunction(data) { - return this.$parent.$parent.getCasesForVueTable(); + return this.$parent.$parent.getCasesForVueTable(data); }, }, pmDateFormat: "Y-m-d H:i:s", @@ -138,12 +138,18 @@ export default { /** * Get cases unassigned data */ - getCasesForVueTable() { + getCasesForVueTable(data) { let that = this, - dt; + dt, + paged, + limit = data.limit, + start = data.page === 1 ? 0 : limit * (data.page - 1); + paged = start + ',' + limit; return new Promise((resolutionFunc, rejectionFunc) => { api.cases - .unassigned() + .unassigned({ + paged: paged + }) .then((response) => { dt = that.formatDataResponse(response.data.data); resolutionFunc({ diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Home.php b/workflow/engine/src/ProcessMaker/Services/Api/Home.php index 2f7032a64..7b6dfe403 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Home.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Home.php @@ -473,7 +473,7 @@ class Home extends Api $result = []; $result['data'] = $list->getData(); // We will to enable always the pagination - $result['total'] = $list->getLimit() + 1; + $result['total'] = $list->getCounter(); return $result; } catch (Exception $e) { throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());