@daffodil/category 0.42.4 → 0.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/driver/magento/category.service.d.ts +2 -3
- package/driver/magento/models/complete-category-response.d.ts +6 -6
- package/driver/magento/models/get-products-response.d.ts +3 -5
- package/driver/magento/models/public_api.d.ts +0 -10
- package/driver/magento/models/requests/get-products-by-categories-request.d.ts +2 -3
- package/driver/magento/queries/public_api.d.ts +0 -1
- package/driver/magento/testing/factories/public_api.d.ts +0 -4
- package/driver/magento/transformers/applied-filter-transformer.service.d.ts +6 -13
- package/driver/magento/transformers/public_api.d.ts +0 -1
- package/driver/magento/transformers/pure/add-metadata-types-to-aggregates.d.ts +3 -0
- package/esm2020/driver/in-memory/backend/category.service.mjs +10 -10
- package/esm2020/driver/in-memory/drivers/category.service.mjs +5 -5
- package/esm2020/driver/magento/category-driver.module.mjs +2 -4
- package/esm2020/driver/magento/category.service.mjs +26 -25
- package/esm2020/driver/magento/models/complete-category-response.mjs +1 -1
- package/esm2020/driver/magento/models/get-products-response.mjs +1 -1
- package/esm2020/driver/magento/models/public_api.mjs +2 -4
- package/esm2020/driver/magento/models/requests/get-products-by-categories-request.mjs +1 -1
- package/esm2020/driver/magento/queries/get-products.mjs +9 -18
- package/esm2020/driver/magento/queries/public_api.mjs +1 -2
- package/esm2020/driver/magento/testing/factories/category.factory.mjs +3 -1
- package/esm2020/driver/magento/testing/factories/public_api.mjs +1 -5
- package/esm2020/driver/magento/transformers/applied-filter-transformer.service.mjs +13 -44
- package/esm2020/driver/magento/transformers/category-page-config-transformer.service.mjs +3 -17
- package/esm2020/driver/magento/transformers/public_api.mjs +1 -2
- package/esm2020/driver/magento/transformers/pure/add-metadata-types-to-aggregates.mjs +16 -0
- package/esm2020/models/category-page-metadata.mjs +1 -1
- package/esm2020/models/category-request.mjs +1 -1
- package/esm2020/models/public_api.mjs +1 -2
- package/esm2020/public_api.mjs +1 -3
- package/esm2020/routing/effects/collection-route.effects.mjs +21 -0
- package/esm2020/routing/injection-tokens/public_api.mjs +2 -0
- package/esm2020/routing/injection-tokens/request/builder.token.mjs +8 -0
- package/esm2020/routing/injection-tokens/request/builders.token.mjs +30 -0
- package/esm2020/routing/module.mjs +72 -0
- package/esm2020/routing/public_api.mjs +3 -1
- package/esm2020/routing/resolvers/category-page/category-page.resolver.mjs +3 -6
- package/esm2020/routing/resolvers/category-page-id/category-page-id.resolver.mjs +11 -8
- package/esm2020/routing/resolvers/category-page-url/category-page-url.resolver.mjs +11 -13
- package/esm2020/state/actions/category-page-filter.actions.mjs +52 -16
- package/esm2020/state/actions/category-page.actions.mjs +1 -37
- package/esm2020/state/effects/category-page-filter.effects.mjs +14 -13
- package/esm2020/state/effects/category-page.effects.mjs +14 -12
- package/esm2020/state/facades/collection/facade.mjs +20 -0
- package/esm2020/state/facades/page/category-facade.interface.mjs +2 -0
- package/esm2020/state/facades/page/category.facade.mjs +52 -0
- package/esm2020/state/facades/public_api.mjs +3 -0
- package/esm2020/state/public_api.mjs +2 -2
- package/esm2020/state/reducers/category/category-reducer-state.interface.mjs +1 -1
- package/esm2020/state/reducers/category/category.reducer.mjs +14 -113
- package/esm2020/state/reducers/category-reducers.interface.mjs +1 -1
- package/esm2020/state/reducers/category-reducers.mjs +3 -1
- package/esm2020/state/reducers/page-metadata/reducer.mjs +57 -0
- package/esm2020/state/reducers/page-metadata/state.interface.mjs +2 -0
- package/esm2020/state/reducers/public_api.mjs +2 -1
- package/esm2020/state/selectors/category-page/category-page.selector.mjs +4 -24
- package/esm2020/state/selectors/category.selector.mjs +3 -1
- package/esm2020/state/selectors/collection/selectors.mjs +10 -0
- package/esm2020/state/testing/category-testing.module.mjs +5 -2
- package/esm2020/state/testing/mock-category-facade.mjs +1 -1
- package/esm2020/testing/factories/category-page-metadata.factory.mjs +11 -32
- package/esm2020/testing/factories/category.factory.mjs +1 -1
- package/esm2020/testing/factories/public_api.mjs +1 -2
- package/fesm2015/daffodil-category-driver-in-memory.mjs +13 -13
- package/fesm2015/daffodil-category-driver-in-memory.mjs.map +1 -1
- package/fesm2015/daffodil-category-driver-magento-testing.mjs +3 -174
- package/fesm2015/daffodil-category-driver-magento-testing.mjs.map +1 -1
- package/fesm2015/daffodil-category-driver-magento.mjs +45 -208
- package/fesm2015/daffodil-category-driver-magento.mjs.map +1 -1
- package/fesm2015/daffodil-category-routing.mjs +139 -32
- package/fesm2015/daffodil-category-routing.mjs.map +1 -1
- package/fesm2015/daffodil-category-state-testing.mjs +4 -1
- package/fesm2015/daffodil-category-state-testing.mjs.map +1 -1
- package/fesm2015/daffodil-category-state.mjs +218 -214
- package/fesm2015/daffodil-category-state.mjs.map +1 -1
- package/fesm2015/daffodil-category-testing.mjs +10 -364
- package/fesm2015/daffodil-category-testing.mjs.map +1 -1
- package/fesm2015/daffodil-category.mjs +1 -512
- package/fesm2015/daffodil-category.mjs.map +1 -1
- package/fesm2020/daffodil-category-driver-in-memory.mjs +13 -13
- package/fesm2020/daffodil-category-driver-in-memory.mjs.map +1 -1
- package/fesm2020/daffodil-category-driver-magento-testing.mjs +3 -174
- package/fesm2020/daffodil-category-driver-magento-testing.mjs.map +1 -1
- package/fesm2020/daffodil-category-driver-magento.mjs +48 -215
- package/fesm2020/daffodil-category-driver-magento.mjs.map +1 -1
- package/fesm2020/daffodil-category-routing.mjs +139 -28
- package/fesm2020/daffodil-category-routing.mjs.map +1 -1
- package/fesm2020/daffodil-category-state-testing.mjs +4 -1
- package/fesm2020/daffodil-category-state-testing.mjs.map +1 -1
- package/fesm2020/daffodil-category-state.mjs +233 -295
- package/fesm2020/daffodil-category-state.mjs.map +1 -1
- package/fesm2020/daffodil-category-testing.mjs +10 -383
- package/fesm2020/daffodil-category-testing.mjs.map +1 -1
- package/fesm2020/daffodil-category.mjs +1 -565
- package/fesm2020/daffodil-category.mjs.map +1 -1
- package/models/category-page-metadata.d.ts +3 -12
- package/models/category-request.d.ts +3 -30
- package/models/public_api.d.ts +1 -2
- package/package.json +4 -4
- package/public_api.d.ts +0 -2
- package/routing/effects/collection-route.effects.d.ts +10 -0
- package/routing/injection-tokens/public_api.d.ts +1 -0
- package/routing/injection-tokens/request/builder.token.d.ts +6 -0
- package/routing/injection-tokens/request/builders.token.d.ts +26 -0
- package/routing/module.d.ts +8 -0
- package/routing/public_api.d.ts +2 -0
- package/routing/resolvers/category-page-id/category-page-id.resolver.d.ts +3 -1
- package/routing/resolvers/category-page-url/category-page-url.resolver.d.ts +3 -3
- package/state/actions/category-page-filter.actions.d.ts +60 -20
- package/state/actions/category-page.actions.d.ts +3 -42
- package/state/effects/category-page-filter.effects.d.ts +2 -2
- package/state/facades/collection/facade.d.ts +9 -0
- package/state/facades/{category-facade.interface.d.ts → page/category-facade.interface.d.ts} +3 -44
- package/state/facades/{category.facade.d.ts → page/category.facade.d.ts} +3 -14
- package/state/facades/public_api.d.ts +3 -0
- package/state/public_api.d.ts +1 -2
- package/state/reducers/category/category-reducer-state.interface.d.ts +5 -5
- package/state/reducers/category/category.reducer.d.ts +2 -2
- package/state/reducers/category-reducers.interface.d.ts +5 -0
- package/state/reducers/page-metadata/reducer.d.ts +11 -0
- package/state/reducers/page-metadata/state.interface.d.ts +2 -0
- package/state/reducers/public_api.d.ts +2 -0
- package/state/selectors/category-page/category-page.selector.d.ts +2 -44
- package/state/selectors/category.selector.d.ts +2 -1
- package/state/selectors/collection/selectors.d.ts +5 -0
- package/state/testing/mock-category-facade.d.ts +6 -6
- package/testing/factories/category-page-metadata.factory.d.ts +4 -18
- package/testing/factories/public_api.d.ts +0 -1
- package/driver/magento/models/aggregation.d.ts +0 -16
- package/driver/magento/models/filter-type-field.interface.d.ts +0 -7
- package/driver/magento/models/filter-type.enum.d.ts +0 -5
- package/driver/magento/models/get-filter-types-response.interface.d.ts +0 -6
- package/driver/magento/models/page-info.d.ts +0 -5
- package/driver/magento/models/requests/filters.d.ts +0 -13
- package/driver/magento/models/requests/sort.d.ts +0 -7
- package/driver/magento/models/sort-fields.d.ts +0 -8
- package/driver/magento/queries/get-filter-types.d.ts +0 -2
- package/driver/magento/testing/factories/aggregation/aggregation.factory.d.ts +0 -12
- package/driver/magento/testing/factories/aggregation/public_api.d.ts +0 -3
- package/driver/magento/testing/factories/aggregation/type/price.factory.d.ts +0 -8
- package/driver/magento/testing/factories/aggregation/type/select.factory.d.ts +0 -8
- package/driver/magento/testing/factories/filter-type-field.factory.d.ts +0 -8
- package/driver/magento/testing/factories/page-info.factory.d.ts +0 -8
- package/driver/magento/testing/factories/sort-fields.factory.d.ts +0 -8
- package/driver/magento/transformers/applied-sort-option-transformer.service.d.ts +0 -9
- package/driver/magento/transformers/pure/aggregate/add-metadata-types-to-aggregates.d.ts +0 -2
- package/driver/magento/transformers/pure/aggregate/get-matched-attribute-type.d.ts +0 -3
- package/driver/magento/transformers/pure/aggregate/transform.d.ts +0 -3
- package/driver/magento/transformers/pure/aggregate/type/equal.d.ts +0 -3
- package/driver/magento/transformers/pure/aggregate/type/range.d.ts +0 -8
- package/driver/magento/transformers/pure/sort-default-option-first.d.ts +0 -2
- package/errors/codes.enum.d.ts +0 -15
- package/errors/map.d.ts +0 -5
- package/errors/public_api.d.ts +0 -2
- package/esm2020/driver/magento/models/aggregation.mjs +0 -2
- package/esm2020/driver/magento/models/filter-type-field.interface.mjs +0 -2
- package/esm2020/driver/magento/models/filter-type.enum.mjs +0 -8
- package/esm2020/driver/magento/models/get-filter-types-response.interface.mjs +0 -2
- package/esm2020/driver/magento/models/page-info.mjs +0 -2
- package/esm2020/driver/magento/models/requests/filters.mjs +0 -9
- package/esm2020/driver/magento/models/requests/sort.mjs +0 -6
- package/esm2020/driver/magento/models/sort-fields.mjs +0 -2
- package/esm2020/driver/magento/queries/get-filter-types.mjs +0 -15
- package/esm2020/driver/magento/testing/factories/aggregation/aggregation.factory.mjs +0 -24
- package/esm2020/driver/magento/testing/factories/aggregation/public_api.mjs +0 -4
- package/esm2020/driver/magento/testing/factories/aggregation/type/price.factory.mjs +0 -49
- package/esm2020/driver/magento/testing/factories/aggregation/type/select.factory.mjs +0 -44
- package/esm2020/driver/magento/testing/factories/filter-type-field.factory.mjs +0 -32
- package/esm2020/driver/magento/testing/factories/page-info.factory.mjs +0 -25
- package/esm2020/driver/magento/testing/factories/sort-fields.factory.mjs +0 -28
- package/esm2020/driver/magento/transformers/applied-sort-option-transformer.service.mjs +0 -28
- package/esm2020/driver/magento/transformers/pure/aggregate/add-metadata-types-to-aggregates.mjs +0 -16
- package/esm2020/driver/magento/transformers/pure/aggregate/get-matched-attribute-type.mjs +0 -2
- package/esm2020/driver/magento/transformers/pure/aggregate/transform.mjs +0 -14
- package/esm2020/driver/magento/transformers/pure/aggregate/type/equal.mjs +0 -16
- package/esm2020/driver/magento/transformers/pure/aggregate/type/range.mjs +0 -15
- package/esm2020/driver/magento/transformers/pure/sort-default-option-first.mjs +0 -12
- package/esm2020/errors/codes.enum.mjs +0 -12
- package/esm2020/errors/map.mjs +0 -8
- package/esm2020/errors/public_api.mjs +0 -3
- package/esm2020/filters/array-to-dict/array-to-dict.mjs +0 -6
- package/esm2020/filters/behaviors/apply/apply-filter.mjs +0 -24
- package/esm2020/filters/behaviors/apply/apply-request-to-filters.mjs +0 -12
- package/esm2020/filters/behaviors/apply/apply-requests-to-filters.mjs +0 -12
- package/esm2020/filters/behaviors/apply/public_api.mjs +0 -4
- package/esm2020/filters/behaviors/clear/clear-filter.mjs +0 -21
- package/esm2020/filters/behaviors/clear/clear-filters.mjs +0 -12
- package/esm2020/filters/behaviors/clear/public_api.mjs +0 -3
- package/esm2020/filters/behaviors/remove/public_api.mjs +0 -4
- package/esm2020/filters/behaviors/remove/remove-filter.mjs +0 -25
- package/esm2020/filters/behaviors/remove/remove-request-from-filters.mjs +0 -12
- package/esm2020/filters/behaviors/remove/remove-requests-from-filters.mjs +0 -13
- package/esm2020/filters/behaviors/toggle/public_api.mjs +0 -3
- package/esm2020/filters/behaviors/toggle/toggle-request-on-filters.mjs +0 -10
- package/esm2020/filters/behaviors/toggle/toggle.mjs +0 -22
- package/esm2020/filters/compute-applied-filters/compute-applied-filters.mjs +0 -21
- package/esm2020/filters/errors/codes.enum.mjs +0 -13
- package/esm2020/filters/errors/filter-not-found.error.mjs +0 -12
- package/esm2020/filters/errors/map.mjs +0 -15
- package/esm2020/filters/errors/public_api.mjs +0 -5
- package/esm2020/filters/errors/request-name-mismatch.error.mjs +0 -13
- package/esm2020/filters/errors/request-type-mismatch.error.mjs +0 -13
- package/esm2020/filters/errors/unknown-filter-type.error.mjs +0 -13
- package/esm2020/filters/find-applied/find-applied-options.mjs +0 -5
- package/esm2020/filters/find-applied/public_api.mjs +0 -2
- package/esm2020/filters/is-applied/is-filter-applied.mjs +0 -18
- package/esm2020/filters/is-applied/is-toggle-request-applied-to-filter.mjs +0 -18
- package/esm2020/filters/is-applied/public_api.mjs +0 -3
- package/esm2020/filters/public_api.mjs +0 -14
- package/esm2020/filters/to-request/filter-to-request.mjs +0 -20
- package/esm2020/filters/to-request/filters-to-requests.mjs +0 -15
- package/esm2020/filters/to-request/public_api.mjs +0 -3
- package/esm2020/filters/type/equal/array-to-dict/option.mjs +0 -6
- package/esm2020/filters/type/equal/behaviors/apply/apply.mjs +0 -20
- package/esm2020/filters/type/equal/behaviors/clear/clear.mjs +0 -17
- package/esm2020/filters/type/equal/behaviors/remove/remove.mjs +0 -23
- package/esm2020/filters/type/equal/behaviors/toggle/toggle.mjs +0 -24
- package/esm2020/filters/type/equal/is-applied/is-applied.mjs +0 -5
- package/esm2020/filters/type/equal/is-applied/is-toggle-request-applied-to-filter.mjs +0 -5
- package/esm2020/filters/type/equal/public_api.mjs +0 -2
- package/esm2020/filters/type/equal/to-request/filter-to-request.mjs +0 -17
- package/esm2020/filters/type/range/array-to-dict/pair.mjs +0 -7
- package/esm2020/filters/type/range/behaviors/apply/apply.mjs +0 -24
- package/esm2020/filters/type/range/behaviors/clear/clear.mjs +0 -11
- package/esm2020/filters/type/range/behaviors/remove/remove.mjs +0 -17
- package/esm2020/filters/type/range/behaviors/toggle/toggle.mjs +0 -15
- package/esm2020/filters/type/range/compute-pair-label.mjs +0 -3
- package/esm2020/filters/type/range/is-applied/is-applied.mjs +0 -5
- package/esm2020/filters/type/range/is-applied/is-toggle-request-applied-to-filter.mjs +0 -6
- package/esm2020/filters/type/range/public_api.mjs +0 -3
- package/esm2020/filters/type/range/to-request/filter-to-request.mjs +0 -19
- package/esm2020/filters/type/range-numeric/to-request/filter-to-request.mjs +0 -6
- package/esm2020/filters/validators/public_api.mjs +0 -3
- package/esm2020/filters/validators/request-name-match.mjs +0 -16
- package/esm2020/filters/validators/request-type-match.mjs +0 -12
- package/esm2020/models/filters/category-filter-base.mjs +0 -2
- package/esm2020/models/filters/category-filter-option-base.mjs +0 -2
- package/esm2020/models/filters/category-filter-option.mjs +0 -2
- package/esm2020/models/filters/category-filter.mjs +0 -2
- package/esm2020/models/filters/category-filterable.mjs +0 -2
- package/esm2020/models/filters/filter-request.mjs +0 -2
- package/esm2020/models/filters/filter-toggle-request.mjs +0 -2
- package/esm2020/models/filters/public_api.mjs +0 -5
- package/esm2020/models/filters/type/category-filter-type.mjs +0 -9
- package/esm2020/models/filters/type/equal/filter.mjs +0 -2
- package/esm2020/models/filters/type/equal/option.mjs +0 -2
- package/esm2020/models/filters/type/equal/public_api.mjs +0 -2
- package/esm2020/models/filters/type/equal/request.mjs +0 -2
- package/esm2020/models/filters/type/equal/toggle-request.mjs +0 -2
- package/esm2020/models/filters/type/range/filter-base.mjs +0 -2
- package/esm2020/models/filters/type/range/option.mjs +0 -2
- package/esm2020/models/filters/type/range/pair.mjs +0 -2
- package/esm2020/models/filters/type/range/public_api.mjs +0 -2
- package/esm2020/models/filters/type/range/request-base.mjs +0 -2
- package/esm2020/models/filters/type/range/request-option.mjs +0 -2
- package/esm2020/models/filters/type/range/separator.mjs +0 -6
- package/esm2020/models/filters/type/range-numeric/filter.mjs +0 -2
- package/esm2020/models/filters/type/range-numeric/public_api.mjs +0 -2
- package/esm2020/models/filters/type/range-numeric/request.mjs +0 -2
- package/esm2020/models/filters/type/range-numeric/toggle-request.mjs +0 -2
- package/esm2020/state/facades/category-facade.interface.mjs +0 -2
- package/esm2020/state/facades/category.facade.mjs +0 -62
- package/esm2020/state/reducers/category/pure/build-metadata-from-request.mjs +0 -13
- package/esm2020/testing/factories/filters/filter.factory.mjs +0 -50
- package/esm2020/testing/factories/filters/public_api.mjs +0 -5
- package/esm2020/testing/factories/filters/request.factory.mjs +0 -27
- package/esm2020/testing/factories/filters/toggle-request.mjs +0 -35
- package/esm2020/testing/factories/filters/type/equal/option.mjs +0 -29
- package/esm2020/testing/factories/filters/type/equal/public_api.mjs +0 -4
- package/esm2020/testing/factories/filters/type/equal/request.mjs +0 -29
- package/esm2020/testing/factories/filters/type/equal/toggle-request.mjs +0 -29
- package/esm2020/testing/factories/filters/type/equal.mjs +0 -30
- package/esm2020/testing/factories/filters/type/public_api.mjs +0 -5
- package/esm2020/testing/factories/filters/type/range-numeric/option.mjs +0 -27
- package/esm2020/testing/factories/filters/type/range-numeric/pair.mjs +0 -37
- package/esm2020/testing/factories/filters/type/range-numeric/public_api.mjs +0 -6
- package/esm2020/testing/factories/filters/type/range-numeric/request-option.mjs +0 -27
- package/esm2020/testing/factories/filters/type/range-numeric/request.mjs +0 -38
- package/esm2020/testing/factories/filters/type/range-numeric/toggle-request.mjs +0 -38
- package/esm2020/testing/factories/filters/type/range-numeric.mjs +0 -32
- package/filters/array-to-dict/array-to-dict.d.ts +0 -6
- package/filters/behaviors/apply/apply-filter.d.ts +0 -8
- package/filters/behaviors/apply/apply-request-to-filters.d.ts +0 -9
- package/filters/behaviors/apply/apply-requests-to-filters.d.ts +0 -9
- package/filters/behaviors/apply/public_api.d.ts +0 -3
- package/filters/behaviors/clear/clear-filter.d.ts +0 -8
- package/filters/behaviors/clear/clear-filters.d.ts +0 -9
- package/filters/behaviors/clear/public_api.d.ts +0 -2
- package/filters/behaviors/remove/public_api.d.ts +0 -3
- package/filters/behaviors/remove/remove-filter.d.ts +0 -9
- package/filters/behaviors/remove/remove-request-from-filters.d.ts +0 -9
- package/filters/behaviors/remove/remove-requests-from-filters.d.ts +0 -10
- package/filters/behaviors/toggle/public_api.d.ts +0 -2
- package/filters/behaviors/toggle/toggle-request-on-filters.d.ts +0 -7
- package/filters/behaviors/toggle/toggle.d.ts +0 -6
- package/filters/compute-applied-filters/compute-applied-filters.d.ts +0 -7
- package/filters/errors/codes.enum.d.ts +0 -11
- package/filters/errors/filter-not-found.error.d.ts +0 -8
- package/filters/errors/map.d.ts +0 -13
- package/filters/errors/public_api.d.ts +0 -4
- package/filters/errors/request-name-mismatch.error.d.ts +0 -9
- package/filters/errors/request-type-mismatch.error.d.ts +0 -9
- package/filters/errors/unknown-filter-type.error.d.ts +0 -9
- package/filters/find-applied/find-applied-options.d.ts +0 -5
- package/filters/find-applied/public_api.d.ts +0 -1
- package/filters/is-applied/is-filter-applied.d.ts +0 -5
- package/filters/is-applied/is-toggle-request-applied-to-filter.d.ts +0 -5
- package/filters/is-applied/public_api.d.ts +0 -2
- package/filters/public_api.d.ts +0 -13
- package/filters/to-request/filter-to-request.d.ts +0 -6
- package/filters/to-request/filters-to-requests.d.ts +0 -7
- package/filters/to-request/public_api.d.ts +0 -2
- package/filters/type/equal/array-to-dict/option.d.ts +0 -6
- package/filters/type/equal/behaviors/apply/apply.d.ts +0 -8
- package/filters/type/equal/behaviors/clear/clear.d.ts +0 -8
- package/filters/type/equal/behaviors/remove/remove.d.ts +0 -11
- package/filters/type/equal/behaviors/toggle/toggle.d.ts +0 -11
- package/filters/type/equal/is-applied/is-applied.d.ts +0 -5
- package/filters/type/equal/is-applied/is-toggle-request-applied-to-filter.d.ts +0 -5
- package/filters/type/equal/public_api.d.ts +0 -1
- package/filters/type/equal/to-request/filter-to-request.d.ts +0 -5
- package/filters/type/range/array-to-dict/pair.d.ts +0 -6
- package/filters/type/range/behaviors/apply/apply.d.ts +0 -8
- package/filters/type/range/behaviors/clear/clear.d.ts +0 -8
- package/filters/type/range/behaviors/remove/remove.d.ts +0 -11
- package/filters/type/range/behaviors/toggle/toggle.d.ts +0 -10
- package/filters/type/range/compute-pair-label.d.ts +0 -1
- package/filters/type/range/is-applied/is-applied.d.ts +0 -5
- package/filters/type/range/is-applied/is-toggle-request-applied-to-filter.d.ts +0 -5
- package/filters/type/range/public_api.d.ts +0 -2
- package/filters/type/range/to-request/filter-to-request.d.ts +0 -5
- package/filters/type/range-numeric/to-request/filter-to-request.d.ts +0 -5
- package/filters/validators/public_api.d.ts +0 -2
- package/filters/validators/request-name-match.d.ts +0 -7
- package/filters/validators/request-type-match.d.ts +0 -7
- package/models/filters/category-filter-base.d.ts +0 -25
- package/models/filters/category-filter-option-base.d.ts +0 -9
- package/models/filters/category-filter-option.d.ts +0 -6
- package/models/filters/category-filter.d.ts +0 -9
- package/models/filters/category-filterable.d.ts +0 -11
- package/models/filters/filter-request.d.ts +0 -7
- package/models/filters/filter-toggle-request.d.ts +0 -6
- package/models/filters/public_api.d.ts +0 -11
- package/models/filters/type/category-filter-type.d.ts +0 -7
- package/models/filters/type/equal/filter.d.ts +0 -25
- package/models/filters/type/equal/option.d.ts +0 -19
- package/models/filters/type/equal/public_api.d.ts +0 -4
- package/models/filters/type/equal/request.d.ts +0 -18
- package/models/filters/type/equal/toggle-request.d.ts +0 -18
- package/models/filters/type/range/filter-base.d.ts +0 -24
- package/models/filters/type/range/option.d.ts +0 -14
- package/models/filters/type/range/pair.d.ts +0 -20
- package/models/filters/type/range/public_api.d.ts +0 -6
- package/models/filters/type/range/request-base.d.ts +0 -20
- package/models/filters/type/range/request-option.d.ts +0 -14
- package/models/filters/type/range/separator.d.ts +0 -5
- package/models/filters/type/range-numeric/filter.d.ts +0 -11
- package/models/filters/type/range-numeric/public_api.d.ts +0 -3
- package/models/filters/type/range-numeric/request.d.ts +0 -11
- package/models/filters/type/range-numeric/toggle-request.d.ts +0 -12
- package/state/reducers/category/pure/build-metadata-from-request.d.ts +0 -2
- package/testing/factories/filters/filter.factory.d.ts +0 -18
- package/testing/factories/filters/public_api.d.ts +0 -4
- package/testing/factories/filters/request.factory.d.ts +0 -15
- package/testing/factories/filters/toggle-request.d.ts +0 -18
- package/testing/factories/filters/type/equal/option.d.ts +0 -17
- package/testing/factories/filters/type/equal/public_api.d.ts +0 -3
- package/testing/factories/filters/type/equal/request.d.ts +0 -16
- package/testing/factories/filters/type/equal/toggle-request.d.ts +0 -16
- package/testing/factories/filters/type/equal.d.ts +0 -17
- package/testing/factories/filters/type/public_api.d.ts +0 -4
- package/testing/factories/filters/type/range-numeric/option.d.ts +0 -15
- package/testing/factories/filters/type/range-numeric/pair.d.ts +0 -23
- package/testing/factories/filters/type/range-numeric/public_api.d.ts +0 -5
- package/testing/factories/filters/type/range-numeric/request-option.d.ts +0 -15
- package/testing/factories/filters/type/range-numeric/request.d.ts +0 -23
- package/testing/factories/filters/type/range-numeric/toggle-request.d.ts +0 -20
- package/testing/factories/filters/type/range-numeric.d.ts +0 -19
@@ -1,18 +1,129 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { Injectable, Inject, NgModule } from '@angular/core';
|
3
|
-
import * as i1 from '@ngrx/store';
|
4
|
-
import { createFeatureSelector, createSelector, defaultMemoize, select, StoreModule } from '@ngrx/store';
|
5
|
-
import { getDaffProductSelectors, DaffProductGridLoadSuccess, DaffProductStateModule } from '@daffodil/product/state';
|
6
|
-
import { createEntityAdapter } from '@ngrx/entity';
|
7
|
-
import { daffToggleRequestOnFilters, daffRemoveRequestsFromFilters, daffClearFilters, daffApplyRequestsToFilters, daffCategoryComputeAppliedFilters, DaffCategoryRequestKind, daffCategoryFiltersToRequests, DAFF_CATEGORY_ERROR_MATCHER } from '@daffodil/category';
|
8
3
|
import * as i1$1 from '@ngrx/effects';
|
9
4
|
import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
|
5
|
+
import * as i1 from '@ngrx/store';
|
6
|
+
import { createFeatureSelector, createSelector, defaultMemoize, select, StoreModule } from '@ngrx/store';
|
7
|
+
import { daffProductCollectionReducerInitialState, getProductCollectionStateAdapter, daffProductCollectionSelectorFactory, getDaffProductSelectors, DaffProductCollectionFacade, DaffProductGridLoadSuccess, DaffProductStateModule } from '@daffodil/product/state';
|
10
8
|
import { asyncScheduler, of } from 'rxjs';
|
11
9
|
import { withLatestFrom, map, throttleTime, switchMap, catchError, mergeMap } from 'rxjs/operators';
|
10
|
+
import { DaffCategoryRequestKind, DAFF_CATEGORY_ERROR_MATCHER } from '@daffodil/category';
|
12
11
|
import { DaffCategoryDriver } from '@daffodil/category/driver';
|
12
|
+
import { daffToggleRequestOnFilters, daffRemoveRequestsFromFilters, daffClearFilters, daffApplyRequestsToFilters, daffProductFiltersToRequests } from '@daffodil/product';
|
13
|
+
import { createEntityAdapter } from '@ngrx/entity';
|
13
14
|
|
14
|
-
|
15
|
-
|
15
|
+
/**
|
16
|
+
* The possible types of category page filter actions.
|
17
|
+
*/
|
18
|
+
var DaffCategoryPageProductCollectionActionTypes;
|
19
|
+
(function (DaffCategoryPageProductCollectionActionTypes) {
|
20
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageChangeFiltersAction"] = "[@daffodil/category] Category Page Change Filters Action";
|
21
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageReplaceFiltersAction"] = "[@daffodil/category] Category Page Replace Filters Action";
|
22
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageApplyFiltersAction"] = "[@daffodil/category] Category Page Apply Filters Action";
|
23
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageRemoveFiltersAction"] = "[@daffodil/category] Category Page Remove Filters Action";
|
24
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageClearFiltersAction"] = "[@daffodil/category] Category Page Clear Filters Action";
|
25
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageToggleFilterAction"] = "[@daffodil/category] Category Page Toggle Filter Action";
|
26
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageChangeSizeAction"] = "[@daffodil/category] Category Page Change Size Action";
|
27
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageChangeCurrentPageAction"] = "[@daffodil/category] Category Page Change Current Page Action";
|
28
|
+
DaffCategoryPageProductCollectionActionTypes["CategoryPageChangeSortingOptionAction"] = "[@daffodil/category] Category Page Change Sorting Option Action";
|
29
|
+
})(DaffCategoryPageProductCollectionActionTypes || (DaffCategoryPageProductCollectionActionTypes = {}));
|
30
|
+
/**
|
31
|
+
* An action for changing the filters for the current category.
|
32
|
+
*
|
33
|
+
* @param filters - Filters to be changed on the current category.
|
34
|
+
* @deprecated use {@link DaffCategoryPageReplaceFilters} or {@link DaffCategoryPageApplyFilters}
|
35
|
+
*/
|
36
|
+
class DaffCategoryPageChangeFilters {
|
37
|
+
constructor(filters) {
|
38
|
+
this.filters = filters;
|
39
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeFiltersAction;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* An action for replacing the filters for the current category.
|
44
|
+
* All existing filters will be removed and the specified filters will be applied.
|
45
|
+
*
|
46
|
+
* @param filters - Filters to be set on the current category.
|
47
|
+
*/
|
48
|
+
class DaffCategoryPageReplaceFilters {
|
49
|
+
constructor(filters) {
|
50
|
+
this.filters = filters;
|
51
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
/**
|
55
|
+
* An action for applying the specified filters for the current category.
|
56
|
+
*
|
57
|
+
* @param filters - Filters to be applied to the current category.
|
58
|
+
*/
|
59
|
+
class DaffCategoryPageApplyFilters {
|
60
|
+
constructor(filters) {
|
61
|
+
this.filters = filters;
|
62
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
/**
|
66
|
+
* An action for removing the specified filters for the current category.
|
67
|
+
*
|
68
|
+
* @param filters - Filters to be removed from the current category.
|
69
|
+
*/
|
70
|
+
class DaffCategoryPageRemoveFilters {
|
71
|
+
constructor(filters) {
|
72
|
+
this.filters = filters;
|
73
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
/**
|
77
|
+
* An action for removing all the filters for the current category.
|
78
|
+
*/
|
79
|
+
class DaffCategoryPageClearFilters {
|
80
|
+
constructor() {
|
81
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
/**
|
85
|
+
* An action for toggling a filters for the current category.
|
86
|
+
*
|
87
|
+
* @param filter - Filter to be toggled on the current category.
|
88
|
+
*/
|
89
|
+
class DaffCategoryPageToggleFilter {
|
90
|
+
constructor(filter) {
|
91
|
+
this.filter = filter;
|
92
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
/**
|
96
|
+
* An action for changing the number of products shown on each page for the selected category.
|
97
|
+
*
|
98
|
+
* @param pageSize - The number of products per page.
|
99
|
+
*/
|
100
|
+
class DaffCategoryPageChangePageSize {
|
101
|
+
constructor(pageSize) {
|
102
|
+
this.pageSize = pageSize;
|
103
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
/**
|
107
|
+
* An action for changing the current page of products for the selected category.
|
108
|
+
*
|
109
|
+
* @param currentPage - The current page of products for the selected category.
|
110
|
+
*/
|
111
|
+
class DaffCategoryPageChangeCurrentPage {
|
112
|
+
constructor(currentPage) {
|
113
|
+
this.currentPage = currentPage;
|
114
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
/**
|
118
|
+
* An action for changing the sorting option for the selected category.
|
119
|
+
*
|
120
|
+
* @param sort - The sort option to be applied.
|
121
|
+
*/
|
122
|
+
class DaffCategoryPageChangeSortingOption {
|
123
|
+
constructor(sort) {
|
124
|
+
this.sort = sort;
|
125
|
+
this.type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction;
|
126
|
+
}
|
16
127
|
}
|
17
128
|
|
18
129
|
/**
|
@@ -24,9 +135,6 @@ var DaffCategoryPageActionTypes;
|
|
24
135
|
DaffCategoryPageActionTypes["CategoryPageLoadByUrlAction"] = "[@daffodil/category] Category Page Load By URL Action";
|
25
136
|
DaffCategoryPageActionTypes["CategoryPageLoadSuccessAction"] = "[@daffodil/category] Category Page Load Success Action";
|
26
137
|
DaffCategoryPageActionTypes["CategoryPageLoadFailureAction"] = "[@daffodil/category] Category Page Load Failure Action";
|
27
|
-
DaffCategoryPageActionTypes["CategoryPageChangeSizeAction"] = "[@daffodil/category] Category Page Change Size Action";
|
28
|
-
DaffCategoryPageActionTypes["CategoryPageChangeCurrentPageAction"] = "[@daffodil/category] Category Page Change Current Page Action";
|
29
|
-
DaffCategoryPageActionTypes["CategoryPageChangeSortingOptionAction"] = "[@daffodil/category] Category Page Change Sorting Option Action";
|
30
138
|
})(DaffCategoryPageActionTypes || (DaffCategoryPageActionTypes = {}));
|
31
139
|
/**
|
32
140
|
* An action triggered to initialize a category page load request.
|
@@ -76,38 +184,9 @@ class DaffCategoryPageLoadFailure {
|
|
76
184
|
this.type = DaffCategoryPageActionTypes.CategoryPageLoadFailureAction;
|
77
185
|
}
|
78
186
|
}
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
* @param pageSize - The number of products per page.
|
83
|
-
*/
|
84
|
-
class DaffCategoryPageChangePageSize {
|
85
|
-
constructor(pageSize) {
|
86
|
-
this.pageSize = pageSize;
|
87
|
-
this.type = DaffCategoryPageActionTypes.CategoryPageChangeSizeAction;
|
88
|
-
}
|
89
|
-
}
|
90
|
-
/**
|
91
|
-
* An action for changing the current page of products for the selected category.
|
92
|
-
*
|
93
|
-
* @param currentPage - The current page of products for the selected category.
|
94
|
-
*/
|
95
|
-
class DaffCategoryPageChangeCurrentPage {
|
96
|
-
constructor(currentPage) {
|
97
|
-
this.currentPage = currentPage;
|
98
|
-
this.type = DaffCategoryPageActionTypes.CategoryPageChangeCurrentPageAction;
|
99
|
-
}
|
100
|
-
}
|
101
|
-
/**
|
102
|
-
* An action for changing the sorting option for the selected category.
|
103
|
-
*
|
104
|
-
* @param sort - The sort option to be applied.
|
105
|
-
*/
|
106
|
-
class DaffCategoryPageChangeSortingOption {
|
107
|
-
constructor(sort) {
|
108
|
-
this.sort = sort;
|
109
|
-
this.type = DaffCategoryPageActionTypes.CategoryPageChangeSortingOptionAction;
|
110
|
-
}
|
187
|
+
|
188
|
+
function daffCategoryEntitiesAdapter() {
|
189
|
+
return createEntityAdapter();
|
111
190
|
}
|
112
191
|
|
113
192
|
/**
|
@@ -166,145 +245,33 @@ function daffCategoryEntitiesReducer(state = daffCategoryEntitiesAdapter().getIn
|
|
166
245
|
}
|
167
246
|
}
|
168
247
|
|
169
|
-
|
170
|
-
* The possible types of category page filter actions.
|
171
|
-
*/
|
172
|
-
var DaffCategoryPageFilterActionTypes;
|
173
|
-
(function (DaffCategoryPageFilterActionTypes) {
|
174
|
-
DaffCategoryPageFilterActionTypes["CategoryPageChangeFiltersAction"] = "[@daffodil/category] Category Page Change Filters Action";
|
175
|
-
DaffCategoryPageFilterActionTypes["CategoryPageReplaceFiltersAction"] = "[@daffodil/category] Category Page Replace Filters Action";
|
176
|
-
DaffCategoryPageFilterActionTypes["CategoryPageApplyFiltersAction"] = "[@daffodil/category] Category Page Apply Filters Action";
|
177
|
-
DaffCategoryPageFilterActionTypes["CategoryPageRemoveFiltersAction"] = "[@daffodil/category] Category Page Remove Filters Action";
|
178
|
-
DaffCategoryPageFilterActionTypes["CategoryPageClearFiltersAction"] = "[@daffodil/category] Category Page Clear Filters Action";
|
179
|
-
DaffCategoryPageFilterActionTypes["CategoryPageToggleFilterAction"] = "[@daffodil/category] Category Page Toggle Filter Action";
|
180
|
-
})(DaffCategoryPageFilterActionTypes || (DaffCategoryPageFilterActionTypes = {}));
|
181
|
-
/**
|
182
|
-
* An action for changing the filters for the current category.
|
183
|
-
*
|
184
|
-
* @param filters - Filters to be changed on the current category.
|
185
|
-
* @deprecated use {@link DaffCategoryPageReplaceFilters} or {@link DaffCategoryPageApplyFilters}
|
186
|
-
*/
|
187
|
-
class DaffCategoryPageChangeFilters {
|
188
|
-
constructor(filters) {
|
189
|
-
this.filters = filters;
|
190
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageChangeFiltersAction;
|
191
|
-
}
|
192
|
-
}
|
193
|
-
/**
|
194
|
-
* An action for replacing the filters for the current category.
|
195
|
-
* All existing filters will be removed and the specified filters will be applied.
|
196
|
-
*
|
197
|
-
* @param filters - Filters to be set on the current category.
|
198
|
-
*/
|
199
|
-
class DaffCategoryPageReplaceFilters {
|
200
|
-
constructor(filters) {
|
201
|
-
this.filters = filters;
|
202
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageReplaceFiltersAction;
|
203
|
-
}
|
204
|
-
}
|
205
|
-
/**
|
206
|
-
* An action for applying the specified filters for the current category.
|
207
|
-
*
|
208
|
-
* @param filters - Filters to be applied to the current category.
|
209
|
-
*/
|
210
|
-
class DaffCategoryPageApplyFilters {
|
211
|
-
constructor(filters) {
|
212
|
-
this.filters = filters;
|
213
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageApplyFiltersAction;
|
214
|
-
}
|
215
|
-
}
|
216
|
-
/**
|
217
|
-
* An action for removing the specified filters for the current category.
|
218
|
-
*
|
219
|
-
* @param filters - Filters to be removed from the current category.
|
220
|
-
*/
|
221
|
-
class DaffCategoryPageRemoveFilters {
|
222
|
-
constructor(filters) {
|
223
|
-
this.filters = filters;
|
224
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageRemoveFiltersAction;
|
225
|
-
}
|
226
|
-
}
|
227
|
-
/**
|
228
|
-
* An action for removing all the filters for the current category.
|
229
|
-
*/
|
230
|
-
class DaffCategoryPageClearFilters {
|
231
|
-
constructor() {
|
232
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageClearFiltersAction;
|
233
|
-
}
|
234
|
-
}
|
235
|
-
/**
|
236
|
-
* An action for toggling a filters for the current category.
|
237
|
-
*
|
238
|
-
* @param filter - Filter to be toggled on the current category.
|
239
|
-
*/
|
240
|
-
class DaffCategoryPageToggleFilter {
|
241
|
-
constructor(filter) {
|
242
|
-
this.filter = filter;
|
243
|
-
this.type = DaffCategoryPageFilterActionTypes.CategoryPageToggleFilterAction;
|
244
|
-
}
|
245
|
-
}
|
246
|
-
|
247
|
-
const allowedMetadataKeys = [
|
248
|
-
'applied_sort_option',
|
249
|
-
'applied_sort_direction',
|
250
|
-
'current_page',
|
251
|
-
'page_size',
|
252
|
-
];
|
253
|
-
const buildMetadataFromRequest = (request) => allowedMetadataKeys.reduce((acc, key) => {
|
254
|
-
if (request[key]) {
|
255
|
-
acc[key] = request[key];
|
256
|
-
}
|
257
|
-
return acc;
|
258
|
-
}, {});
|
259
|
-
|
260
|
-
const initialState = {
|
261
|
-
categoryPageMetadata: {
|
262
|
-
id: null,
|
263
|
-
applied_sort_option: null,
|
264
|
-
applied_sort_direction: null,
|
265
|
-
current_page: null,
|
266
|
-
page_size: null,
|
267
|
-
total_pages: null,
|
268
|
-
filters: {},
|
269
|
-
sort_options: {
|
270
|
-
default: null,
|
271
|
-
options: [],
|
272
|
-
},
|
273
|
-
total_products: null,
|
274
|
-
product_ids: [],
|
275
|
-
},
|
248
|
+
const initialState$1 = {
|
276
249
|
daffState: "Stable" /* Stable */,
|
277
250
|
categoryLoading: false,
|
278
251
|
productsLoading: false,
|
279
252
|
errors: [],
|
253
|
+
id: null,
|
280
254
|
};
|
281
255
|
/**
|
282
256
|
* Returns the state for category data except for category entities.
|
283
257
|
*/
|
284
|
-
function daffCategoryReducer(state = initialState, action) {
|
258
|
+
function daffCategoryReducer(state = initialState$1, action) {
|
285
259
|
switch (action.type) {
|
286
260
|
case DaffCategoryPageActionTypes.CategoryPageLoadAction:
|
287
261
|
case DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction:
|
288
|
-
return Object.assign(Object.assign({}, state), { categoryLoading: true, productsLoading: true, daffState: "Resolving" /* Resolving */,
|
289
|
-
case
|
290
|
-
|
291
|
-
case
|
292
|
-
|
293
|
-
case
|
294
|
-
|
295
|
-
case
|
296
|
-
case
|
297
|
-
|
298
|
-
|
299
|
-
return Object.assign(Object.assign({}, state), { productsLoading: true, daffState: "Mutating" /* Mutating */, categoryPageMetadata: Object.assign(Object.assign({}, state.categoryPageMetadata), { filters: daffApplyRequestsToFilters(action.filters, state.categoryPageMetadata.filters) }) });
|
300
|
-
case DaffCategoryPageFilterActionTypes.CategoryPageClearFiltersAction:
|
301
|
-
return Object.assign(Object.assign({}, state), { productsLoading: true, daffState: "Mutating" /* Mutating */, categoryPageMetadata: Object.assign(Object.assign({}, state.categoryPageMetadata), { filters: daffClearFilters(state.categoryPageMetadata.filters) }) });
|
302
|
-
case DaffCategoryPageFilterActionTypes.CategoryPageRemoveFiltersAction:
|
303
|
-
return Object.assign(Object.assign({}, state), { productsLoading: true, daffState: "Mutating" /* Mutating */, categoryPageMetadata: Object.assign(Object.assign({}, state.categoryPageMetadata), { filters: daffRemoveRequestsFromFilters(action.filters, state.categoryPageMetadata.filters) }) });
|
304
|
-
case DaffCategoryPageFilterActionTypes.CategoryPageToggleFilterAction:
|
305
|
-
return Object.assign(Object.assign({}, state), { productsLoading: true, daffState: "Mutating" /* Mutating */, categoryPageMetadata: Object.assign(Object.assign({}, state.categoryPageMetadata), { filters: daffToggleRequestOnFilters(action.filter, state.categoryPageMetadata.filters) }) });
|
262
|
+
return Object.assign(Object.assign({}, state), { categoryLoading: true, productsLoading: true, daffState: "Resolving" /* Resolving */, id: null });
|
263
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction:
|
264
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction:
|
265
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction:
|
266
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeFiltersAction:
|
267
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction:
|
268
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction:
|
269
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction:
|
270
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction:
|
271
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction:
|
272
|
+
return Object.assign(Object.assign({}, state), { productsLoading: true, daffState: "Mutating" /* Mutating */ });
|
306
273
|
case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:
|
307
|
-
return Object.assign(Object.assign({}, state), { categoryLoading: false, productsLoading: false, daffState: "Stable" /* Stable */,
|
274
|
+
return Object.assign(Object.assign({}, state), { categoryLoading: false, productsLoading: false, daffState: "Stable" /* Stable */, id: action.response.category.id });
|
308
275
|
case DaffCategoryPageActionTypes.CategoryPageLoadFailureAction:
|
309
276
|
return Object.assign(Object.assign({}, state), { categoryLoading: false, productsLoading: false, errors: [action.errorMessage], daffState: "Stable" /* Stable */ });
|
310
277
|
default:
|
@@ -312,12 +279,57 @@ function daffCategoryReducer(state = initialState, action) {
|
|
312
279
|
}
|
313
280
|
}
|
314
281
|
|
282
|
+
const initialState = Object.assign(Object.assign({}, daffProductCollectionReducerInitialState), { id: null });
|
283
|
+
/**
|
284
|
+
* Returns the state for category data except for category entities.
|
285
|
+
*/
|
286
|
+
function daffCategoryPageMetadataReducer(state = initialState, action) {
|
287
|
+
const adapter = getProductCollectionStateAdapter();
|
288
|
+
switch (action.type) {
|
289
|
+
case DaffCategoryPageActionTypes.CategoryPageLoadAction:
|
290
|
+
case DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction:
|
291
|
+
return Object.assign(Object.assign({}, adapter.storeRequest(action.request, initialState)), { id: null });
|
292
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction:
|
293
|
+
return adapter.setPageSize(action.pageSize, state);
|
294
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction:
|
295
|
+
return adapter.setCurrentPage(action.currentPage, state);
|
296
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction:
|
297
|
+
return adapter.setSort(action.sort.option, action.sort.direction, state);
|
298
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeFiltersAction:
|
299
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction:
|
300
|
+
return adapter.setFilters(daffApplyRequestsToFilters(action.filters, daffClearFilters(state.filters)), state);
|
301
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction:
|
302
|
+
return adapter.setFilters(daffApplyRequestsToFilters(action.filters, state.filters), state);
|
303
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction:
|
304
|
+
return adapter.setFilters(daffClearFilters(state.filters), state);
|
305
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction:
|
306
|
+
return adapter.setFilters(daffRemoveRequestsFromFilters(action.filters, state.filters), state);
|
307
|
+
case DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction:
|
308
|
+
return adapter.setFilters(daffToggleRequestOnFilters(action.filter, state.filters), state);
|
309
|
+
case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:
|
310
|
+
return Object.assign(Object.assign({}, adapter.setMetadata({
|
311
|
+
currentPage: action.response.categoryPageMetadata.currentPage,
|
312
|
+
pageSize: action.response.categoryPageMetadata.pageSize,
|
313
|
+
filters: action.response.categoryPageMetadata.filters,
|
314
|
+
sortOptions: action.response.categoryPageMetadata.sortOptions,
|
315
|
+
totalPages: action.response.categoryPageMetadata.totalPages,
|
316
|
+
count: action.response.categoryPageMetadata.count,
|
317
|
+
ids: action.response.categoryPageMetadata.ids,
|
318
|
+
appliedSortOption: action.response.categoryPageMetadata.appliedSortOption || action.response.categoryPageMetadata.sortOptions.default,
|
319
|
+
appliedSortDirection: action.response.categoryPageMetadata.appliedSortDirection,
|
320
|
+
}, state)), { id: action.response.categoryPageMetadata.id });
|
321
|
+
default:
|
322
|
+
return state;
|
323
|
+
}
|
324
|
+
}
|
325
|
+
|
315
326
|
/**
|
316
327
|
* All daffodil defined category reducers.
|
317
328
|
*/
|
318
329
|
const daffCategoryReducers = {
|
319
330
|
category: daffCategoryReducer,
|
320
331
|
categoryEntities: daffCategoryEntitiesReducer,
|
332
|
+
pageMetadata: daffCategoryPageMetadataReducer,
|
321
333
|
};
|
322
334
|
|
323
335
|
/**
|
@@ -364,20 +376,11 @@ const getDaffCategoryEntitiesSelectors = (() => {
|
|
364
376
|
const createCategoryPageSelectors = () => {
|
365
377
|
const selectCategoryFeatureState = getDaffCategoryFeatureSelector().selectCategoryFeatureState;
|
366
378
|
const selectCategoryState = createSelector(selectCategoryFeatureState, (state) => state.category);
|
367
|
-
const selectCategoryPageMetadata = createSelector(
|
368
|
-
const
|
369
|
-
const selectCategoryTotalPages = createSelector(selectCategoryPageMetadata, (state) => state.total_pages);
|
370
|
-
const selectCategoryPageSize = createSelector(selectCategoryPageMetadata, (state) => state.page_size);
|
371
|
-
const selectCategoryFilters = createSelector(selectCategoryPageMetadata, (state) => state.filters);
|
372
|
-
const selectCategorySortOptions = createSelector(selectCategoryPageMetadata, (state) => state.sort_options.options);
|
373
|
-
const selectCategoryPageProductIds = createSelector(selectCategoryPageMetadata, (state) => state.product_ids);
|
379
|
+
const selectCategoryPageMetadata = createSelector(selectCategoryFeatureState, (state) => state.pageMetadata);
|
380
|
+
const selectCategoryPageProductIds = createSelector(selectCategoryPageMetadata, (state) => state.ids);
|
374
381
|
const selectIsCategoryPageEmpty = createSelector(selectCategoryPageProductIds, (state) => !state.length);
|
375
|
-
const selectCategoryPageTotalProducts = createSelector(selectCategoryPageMetadata, (state) => state.total_products);
|
376
|
-
const selectCategoryPageAppliedFilters = createSelector(selectCategoryFilters, (filters) => daffCategoryComputeAppliedFilters(filters));
|
377
|
-
const selectCategoryPageAppliedSortOption = createSelector(selectCategoryPageMetadata, (state) => state.applied_sort_option);
|
378
|
-
const selectCategoryPageAppliedSortDirection = createSelector(selectCategoryPageMetadata, (state) => state.applied_sort_direction);
|
379
382
|
const selectCategoryPageState = createSelector(selectCategoryState, (state) => state.daffState);
|
380
|
-
const selectCurrentCategoryId = createSelector(
|
383
|
+
const selectCurrentCategoryId = createSelector(selectCategoryState, (state) => state.id);
|
381
384
|
const selectCategoryLoading = createSelector(selectCategoryState, (state) => state.categoryLoading);
|
382
385
|
const selectCategoryProductsLoading = createSelector(selectCategoryState, (state) => state.productsLoading);
|
383
386
|
const selectCategoryErrors = createSelector(selectCategoryState, (state) => state.errors);
|
@@ -385,18 +388,8 @@ const createCategoryPageSelectors = () => {
|
|
385
388
|
const selectIsCategoryPageResolving = createSelector(selectCategoryPageState, (daffState) => daffState === "Resolving" /* Resolving */);
|
386
389
|
return {
|
387
390
|
selectCategoryState,
|
388
|
-
selectCategoryPageMetadata,
|
389
|
-
selectCategoryCurrentPage,
|
390
|
-
selectCategoryTotalPages,
|
391
|
-
selectCategoryPageSize,
|
392
|
-
selectCategoryFilters,
|
393
|
-
selectCategorySortOptions,
|
394
391
|
selectCategoryPageProductIds,
|
395
392
|
selectIsCategoryPageEmpty,
|
396
|
-
selectCategoryPageTotalProducts,
|
397
|
-
selectCategoryPageAppliedFilters,
|
398
|
-
selectCategoryPageAppliedSortOption,
|
399
|
-
selectCategoryPageAppliedSortDirection,
|
400
393
|
selectCategoryPageState,
|
401
394
|
selectCurrentCategoryId,
|
402
395
|
selectCategoryLoading,
|
@@ -417,6 +410,13 @@ const getDaffCategoryPageSelectors = (() => {
|
|
417
410
|
: createCategoryPageSelectors();
|
418
411
|
})();
|
419
412
|
|
413
|
+
const { selectCategoryFeatureState, } = getDaffCategoryFeatureSelector();
|
414
|
+
const selectCategoryProductCollectionState = createSelector(selectCategoryFeatureState, state => state.pageMetadata);
|
415
|
+
const getCategoryProductCollectionSelectors = (() => {
|
416
|
+
let cache;
|
417
|
+
return () => cache = cache || daffProductCollectionSelectorFactory(selectCategoryProductCollectionState);
|
418
|
+
})();
|
419
|
+
|
420
420
|
const createCategorySelectors = () => {
|
421
421
|
const { selectAllProducts, selectProductEntities } = getDaffProductSelectors();
|
422
422
|
const { selectCategoryEntities, } = getDaffCategoryEntitiesSelectors();
|
@@ -431,7 +431,7 @@ const createCategorySelectors = () => {
|
|
431
431
|
? products.filter(product => category.product_ids.indexOf(product.id) >= 0)
|
432
432
|
: [])).memoized;
|
433
433
|
const selectTotalProductsByCategory = defaultMemoize((categoryId) => createSelector(selectProductsByCategory(categoryId), (products) => products.length)).memoized;
|
434
|
-
return Object.assign(Object.assign(Object.assign(Object.assign({}, getDaffCategoryFeatureSelector()), getDaffCategoryEntitiesSelectors()), getDaffCategoryPageSelectors()), { selectCurrentCategory,
|
434
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, getDaffCategoryFeatureSelector()), getDaffCategoryEntitiesSelectors()), getDaffCategoryPageSelectors()), getCategoryProductCollectionSelectors()), { selectCurrentCategory,
|
435
435
|
selectCategoryPageProducts,
|
436
436
|
selectCategory,
|
437
437
|
selectProductsByCategory,
|
@@ -459,19 +459,9 @@ class DaffCategoryFacade {
|
|
459
459
|
this.categorySelectors = getDaffCategorySelectors();
|
460
460
|
this.category$ = this.store.pipe(select(this.categorySelectors.selectCurrentCategory));
|
461
461
|
this.products$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageProducts));
|
462
|
-
this.totalProducts$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageTotalProducts));
|
463
|
-
this.metadata$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageMetadata));
|
464
462
|
this.pageLoadingState$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageState));
|
465
463
|
this.isPageMutating$ = this.store.pipe(select(this.categorySelectors.selectIsCategoryPageMutating));
|
466
464
|
this.isPageResolving$ = this.store.pipe(select(this.categorySelectors.selectIsCategoryPageResolving));
|
467
|
-
this.currentPage$ = this.store.pipe(select(this.categorySelectors.selectCategoryCurrentPage));
|
468
|
-
this.totalPages$ = this.store.pipe(select(this.categorySelectors.selectCategoryTotalPages));
|
469
|
-
this.pageSize$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageSize));
|
470
|
-
this.filters$ = this.store.pipe(select(this.categorySelectors.selectCategoryFilters));
|
471
|
-
this.sortOptions$ = this.store.pipe(select(this.categorySelectors.selectCategorySortOptions));
|
472
|
-
this.appliedFilters$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageAppliedFilters));
|
473
|
-
this.appliedSortOption$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageAppliedSortOption));
|
474
|
-
this.appliedSortDirection$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageAppliedSortDirection));
|
475
465
|
this.categoryLoading$ = this.store.pipe(select(this.categorySelectors.selectCategoryLoading));
|
476
466
|
this.productsLoading$ = this.store.pipe(select(this.categorySelectors.selectCategoryProductsLoading));
|
477
467
|
this.errors$ = this.store.pipe(select(this.categorySelectors.selectCategoryErrors));
|
@@ -504,6 +494,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
504
494
|
}]
|
505
495
|
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
506
496
|
|
497
|
+
class DaffCategoryProductCollectionFacade extends DaffProductCollectionFacade {
|
498
|
+
constructor(store) {
|
499
|
+
super(store, getCategoryProductCollectionSelectors());
|
500
|
+
}
|
501
|
+
}
|
502
|
+
/** @nocollapse */ /** @nocollapse */ DaffCategoryProductCollectionFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryProductCollectionFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
|
503
|
+
/** @nocollapse */ /** @nocollapse */ DaffCategoryProductCollectionFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryProductCollectionFacade, providedIn: 'root' });
|
504
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryProductCollectionFacade, decorators: [{
|
505
|
+
type: Injectable,
|
506
|
+
args: [{
|
507
|
+
providedIn: 'root',
|
508
|
+
}]
|
509
|
+
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
510
|
+
|
507
511
|
class DaffCategoryPageFilterEffects {
|
508
512
|
constructor(actions$, driver, errorMatcher, facade) {
|
509
513
|
this.actions$ = actions$;
|
@@ -518,21 +522,21 @@ class DaffCategoryPageFilterEffects {
|
|
518
522
|
* @param throttleWindow the amount of time to delay when apply/removing filters
|
519
523
|
* in a sequence.
|
520
524
|
*/
|
521
|
-
this.updateFilters$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(ofType(
|
525
|
+
this.updateFilters$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction), withLatestFrom(this.facade.metadata$), map(([action, metadata]) => ({
|
522
526
|
kind: DaffCategoryRequestKind.ID,
|
523
527
|
id: metadata.id,
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
528
|
+
filterRequests: daffProductFiltersToRequests(metadata.filters),
|
529
|
+
appliedSortOption: metadata.appliedSortOption,
|
530
|
+
appliedSortDirection: metadata.appliedSortDirection,
|
531
|
+
currentPage: metadata.currentPage,
|
532
|
+
pageSize: metadata.pageSize,
|
529
533
|
})), throttleTime(throttleWindow, scheduler, { leading: true, trailing: true }), switchMap(payload => this.driver.get(payload).pipe(switchMap((resp) => [
|
530
534
|
new DaffProductGridLoadSuccess(resp.products),
|
531
535
|
new DaffCategoryPageLoadSuccess(resp),
|
532
536
|
]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error))))))));
|
533
537
|
}
|
534
538
|
}
|
535
|
-
/** @nocollapse */ /** @nocollapse */ DaffCategoryPageFilterEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageFilterEffects, deps: [{ token: i1$1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }, { token:
|
539
|
+
/** @nocollapse */ /** @nocollapse */ DaffCategoryPageFilterEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageFilterEffects, deps: [{ token: i1$1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }, { token: DaffCategoryProductCollectionFacade }], target: i0.ɵɵFactoryTarget.Injectable });
|
536
540
|
/** @nocollapse */ /** @nocollapse */ DaffCategoryPageFilterEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageFilterEffects });
|
537
541
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCategoryPageFilterEffects, decorators: [{
|
538
542
|
type: Injectable
|
@@ -543,7 +547,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
543
547
|
}] }, { type: undefined, decorators: [{
|
544
548
|
type: Inject,
|
545
549
|
args: [DAFF_CATEGORY_ERROR_MATCHER]
|
546
|
-
}] }, { type:
|
550
|
+
}] }, { type: DaffCategoryProductCollectionFacade }];
|
547
551
|
} });
|
548
552
|
|
549
553
|
class DaffCategoryPageEffects {
|
@@ -558,9 +562,9 @@ class DaffCategoryPageEffects {
|
|
558
562
|
new DaffProductGridLoadSuccess(resp.products),
|
559
563
|
new DaffCategoryPageLoadSuccess(resp),
|
560
564
|
]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error))))))));
|
561
|
-
this.changeCategoryPageSize$ = createEffect(() => this.actions$.pipe(ofType(
|
562
|
-
this.changeCategoryCurrentPage$ = createEffect(() => this.actions$.pipe(ofType(
|
563
|
-
this.changeCategorySort$ = createEffect(() => this.actions$.pipe(ofType(
|
565
|
+
this.changeCategoryPageSize$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCollectionMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest(Object.assign(Object.assign({}, metadata), { kind: DaffCategoryRequestKind.ID, filterRequests: daffProductFiltersToRequests(metadata.filters), pageSize: action.pageSize })))));
|
566
|
+
this.changeCategoryCurrentPage$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCollectionMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest(Object.assign(Object.assign({}, metadata), { kind: DaffCategoryRequestKind.ID, filterRequests: daffProductFiltersToRequests(metadata.filters), currentPage: action.currentPage })))));
|
567
|
+
this.changeCategorySort$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCollectionMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest(Object.assign(Object.assign({}, metadata), { kind: DaffCategoryRequestKind.ID, filterRequests: daffProductFiltersToRequests(metadata.filters), appliedSortOption: action.sort.option, appliedSortDirection: action.sort.direction })))));
|
564
568
|
}
|
565
569
|
processCategoryGetRequest(payload) {
|
566
570
|
return this.driver.get(payload).pipe(switchMap((resp) => [
|
@@ -632,5 +636,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
632
636
|
* Generated bundle index. Do not edit.
|
633
637
|
*/
|
634
638
|
|
635
|
-
export { DAFF_CATEGORY_STORE_FEATURE_KEY, DaffCategoryActionTypes, DaffCategoryFacade, DaffCategoryLoad, DaffCategoryLoadFailure, DaffCategoryLoadSuccess, DaffCategoryPageActionTypes, DaffCategoryPageApplyFilters, DaffCategoryPageChangeCurrentPage, DaffCategoryPageChangeFilters, DaffCategoryPageChangePageSize, DaffCategoryPageChangeSortingOption, DaffCategoryPageClearFilters,
|
639
|
+
export { DAFF_CATEGORY_STORE_FEATURE_KEY, DaffCategoryActionTypes, DaffCategoryFacade, DaffCategoryLoad, DaffCategoryLoadFailure, DaffCategoryLoadSuccess, DaffCategoryPageActionTypes, DaffCategoryPageApplyFilters, DaffCategoryPageChangeCurrentPage, DaffCategoryPageChangeFilters, DaffCategoryPageChangePageSize, DaffCategoryPageChangeSortingOption, DaffCategoryPageClearFilters, DaffCategoryPageLoad, DaffCategoryPageLoadByUrl, DaffCategoryPageLoadFailure, DaffCategoryPageLoadSuccess, DaffCategoryPageProductCollectionActionTypes, DaffCategoryPageRemoveFilters, DaffCategoryPageReplaceFilters, DaffCategoryPageToggleFilter, DaffCategoryProductCollectionFacade, DaffCategoryStateModule, daffCategoryEntitiesReducer, daffCategoryPageMetadataReducer, daffCategoryReducer, daffCategoryReducers, getDaffCategorySelectors };
|
636
640
|
//# sourceMappingURL=daffodil-category-state.mjs.map
|