| Index: utils/archive/reader.dart
|
| diff --git a/utils/archive/reader.dart b/utils/archive/reader.dart
|
| index 3a2830fecacb2828f2f96f7882a8ca35a9a1c10e..2336970d5e9b54a6ec7fd388ea1febc3557de76a 100644
|
| --- a/utils/archive/reader.dart
|
| +++ b/utils/archive/reader.dart
|
| @@ -125,18 +125,29 @@ class ArchiveReader {
|
| if (format.zip) pending.add(call(SUPPORT_FORMAT_ZIP, id));
|
| }
|
|
|
| - if (!filter.options.isEmpty) {
|
| - pending.add(
|
| - call(SET_FILTER_OPTIONS, id, [filter.options.serialize()]));
|
| + var addOption = (request, option) {
|
| + var value;
|
| + if (option.value == false || option.value == null) {
|
| + value = null;
|
| + } else if (option.value == true) {
|
| + value = '1';
|
| + } else {
|
| + value = option.value.toString();
|
| + }
|
| +
|
| + pending.add(CALL(request, id, [module, option.name, value]));
|
| + };
|
| +
|
| + for (var option in filter.options.all) {
|
| + addOption(SET_FILTER_OPTION, option);
|
| }
|
|
|
| - if (!format.options.isEmpty) {
|
| - pending.add(
|
| - call(SET_FORMAT_OPTIONS, id, [format.options.serialize()]));
|
| + for (var option in format.options.all) {
|
| + addOption(SET_FORMAT_OPTION, option);
|
| }
|
|
|
| - if (!options.isEmpty) {
|
| - pending.add(call(SET_OPTIONS, id, [options.serialize()]));
|
| + for (var option in options.all) {
|
| + addOption(SET_OPTION, option);
|
| }
|
|
|
| return Futures.wait(pending);
|
|
|