diff --git a/src/main/java/net/optionfactory/pussyfoot/hibernate/HibernatePsf.java b/src/main/java/net/optionfactory/pussyfoot/hibernate/HibernatePsf.java index c4d0c3e..9674db4 100644 --- a/src/main/java/net/optionfactory/pussyfoot/hibernate/HibernatePsf.java +++ b/src/main/java/net/optionfactory/pussyfoot/hibernate/HibernatePsf.java @@ -114,6 +114,10 @@ public PageResponse queryForPage(PageRequest request) { rootEnhancer.ifPresent(re -> re.accept(cb, sliceRoot)); final List> selectors = new ArrayList<>(); selectors.add(sliceRoot); + if (this.useCountDistinct) { + selectors.add(cb.countDistinct(countRoot)); + scq.groupBy(countRoot); + } final List orderers = new ArrayList<>(); orderers.addAll(Stream.of(request.sorters) .filter(s -> availableSorters.containsKey(s.name)) diff --git a/src/main/resources/META-INF/resources/webjars/pussyfoot-extjs-overrides-modern.js b/src/main/resources/META-INF/resources/webjars/pussyfoot-extjs-overrides-modern.js new file mode 100644 index 0000000..bb8d405 --- /dev/null +++ b/src/main/resources/META-INF/resources/webjars/pussyfoot-extjs-overrides-modern.js @@ -0,0 +1,34 @@ +/* global Ext */ + +Ext.data.proxy.Server.prototype.config.pageParam = ''; +Ext.data.proxy.Server.prototype.config.filterParam = 'filters'; +Ext.data.proxy.Server.prototype.config.sortParam = 'sorters'; + +Ext.util.Sorter.prototype.serialize = function () { + return { + name: this.getProperty(), /*!*/ + direction: this.getDirection() + }; +} +/* + * QueryParam Filters for combobox are serialized as {"operator":"like","value":"something","name":"property"} + */ +serializePrimaryFilter = function (filter) +{ + var result = filter.getState(); + var serializer = filter.getSerializer(); + delete result.id; + delete result.serializer; + delete result.disabled; + delete result.anyMatch; + delete result.caseSensitive; + if (serializer) { + serializer.call(filter, result); + } + result.operator = 'like'; + result.name = Ext.Object.isEmpty(result.value) ? '' : result.property; /*!*/ + delete result.property; + return result; +}; + +Ext.field.ComboBox.prototype.serializePrimaryFilter = serializePrimaryFilter; \ No newline at end of file