oKcerG / SortFilterProxyModel

A nicely exposed QSortFilterProxyModel for QML
MIT License
298 stars 101 forks source link

feat: limit the number of results #99

Closed caybro closed 1 year ago

caybro commented 1 year ago

introduce a new property, limit that allows for narrowing down the number of returned results

usecase: give me list of 5 most valuable assets

tagsModel: SortFilterProxyModel {
    id: walletAccountAssetsModel
    sourceModel: assets
    limit: 5
    function filterPredicate(modelData) {
        return d.uniquePermissionTokenKeys.includes(modelData.symbol.toUpperCase())
    }
    filters: [
        ExpressionFilter {
            expression: walletAccountAssetsModel.filterPredicate(model)
        }
    ]
    sorters: ExpressionSorter {
        expression: {
            return modelLeft.enabledNetworkBalance.amount > modelRight.enabledNetworkBalance.amount // descending, biggest first
        }
    }
}

some minor fixes reported by clazy (separate commit)