Skip to content

Commit 0bc6e05

Browse files
authored
ui: Honour default.ui.page.size (#5394)
* ui: Honour default.ui.page.size * Moving db upgrade path
1 parent 7a7e449 commit 0bc6e05

4 files changed

Lines changed: 28 additions & 8 deletions

File tree

engine/schema/src/main/resources/META-INF/db/schema-41510to41520.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@
1919
-- Schema upgrade from 4.15.1.0 to 4.15.2.0
2020
--;
2121

22+
UPDATE `cloud`.`configuration` SET `value` = 20, `default_value` = 20 WHERE `name` = 'default.ui.page.size';

ui/src/store/getters.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ const getters = {
3939
server: state => state.app.server,
4040
domainStore: state => state.user.domainStore,
4141
darkMode: state => state.user.darkMode,
42-
themeSetting: state => state.user.themeSetting
42+
themeSetting: state => state.user.themeSetting,
43+
defaultListViewPageSize: state => state.user.defaultListViewPageSize
4344
}
4445

4546
export default getters

ui/src/store/modules/user.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ const user = {
5656
usebrowsertimezone: false,
5757
domainStore: {},
5858
darkMode: false,
59-
themeSetting: {}
59+
themeSetting: {},
60+
defaultListViewPageSize: 20
6061
},
6162

6263
mutations: {
@@ -119,6 +120,9 @@ const user = {
119120
SET_THEME_SETTING (state, setting) {
120121
state.themeSetting = setting
121122
Vue.ls.set(THEME_SETTING, setting)
123+
},
124+
SET_DEFAULT_LISTVIEW_PAGE_SIZE: (state, defaultListViewPageSize) => {
125+
state.defaultListViewPageSize = defaultListViewPageSize
122126
}
123127
},
124128

@@ -255,6 +259,13 @@ const user = {
255259
reject(error)
256260
})
257261

262+
api('listConfigurations', { name: 'default.ui.page.size' }).then(response => {
263+
const defaultListViewPageSize = parseInt(response.listconfigurationsresponse.configuration[0].value)
264+
commit('SET_DEFAULT_LISTVIEW_PAGE_SIZE', defaultListViewPageSize)
265+
}).catch(error => {
266+
reject(error)
267+
})
268+
258269
api('listLdapConfigurations').then(response => {
259270
const ldapEnable = (response.ldapconfigurationresponse.count > 0)
260271
commit('SET_LDAP', ldapEnable)

ui/src/views/AutogenView.vue

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@
330330
:pageSize="pageSize"
331331
:total="itemCount"
332332
:showTotal="total => `${$t('label.showing')} ${Math.min(total, 1+((page-1)*pageSize))}-${Math.min(page*pageSize, total)} ${$t('label.of')} ${total} ${$t('label.items')}`"
333-
:pageSizeOptions="device === 'desktop' ? ['20', '50', '100', '200'] : ['10', '20', '50', '100', '200']"
333+
:pageSizeOptions="pageSizeOptions"
334334
@change="changePage"
335335
@showSizeChange="changePageSize"
336336
showSizeChanger
@@ -392,7 +392,7 @@ export default {
392392
items: [],
393393
itemCount: 0,
394394
page: 1,
395-
pageSize: 10,
395+
pageSize: this.$store.getters.defaultListViewPageSize,
396396
resource: {},
397397
selectedRowKeys: [],
398398
currentAction: {},
@@ -431,9 +431,6 @@ export default {
431431
this.execAction(action, isGroupAction)
432432
})
433433
434-
if (this.device === 'desktop') {
435-
this.pageSize = 20
436-
}
437434
this.currentPath = this.$route.fullPath
438435
this.fetchData()
439436
if ('projectid' in this.$route.query) {
@@ -456,7 +453,6 @@ export default {
456453
this.pageSize = Number(to.query.pagesize)
457454
} else {
458455
this.page = 1
459-
this.pageSize = (this.device === 'desktop' ? 20 : 10)
460456
}
461457
this.itemCount = 0
462458
this.fetchData()
@@ -474,6 +470,17 @@ export default {
474470
this.fetchData()
475471
}
476472
},
473+
computed: {
474+
pageSizeOptions () {
475+
var sizes = [20, 50, 100, 200, this.$store.getters.defaultListViewPageSize]
476+
if (this.device !== 'desktop') {
477+
sizes.unshift(10)
478+
}
479+
return [...new Set(sizes)].sort(function (a, b) {
480+
return a - b
481+
}).map(String)
482+
}
483+
},
477484
methods: {
478485
switchProject (projectId) {
479486
if (!projectId || !projectId.length || projectId.length !== 36) {

0 commit comments

Comments
 (0)