Skip to content

Commit 333ff71

Browse files
authored
✨ Introduce AssetsChangeRefreshPredicate (#600)
1 parent a28392a commit 333ff71

File tree

12 files changed

+262
-103
lines changed

12 files changed

+262
-103
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ that can be found in the LICENSE file. -->
99
1010
## Unreleased
1111

12+
### New features
13+
14+
- Introduce `AssetsChangeCallback` and `AssetsChangeRefreshPredicate`
15+
to help users act according to assets changes.
16+
1217
### Fixes
1318

1419
- Raise detailed negative range error.

README-ZH.md

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -276,31 +276,33 @@ final List<AssetEntity>? result = await AssetPicker.pickAssets(
276276

277277
`AssetPickerConfig` 的成员说明:
278278

279-
| 参数名 | 类型 | 描述 | 默认值 |
280-
|-----------------------------------|--------------------------------------|------------------------------------------------------|-----------------------------|
281-
| selectedAssets | `List<AssetEntity>?` | 已选的资源。确保不重复选择。 | `null` |
282-
| maxAssets | `int` | 最多选择的图片数量 | 9 |
283-
| pageSize | `int` | 分页加载时每页加载的资源数量。**必须为网格数的倍数。 | 80 |
284-
| gridThumbnailSize | `ThumbnailSize` | 预览网格的缩略图大小 | `ThumbnailSize.square(200)` |
285-
| pathThumbnailSize | `ThumbnailSize` | 路径选择器的缩略图大小 | `ThumbnailSize.square(80)` |
286-
| previewThumbnailSize | `ThumbnailSize?` | 预览时图片的缩略图大小 | `null` |
287-
| requestType | `RequestType` | 选择器选择资源的类型 | `RequestType.common` |
288-
| specialPickerType | `SpecialPickerType?` | 提供一些特殊的选择器类型以整合非常规的选择行为 | `null` |
289-
| keepScrollOffset | `bool` | 选择器是否可以从同样的位置开始选择 | `null` |
290-
| sortPathDelegate | `SortPathDelegate<AssetPathEntity>?` | 资源路径的排序实现,可自定义路径排序方法 | `CommonSortPathDelegate` |
291-
| sortPathsByModifiedDate | `bool` | 是否结合 `FilterOptionGroup.containsPathModified` 进行路径排序 | `false` |
292-
| filterOptions | `PMFilter?` | 允许用户自定义资源过滤条件 | `null` |
293-
| gridCount | `int` | 选择器网格数量 | 4 |
294-
| themeColor | `Color?` | 选择器的主题色 | `Color(0xff00bc56)` |
295-
| pickerTheme | `ThemeData?` | 选择器的主题提供,包括查看器 | `null` |
296-
| textDelegate | `AssetPickerTextDelegate?` | 选择器的文本代理构建,用于自定义文本 | `AssetPickerTextDelegate()` |
297-
| specialItemPosition | `SpecialItemPosition` | 允许用户在选择器中添加一个自定义item,并指定位置。 | `SpecialPosition.none` |
298-
| specialItemBuilder | `SpecialItemBuilder?` | 自定义item的构造方法 | `null` |
299-
| loadingIndicatorBuilder | `IndicatorBuilder?` | 加载器的实现 | `null` |
300-
| selectPredicate | `AssetSelectPredicate` | 判断资源可否被选择 | `null` |
301-
| shouldRevertGrid | `bool?` | 判断资源网格是否需要倒序排列 | `null` |
302-
| limitedPermissionOverlayPredicate | `LimitedPermissionOverlayPredicate?` | 判断有限的权限情况下是否展示提示页面 | `null` |
303-
| pathNameBuilder | `PathNameBuilder<AssetPathEntity>?` | 基于路径(相册)构建自定义名称的方法 | `null` |
279+
| 参数名 | 类型 | 描述 | 默认值 |
280+
|-----------------------------------|--------------------------------------------------|------------------------------------------------------|-----------------------------|
281+
| selectedAssets | `List<AssetEntity>?` | 已选的资源。确保不重复选择。 | `null` |
282+
| maxAssets | `int` | 最多选择的图片数量 | 9 |
283+
| pageSize | `int` | 分页加载时每页加载的资源数量。**必须为网格数的倍数。 | 80 |
284+
| gridThumbnailSize | `ThumbnailSize` | 预览网格的缩略图大小 | `ThumbnailSize.square(200)` |
285+
| pathThumbnailSize | `ThumbnailSize` | 路径选择器的缩略图大小 | `ThumbnailSize.square(80)` |
286+
| previewThumbnailSize | `ThumbnailSize?` | 预览时图片的缩略图大小 | `null` |
287+
| requestType | `RequestType` | 选择器选择资源的类型 | `RequestType.common` |
288+
| specialPickerType | `SpecialPickerType?` | 提供一些特殊的选择器类型以整合非常规的选择行为 | `null` |
289+
| keepScrollOffset | `bool` | 选择器是否可以从同样的位置开始选择 | `null` |
290+
| sortPathDelegate | `SortPathDelegate<AssetPathEntity>?` | 资源路径的排序实现,可自定义路径排序方法 | `CommonSortPathDelegate` |
291+
| sortPathsByModifiedDate | `bool` | 是否结合 `FilterOptionGroup.containsPathModified` 进行路径排序 | `false` |
292+
| filterOptions | `PMFilter?` | 允许用户自定义资源过滤条件 | `null` |
293+
| gridCount | `int` | 选择器网格数量 | 4 |
294+
| themeColor | `Color?` | 选择器的主题色 | `Color(0xff00bc56)` |
295+
| pickerTheme | `ThemeData?` | 选择器的主题提供,包括查看器 | `null` |
296+
| textDelegate | `AssetPickerTextDelegate?` | 选择器的文本代理构建,用于自定义文本 | `AssetPickerTextDelegate()` |
297+
| specialItemPosition | `SpecialItemPosition` | 允许用户在选择器中添加一个自定义item,并指定位置。 | `SpecialPosition.none` |
298+
| specialItemBuilder | `SpecialItemBuilder?` | 自定义item的构造方法 | `null` |
299+
| loadingIndicatorBuilder | `IndicatorBuilder?` | 加载器的实现 | `null` |
300+
| selectPredicate | `AssetSelectPredicate` | 判断资源可否被选择 | `null` |
301+
| shouldRevertGrid | `bool?` | 判断资源网格是否需要倒序排列 | `null` |
302+
| limitedPermissionOverlayPredicate | `LimitedPermissionOverlayPredicate?` | 判断有限的权限情况下是否展示提示页面 | `null` |
303+
| pathNameBuilder | `PathNameBuilder<AssetPathEntity>?` | 基于路径(相册)构建自定义名称的方法 | `null` |
304+
| assetsChangeCallback | `AssetsChangeCallback<AssetPathEntity>?` | 当系统通知资源变化时将调用的回调 | `null` |
305+
| assetsChangeRefreshPredicate | `AssetsChangeRefreshPredicate<AssetPathEntity>?` | 判断资源变化是否根据 call 和当前选中的路径进行更新 | `null` |
304306

305307
-`maxAssets` 等于 `1`(即单选模式),搭配
306308
`SpecialPickerType.noPreview` 使用会在用户点选资源换时立刻选中并返回。

0 commit comments

Comments
 (0)