@daffodil/category 0.42.2 → 0.43.1
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 +3 -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 +23 -24
- 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/resolvers/category-page-url/category-page-url.resolver.mjs +2 -2
- package/esm2020/state/actions/category-page-filter.actions.mjs +1 -1
- package/esm2020/state/actions/category-page.actions.mjs +1 -1
- package/esm2020/state/effects/category-page-filter.effects.mjs +8 -7
- package/esm2020/state/effects/category-page.effects.mjs +10 -9
- package/esm2020/state/facades/category-facade.interface.mjs +1 -1
- package/esm2020/state/facades/category.facade.mjs +1 -1
- package/esm2020/state/reducers/category/category.reducer.mjs +22 -21
- package/esm2020/state/reducers/category/pure/build-metadata-from-request.mjs +5 -5
- package/esm2020/state/selectors/category-page/category-page.selector.mjs +11 -11
- 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 +42 -207
- package/fesm2015/daffodil-category-driver-magento.mjs.map +1 -1
- package/fesm2015/daffodil-category-routing.mjs +1 -1
- package/fesm2015/daffodil-category-routing.mjs.map +1 -1
- package/fesm2015/daffodil-category-state-testing.mjs.map +1 -1
- package/fesm2015/daffodil-category-state.mjs +35 -34
- 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 +45 -214
- package/fesm2020/daffodil-category-driver-magento.mjs.map +1 -1
- package/fesm2020/daffodil-category-routing.mjs +1 -1
- package/fesm2020/daffodil-category-routing.mjs.map +1 -1
- package/fesm2020/daffodil-category-state-testing.mjs.map +1 -1
- package/fesm2020/daffodil-category-state.mjs +47 -45
- 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/state/actions/category-page-filter.actions.d.ts +11 -11
- package/state/actions/category-page.actions.d.ts +4 -4
- package/state/facades/category-facade.interface.d.ts +6 -6
- package/state/facades/category.facade.d.ts +6 -6
- package/state/selectors/category-page/category-page.selector.d.ts +11 -11
- 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/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/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,15 +1,15 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { InjectionToken, Injectable, Inject, NgModule } from '@angular/core';
|
3
|
-
import * as i1 from 'apollo-angular';
|
3
|
+
import * as i1$1 from 'apollo-angular';
|
4
4
|
import { gql } from 'apollo-angular';
|
5
5
|
import { combineLatest } from 'rxjs';
|
6
6
|
import { map, switchMap } from 'rxjs/operators';
|
7
|
-
import {
|
8
|
-
import
|
9
|
-
import
|
7
|
+
import { DaffCategoryRequestKind } from '@daffodil/category';
|
8
|
+
import { daffApplyRequestsToFilters } from '@daffodil/product';
|
9
|
+
import * as i1 from '@daffodil/product/driver/magento';
|
10
|
+
import { magentoProductFragment, magentoProductPageInfoFragment, magentoProductSortFieldsFragment, magentoProductAggregationsFragment, MagentoProductFilterActionEnum, magentoProductCollectionMetadataTransform, magentoProductGetMatchedAttributeType, MagentoProductGetFilterTypes, magentoAppliedSortOptionTransform, MAGENTO_PRODUCT_CONFIG_TOKEN, DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS, DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from '@daffodil/product/driver/magento';
|
10
11
|
import { daffUriTruncateLeadingSlash, daffUriTruncateFileExtension, daffUriTruncateQueryFragment } from '@daffodil/core/routing';
|
11
12
|
import { daffBuildFragmentNameSpread, daffBuildFragmentDefinition } from '@daffodil/core/graphql';
|
12
|
-
import { DaffSortDirectionEnum } from '@daffodil/core/state';
|
13
13
|
import { CommonModule } from '@angular/common';
|
14
14
|
import { DaffCategoryDriver } from '@daffodil/category/driver';
|
15
15
|
import { DAFF_MAGENTO_CACHEABLE_OPERATIONS } from '@daffodil/driver/magento';
|
@@ -33,20 +33,6 @@ const MAGENTO_CATEGORY_CONFIG_DEFAULT = {
|
|
33
33
|
*/
|
34
34
|
const MAGENTO_CATEGORY_CONFIG_TOKEN = new InjectionToken('MAGENTO_CATEGORY_CONFIG_TOKEN', { factory: () => MAGENTO_CATEGORY_CONFIG_DEFAULT });
|
35
35
|
|
36
|
-
const DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME = 'MagentoGetFilterFieldTypesForCategory';
|
37
|
-
const MagentoGetCategoryFilterTypes = gql `
|
38
|
-
query ${DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME} {
|
39
|
-
__type (name: "ProductAttributeFilterInput") {
|
40
|
-
inputFields {
|
41
|
-
name
|
42
|
-
type {
|
43
|
-
name
|
44
|
-
}
|
45
|
-
}
|
46
|
-
}
|
47
|
-
}
|
48
|
-
`;
|
49
|
-
|
50
36
|
const magentoCategoryTreeFragment = gql `
|
51
37
|
fragment categoryTree on CategoryTree {
|
52
38
|
uid
|
@@ -84,6 +70,7 @@ ${magentoCategoryTreeFragment}
|
|
84
70
|
`;
|
85
71
|
|
86
72
|
const DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME = 'MagentoGetProducts';
|
73
|
+
// TODO(griest024): should this be using the product preview fragment instead?
|
87
74
|
/**
|
88
75
|
* This query only exists because products and their associated aggregations/filter cannot
|
89
76
|
* be retrieved through a category call.
|
@@ -99,209 +86,57 @@ query ${DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME}($filter: ProductAttributeFilterInp
|
|
99
86
|
${daffBuildFragmentNameSpread(...extraProductFragments)}
|
100
87
|
}
|
101
88
|
page_info {
|
102
|
-
|
103
|
-
current_page
|
104
|
-
total_pages
|
89
|
+
...magentoProductPageInfo
|
105
90
|
}
|
106
91
|
aggregations {
|
107
|
-
|
108
|
-
count
|
109
|
-
attribute_code
|
110
|
-
options {
|
111
|
-
count
|
112
|
-
label
|
113
|
-
value
|
114
|
-
}
|
92
|
+
...magentoProductAggregations
|
115
93
|
}
|
116
94
|
sort_fields {
|
117
|
-
|
118
|
-
options {
|
119
|
-
label
|
120
|
-
value
|
121
|
-
}
|
95
|
+
...magentoProductSortFields
|
122
96
|
}
|
123
97
|
}
|
124
98
|
}
|
125
99
|
${magentoProductFragment}
|
100
|
+
${magentoProductPageInfoFragment}
|
101
|
+
${magentoProductSortFieldsFragment}
|
102
|
+
${magentoProductAggregationsFragment}
|
126
103
|
${daffBuildFragmentDefinition(...extraProductFragments)}
|
127
104
|
`;
|
128
105
|
|
129
|
-
var MagentoCategoryFilterActionEnum;
|
130
|
-
(function (MagentoCategoryFilterActionEnum) {
|
131
|
-
MagentoCategoryFilterActionEnum["Equal"] = "eq";
|
132
|
-
MagentoCategoryFilterActionEnum["To"] = "to";
|
133
|
-
MagentoCategoryFilterActionEnum["From"] = "from";
|
134
|
-
MagentoCategoryFilterActionEnum["In"] = "in";
|
135
|
-
MagentoCategoryFilterActionEnum["Match"] = "match";
|
136
|
-
})(MagentoCategoryFilterActionEnum || (MagentoCategoryFilterActionEnum = {}));
|
137
|
-
|
138
|
-
var MagentoSortDirectionEnum;
|
139
|
-
(function (MagentoSortDirectionEnum) {
|
140
|
-
MagentoSortDirectionEnum["Ascending"] = "ASC";
|
141
|
-
MagentoSortDirectionEnum["Decending"] = "DESC";
|
142
|
-
})(MagentoSortDirectionEnum || (MagentoSortDirectionEnum = {}));
|
143
|
-
|
144
|
-
// maybe this shoould be in @daffodil/product/driver/magento?
|
145
|
-
var MagentoCategoryFilterType;
|
146
|
-
(function (MagentoCategoryFilterType) {
|
147
|
-
MagentoCategoryFilterType["Equal"] = "FilterEqualTypeInput";
|
148
|
-
MagentoCategoryFilterType["Match"] = "FilterEqualTypeInput";
|
149
|
-
MagentoCategoryFilterType["Range"] = "FilterRangeTypeInput";
|
150
|
-
})(MagentoCategoryFilterType || (MagentoCategoryFilterType = {}));
|
151
|
-
|
152
106
|
class DaffMagentoAppliedFiltersTransformService {
|
107
|
+
constructor(productFilterRequestsTransformer) {
|
108
|
+
this.productFilterRequestsTransformer = productFilterRequestsTransformer;
|
109
|
+
}
|
153
110
|
transform(categoryId, daffFilters) {
|
154
111
|
const magentoFilters = {
|
155
112
|
category_uid: {
|
156
|
-
[
|
113
|
+
[MagentoProductFilterActionEnum.Equal]: categoryId,
|
157
114
|
},
|
158
115
|
};
|
159
116
|
if (!daffFilters) {
|
160
117
|
return magentoFilters;
|
161
118
|
}
|
162
|
-
daffFilters.forEach(filter => {
|
163
|
-
// The FromTo filter needs special treatment, because Magento accepts the "from" and "to" filters
|
164
|
-
// separately (it also outputs FromTo filter pairs together)
|
165
|
-
if (filter.type === DaffCategoryFilterType.RangeNumeric) {
|
166
|
-
magentoFilters[filter.name] = {
|
167
|
-
...magentoFilters[filter.name],
|
168
|
-
...this.getRangeFromValue(filter.value.min.toString()),
|
169
|
-
...this.getRangeToValue(filter.value.max.toString()),
|
170
|
-
};
|
171
|
-
}
|
172
|
-
else {
|
173
|
-
magentoFilters[filter.name] = {
|
174
|
-
...magentoFilters[filter.name],
|
175
|
-
[this.getFilterAction(filter.type)]: this.getFilterValue(filter.type, filter.value),
|
176
|
-
};
|
177
|
-
}
|
178
|
-
});
|
179
|
-
return magentoFilters;
|
180
|
-
}
|
181
|
-
/**
|
182
|
-
* Returns an In action for Equal type and a Match action for Match type.
|
183
|
-
*/
|
184
|
-
getFilterAction(type) {
|
185
|
-
return type === DaffCategoryFilterType.Equal
|
186
|
-
? MagentoCategoryFilterActionEnum.In
|
187
|
-
: MagentoCategoryFilterActionEnum.Match;
|
188
|
-
}
|
189
|
-
/**
|
190
|
-
* Returns an array for Equal type and a string for Match type.
|
191
|
-
*/
|
192
|
-
getFilterValue(type, value) {
|
193
|
-
return type === DaffCategoryFilterType.Equal ? value : value[0];
|
194
|
-
}
|
195
|
-
getRangeFromValue(fromValue) {
|
196
|
-
return fromValue !== '*' ? { [MagentoCategoryFilterActionEnum.From]: fromValue } : null;
|
197
|
-
}
|
198
|
-
getRangeToValue(toValue) {
|
199
|
-
return toValue !== '*' ? { [MagentoCategoryFilterActionEnum.To]: toValue } : null;
|
200
|
-
}
|
201
|
-
}
|
202
|
-
/** @nocollapse */ /** @nocollapse */ DaffMagentoAppliedFiltersTransformService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
203
|
-
/** @nocollapse */ /** @nocollapse */ DaffMagentoAppliedFiltersTransformService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, providedIn: 'root' });
|
204
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, decorators: [{
|
205
|
-
type: Injectable,
|
206
|
-
args: [{
|
207
|
-
providedIn: 'root',
|
208
|
-
}]
|
209
|
-
}] });
|
210
|
-
|
211
|
-
class DaffMagentoAppliedSortOptionTransformService {
|
212
|
-
transform(appliedOption, appliedDirection) {
|
213
119
|
return {
|
214
|
-
|
120
|
+
...magentoFilters,
|
121
|
+
...this.productFilterRequestsTransformer.transform(daffFilters),
|
215
122
|
};
|
216
123
|
}
|
217
|
-
transformDirection(direction) {
|
218
|
-
if (direction === DaffSortDirectionEnum.Ascending) {
|
219
|
-
return MagentoSortDirectionEnum.Ascending;
|
220
|
-
}
|
221
|
-
else if (direction === DaffSortDirectionEnum.Descending) {
|
222
|
-
return MagentoSortDirectionEnum.Decending;
|
223
|
-
}
|
224
|
-
}
|
225
124
|
}
|
226
|
-
/** @nocollapse */ /** @nocollapse */
|
227
|
-
/** @nocollapse */ /** @nocollapse */
|
228
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type:
|
125
|
+
/** @nocollapse */ /** @nocollapse */ DaffMagentoAppliedFiltersTransformService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, deps: [{ token: i1.MagentoProductAppliedFiltersTransformService }], target: i0.ɵɵFactoryTarget.Injectable });
|
126
|
+
/** @nocollapse */ /** @nocollapse */ DaffMagentoAppliedFiltersTransformService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, providedIn: 'root' });
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, decorators: [{
|
229
128
|
type: Injectable,
|
230
129
|
args: [{
|
231
130
|
providedIn: 'root',
|
232
131
|
}]
|
233
|
-
}] });
|
234
|
-
|
235
|
-
const transformAggregateEqual = (aggregate) => ({
|
236
|
-
label: aggregate.label,
|
237
|
-
type: DaffCategoryFilterType.Equal,
|
238
|
-
name: aggregate.attribute_code,
|
239
|
-
options: aggregate.options.reduce((acc, option) => {
|
240
|
-
acc[option.value] = {
|
241
|
-
applied: false,
|
242
|
-
label: option.label,
|
243
|
-
count: option.count,
|
244
|
-
value: option.value,
|
245
|
-
};
|
246
|
-
return acc;
|
247
|
-
}, {}),
|
248
|
-
});
|
249
|
-
|
250
|
-
/**
|
251
|
-
* The char that Magento uses to separate individual elements of the buckets
|
252
|
-
* they return for range elements
|
253
|
-
*/
|
254
|
-
const magentoBucketSeparator = '-';
|
255
|
-
const transformAggregateRange = (aggregate) => ({
|
256
|
-
label: aggregate.label,
|
257
|
-
type: DaffCategoryFilterType.RangeNumeric,
|
258
|
-
name: aggregate.attribute_code,
|
259
|
-
min: parseInt(aggregate.options[0].value.split('-')[0], 10),
|
260
|
-
max: parseInt(aggregate.options[aggregate.options.length - 1].value.split(magentoBucketSeparator)[1], 10),
|
261
|
-
options: {},
|
262
|
-
});
|
263
|
-
|
264
|
-
const transformAggregate = (aggregate) => {
|
265
|
-
switch (aggregate.type) {
|
266
|
-
case MagentoCategoryFilterType.Range:
|
267
|
-
return transformAggregateRange(aggregate);
|
268
|
-
case MagentoCategoryFilterType.Equal:
|
269
|
-
case MagentoCategoryFilterType.Match:
|
270
|
-
default:
|
271
|
-
return transformAggregateEqual(aggregate);
|
272
|
-
}
|
273
|
-
};
|
274
|
-
|
275
|
-
function coerceDefaultSortOptionFirst(sort_fields) {
|
276
|
-
const index = sort_fields.options.findIndex(option => sort_fields.default === option.value);
|
277
|
-
return {
|
278
|
-
...sort_fields,
|
279
|
-
options: [
|
280
|
-
sort_fields.options[index],
|
281
|
-
...sort_fields.options.slice(0, index),
|
282
|
-
...sort_fields.options.slice(index + 1),
|
283
|
-
],
|
284
|
-
};
|
285
|
-
}
|
132
|
+
}], ctorParameters: function () { return [{ type: i1.MagentoProductAppliedFiltersTransformService }]; } });
|
286
133
|
|
287
134
|
class DaffMagentoCategoryPageConfigTransformerService {
|
288
135
|
transform(categoryResponse) {
|
289
136
|
const aggregatesWithoutCategories = categoryResponse.aggregates.filter(aggregate => aggregate.attribute_code !== 'category_id');
|
290
137
|
return {
|
138
|
+
...magentoProductCollectionMetadataTransform(aggregatesWithoutCategories, categoryResponse.page_info, categoryResponse.sort_fields, categoryResponse.products, categoryResponse.total_count),
|
291
139
|
id: categoryResponse.category.uid,
|
292
|
-
page_size: categoryResponse.page_info.page_size,
|
293
|
-
current_page: categoryResponse.page_info.current_page,
|
294
|
-
total_pages: categoryResponse.page_info.total_pages,
|
295
|
-
total_products: categoryResponse.total_count,
|
296
|
-
filters: daffCategoryFilterArrayToDict(aggregatesWithoutCategories.map(transformAggregate)),
|
297
|
-
sort_options: {
|
298
|
-
default: categoryResponse.sort_fields.default,
|
299
|
-
options: coerceDefaultSortOptionFirst(categoryResponse.sort_fields).options,
|
300
|
-
},
|
301
|
-
product_ids: categoryResponse.products.map(product => product.sku),
|
302
|
-
// TODO: implement?
|
303
|
-
applied_sort_direction: null,
|
304
|
-
applied_sort_option: null,
|
305
140
|
};
|
306
141
|
}
|
307
142
|
}
|
@@ -365,18 +200,16 @@ class DaffMagentoCategoryResponseTransformService {
|
|
365
200
|
};
|
366
201
|
}
|
367
202
|
}
|
368
|
-
/** @nocollapse */ /** @nocollapse */ DaffMagentoCategoryResponseTransformService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, deps: [{ token: DaffMagentoCategoryTransformerService }, { token: DaffMagentoCategoryPageConfigTransformerService }, { token:
|
203
|
+
/** @nocollapse */ /** @nocollapse */ DaffMagentoCategoryResponseTransformService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, deps: [{ token: DaffMagentoCategoryTransformerService }, { token: DaffMagentoCategoryPageConfigTransformerService }, { token: i1.DaffMagentoProductsTransformer }], target: i0.ɵɵFactoryTarget.Injectable });
|
369
204
|
/** @nocollapse */ /** @nocollapse */ DaffMagentoCategoryResponseTransformService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, providedIn: 'root' });
|
370
205
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, decorators: [{
|
371
206
|
type: Injectable,
|
372
207
|
args: [{
|
373
208
|
providedIn: 'root',
|
374
209
|
}]
|
375
|
-
}], ctorParameters: function () { return [{ type: DaffMagentoCategoryTransformerService }, { type: DaffMagentoCategoryPageConfigTransformerService }, { type:
|
376
|
-
|
377
|
-
const getMatchedAttributeType = (aggregate, attributes) => attributes.__type.inputFields.filter(item => item.name === aggregate.attribute_code)[0].type.name;
|
210
|
+
}], ctorParameters: function () { return [{ type: DaffMagentoCategoryTransformerService }, { type: DaffMagentoCategoryPageConfigTransformerService }, { type: i1.DaffMagentoProductsTransformer }]; } });
|
378
211
|
|
379
|
-
function
|
212
|
+
function addMetadataTypesToProductsResponse(attributeResponse, aggregationResponse) {
|
380
213
|
return {
|
381
214
|
...aggregationResponse,
|
382
215
|
products: {
|
@@ -384,7 +217,7 @@ function addMetadataTypesToAggregates(attributeResponse, aggregationResponse) {
|
|
384
217
|
aggregations: [
|
385
218
|
...aggregationResponse.products.aggregations.map((aggregate) => ({
|
386
219
|
...aggregate,
|
387
|
-
type:
|
220
|
+
type: magentoProductGetMatchedAttributeType(aggregate, attributeResponse.__type.inputFields),
|
388
221
|
})),
|
389
222
|
],
|
390
223
|
},
|
@@ -404,11 +237,10 @@ const applyFiltersOnResponse = (requests, response) => ({
|
|
404
237
|
* @inheritdoc
|
405
238
|
*/
|
406
239
|
class DaffMagentoCategoryService {
|
407
|
-
constructor(apollo, magentoCategoryResponseTransformer, magentoAppliedFiltersTransformer,
|
240
|
+
constructor(apollo, magentoCategoryResponseTransformer, magentoAppliedFiltersTransformer, config, productConfig, extraPreviewFragments) {
|
408
241
|
this.apollo = apollo;
|
409
242
|
this.magentoCategoryResponseTransformer = magentoCategoryResponseTransformer;
|
410
243
|
this.magentoAppliedFiltersTransformer = magentoAppliedFiltersTransformer;
|
411
|
-
this.magentoAppliedSortTransformer = magentoAppliedSortTransformer;
|
412
244
|
this.config = config;
|
413
245
|
this.productConfig = productConfig;
|
414
246
|
this.extraPreviewFragments = extraPreviewFragments;
|
@@ -421,14 +253,14 @@ class DaffMagentoCategoryService {
|
|
421
253
|
variables: { filters: { category_uid: { eq: categoryRequest.id } } },
|
422
254
|
}),
|
423
255
|
this.apollo.query({
|
424
|
-
query:
|
256
|
+
query: MagentoProductGetFilterTypes,
|
425
257
|
}),
|
426
258
|
this.apollo.query({
|
427
259
|
query: MagentoGetProductsQuery(this.extraPreviewFragments),
|
428
260
|
variables: this.getProductsQueryVariables(categoryRequest),
|
429
261
|
}),
|
430
|
-
]).pipe(map(([category, filterTypes, products,]) => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)), map(result => categoryRequest.
|
431
|
-
? applyFiltersOnResponse(categoryRequest.
|
262
|
+
]).pipe(map(([category, filterTypes, products,]) => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)), map(result => categoryRequest.filterRequests
|
263
|
+
? applyFiltersOnResponse(categoryRequest.filterRequests, result)
|
432
264
|
: result));
|
433
265
|
}
|
434
266
|
getByUrl(categoryRequest) {
|
@@ -442,7 +274,7 @@ class DaffMagentoCategoryService {
|
|
442
274
|
} } },
|
443
275
|
}),
|
444
276
|
this.apollo.query({
|
445
|
-
query:
|
277
|
+
query: MagentoProductGetFilterTypes,
|
446
278
|
}),
|
447
279
|
]).pipe(switchMap(([category, filterTypes,]) => this.apollo.query({
|
448
280
|
query: MagentoGetProductsQuery(this.extraPreviewFragments),
|
@@ -451,27 +283,27 @@ class DaffMagentoCategoryService {
|
|
451
283
|
id: category.data.categoryList[0]?.uid,
|
452
284
|
kind: DaffCategoryRequestKind.ID,
|
453
285
|
}),
|
454
|
-
}).pipe(map(products => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)), map(result => categoryRequest.
|
455
|
-
? applyFiltersOnResponse(categoryRequest.
|
286
|
+
}).pipe(map(products => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)), map(result => categoryRequest.filterRequests
|
287
|
+
? applyFiltersOnResponse(categoryRequest.filterRequests, result)
|
456
288
|
: result))));
|
457
289
|
}
|
458
290
|
getProductsQueryVariables(request) {
|
459
291
|
const queryVariables = {
|
460
|
-
filter: this.magentoAppliedFiltersTransformer.transform(request.id, request.
|
292
|
+
filter: this.magentoAppliedFiltersTransformer.transform(request.id, request.filterRequests),
|
461
293
|
};
|
462
|
-
if (request.
|
463
|
-
queryVariables['pageSize'] = request.
|
294
|
+
if (request.pageSize) {
|
295
|
+
queryVariables['pageSize'] = request.pageSize;
|
464
296
|
}
|
465
|
-
if (request.
|
466
|
-
queryVariables['currentPage'] = request.
|
297
|
+
if (request.currentPage) {
|
298
|
+
queryVariables['currentPage'] = request.currentPage;
|
467
299
|
}
|
468
|
-
if (request.
|
469
|
-
queryVariables['sort'] =
|
300
|
+
if (request.appliedSortOption && request.appliedSortDirection) {
|
301
|
+
queryVariables['sort'] = magentoAppliedSortOptionTransform(request.appliedSortOption, request.appliedSortDirection);
|
470
302
|
}
|
471
303
|
return queryVariables;
|
472
304
|
}
|
473
305
|
transformCategory(categoryResponse, filterTypesResponse, productsResponse, mediaUrl) {
|
474
|
-
const aggregations =
|
306
|
+
const aggregations = addMetadataTypesToProductsResponse(filterTypesResponse, productsResponse);
|
475
307
|
const completeCategory = {
|
476
308
|
category: categoryResponse.categoryList[0],
|
477
309
|
products: productsResponse.products.items,
|
@@ -483,14 +315,14 @@ class DaffMagentoCategoryService {
|
|
483
315
|
return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);
|
484
316
|
}
|
485
317
|
}
|
486
|
-
/** @nocollapse */ /** @nocollapse */ DaffMagentoCategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoCategoryService, deps: [{ token: i1.Apollo }, { token: DaffMagentoCategoryResponseTransformService }, { token: DaffMagentoAppliedFiltersTransformService }, { token:
|
318
|
+
/** @nocollapse */ /** @nocollapse */ DaffMagentoCategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoCategoryService, deps: [{ token: i1$1.Apollo }, { token: DaffMagentoCategoryResponseTransformService }, { token: DaffMagentoAppliedFiltersTransformService }, { token: MAGENTO_CATEGORY_CONFIG_TOKEN }, { token: MAGENTO_PRODUCT_CONFIG_TOKEN }, { token: DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS }], target: i0.ɵɵFactoryTarget.Injectable });
|
487
319
|
/** @nocollapse */ /** @nocollapse */ DaffMagentoCategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoCategoryService, providedIn: 'root' });
|
488
320
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMagentoCategoryService, decorators: [{
|
489
321
|
type: Injectable,
|
490
322
|
args: [{
|
491
323
|
providedIn: 'root',
|
492
324
|
}]
|
493
|
-
}], ctorParameters: function () { return [{ type: i1.Apollo }, { type: DaffMagentoCategoryResponseTransformService }, { type: DaffMagentoAppliedFiltersTransformService }, { type:
|
325
|
+
}], ctorParameters: function () { return [{ type: i1$1.Apollo }, { type: DaffMagentoCategoryResponseTransformService }, { type: DaffMagentoAppliedFiltersTransformService }, { type: undefined, decorators: [{
|
494
326
|
type: Inject,
|
495
327
|
args: [MAGENTO_CATEGORY_CONFIG_TOKEN]
|
496
328
|
}] }, { type: undefined, decorators: [{
|
@@ -518,7 +350,6 @@ class DaffCategoryMagentoDriverModule {
|
|
518
350
|
DaffMagentoCategoryResponseTransformService,
|
519
351
|
DaffMagentoCategoryTransformerService,
|
520
352
|
DaffMagentoAppliedFiltersTransformService,
|
521
|
-
DaffMagentoAppliedSortOptionTransformService,
|
522
353
|
{
|
523
354
|
provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,
|
524
355
|
useValue: DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME,
|
@@ -563,5 +394,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
|
|
563
394
|
* Generated bundle index. Do not edit.
|
564
395
|
*/
|
565
396
|
|
566
|
-
export { DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME,
|
397
|
+
export { DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME, DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME, DaffCategoryMagentoDriverModule, DaffMagentoAppliedFiltersTransformService, DaffMagentoCategoryPageConfigTransformerService, DaffMagentoCategoryResponseTransformService, DaffMagentoCategoryService, DaffMagentoCategoryTransformerService, MAGENTO_CATEGORY_CONFIG_DEFAULT, MAGENTO_CATEGORY_CONFIG_TOKEN, MagentoGetCategoryQuery, MagentoGetProductsQuery, magentoCategoryTreeFragment };
|
567
398
|
//# sourceMappingURL=daffodil-category-driver-magento.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-category-driver-magento.mjs","sources":["../../../libs/category/driver/magento/src/transformers/truncate-url.ts","../../../libs/category/driver/magento/src/config/default.ts","../../../libs/category/driver/magento/src/interfaces/config.interface.ts","../../../libs/category/driver/magento/src/queries/get-filter-types.ts","../../../libs/category/driver/magento/src/queries/fragments/category-tree.ts","../../../libs/category/driver/magento/src/queries/get-category.ts","../../../libs/category/driver/magento/src/queries/get-products.ts","../../../libs/category/driver/magento/src/models/requests/filters.ts","../../../libs/category/driver/magento/src/models/requests/sort.ts","../../../libs/category/driver/magento/src/models/filter-type.enum.ts","../../../libs/category/driver/magento/src/transformers/applied-filter-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/applied-sort-option-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/type/equal.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/type/range.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/transform.ts","../../../libs/category/driver/magento/src/transformers/pure/sort-default-option-first.ts","../../../libs/category/driver/magento/src/transformers/category-page-config-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-response-transform.service.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/get-matched-attribute-type.ts","../../../libs/category/driver/magento/src/transformers/pure/aggregate/add-metadata-types-to-aggregates.ts","../../../libs/category/driver/magento/src/category.service.ts","../../../libs/category/driver/magento/src/category-driver.module.ts","../../../libs/category/driver/magento/src/daffodil-category-driver-magento.ts"],"sourcesContent":["import {\n daffUriTruncateQueryFragment,\n daffUriTruncateFileExtension,\n daffUriTruncateLeadingSlash,\n} from '@daffodil/core/routing';\n\n/**\n * Truncates leading slash, file extension, query params, and fragments.\n */\nexport const magentoCategoryTruncateUrl = (url: string): string =>\n daffUriTruncateLeadingSlash(daffUriTruncateFileExtension(daffUriTruncateQueryFragment(url)));\n","import { DaffCategoryMagentoDriverConfig } from '../interfaces/public_api';\nimport { magentoCategoryTruncateUrl } from '../transformers/truncate-url';\n\n/**\n * The default configuration for the {@link DaffCategoryMagentoDriverConfig}.\n */\nexport const MAGENTO_CATEGORY_CONFIG_DEFAULT: DaffCategoryMagentoDriverConfig = {\n truncateUrl: true,\n uriTruncationStrategy: magentoCategoryTruncateUrl,\n};\n","import { InjectionToken } from '@angular/core';\n\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from '../config/default';\n\n/**\n * The token used to provide @daffodil/category/driver/magento config data.\n * Mandatory for the Magento driver.\n */\nexport const MAGENTO_CATEGORY_CONFIG_TOKEN = new InjectionToken<DaffCategoryMagentoDriverConfig>('MAGENTO_CATEGORY_CONFIG_TOKEN', { factory: () => MAGENTO_CATEGORY_CONFIG_DEFAULT });\n\n/**\n * An interface for providing @daffodil/category/driver/magento with necessary config values.\n */\nexport interface DaffCategoryMagentoDriverConfig {\n /**\n * Whether or not to attempt to truncate the category URL\n * during the {@link DaffMagentoCategoryService#getByUrl} call.\n * True by default.\n */\n truncateUrl?: boolean;\n /**\n * An optional custom function to truncate the URL.\n * Defaults to truncate leading slash, file extension, query params, and fragments.\n */\n uriTruncationStrategy?: (string) => string;\n}\n","import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME = 'MagentoGetFilterFieldTypesForCategory';\n\nexport const MagentoGetCategoryFilterTypes = gql`\nquery ${DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME} {\n __type (name: \"ProductAttributeFilterInput\") {\n inputFields {\n name\n type {\n name\n }\n }\n }\n}\n`;\n","import { gql } from 'apollo-angular';\n\nexport const magentoCategoryTreeFragment = gql`\n fragment categoryTree on CategoryTree {\n uid\n url_path\n url_suffix\n canonical_url\n\t\tname\n\t\tlevel\n\t\tmeta_title\n\t\tmeta_description\n\t\tdescription\n\t\tbreadcrumbs {\n\t\t\tcategory_uid\n\t\t\tcategory_name\n\t\t\tcategory_level\n\t\t\tcategory_url_path\n\t\t}\n\t\tproducts {\n\t\t\titems {\n\t\t\t\tsku\n\t\t\t}\n\t\t}\n\t\tchildren_count\n }\n`;\n","import { gql } from 'apollo-angular';\n\nimport { magentoCategoryTreeFragment } from './fragments/public_api';\n\nexport const DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME = 'MagentoGetCategoryQuery';\n\nexport const MagentoGetCategoryQuery = gql`\nquery ${DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME}($filters: CategoryFilterInput){\n\tcategoryList(filters: $filters) {\n\t\t...categoryTree\n\t}\n}\n${magentoCategoryTreeFragment}\n`;\n","import { gql } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\n\nimport {\n daffBuildFragmentDefinition,\n daffBuildFragmentNameSpread,\n} from '@daffodil/core/graphql';\nimport { magentoProductFragment } from '@daffodil/product/driver/magento';\n\nexport const DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME = 'MagentoGetProducts';\n/**\n * This query only exists because products and their associated aggregations/filter cannot\n * be retrieved through a category call.\n */\nexport const MagentoGetProductsQuery = (extraProductFragments: DocumentNode[] = []) => gql`\nquery ${DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME}($filter: ProductAttributeFilterInput!, $search: String, $pageSize: Int, $currentPage: Int, $sort: ProductAttributeSortInput)\n{\n\tproducts(filter: $filter, search: $search, pageSize: $pageSize, currentPage: $currentPage, sort: $sort)\n\t{\n\t\ttotal_count\n\t\titems {\n\t\t\t...product\n ${daffBuildFragmentNameSpread(...extraProductFragments)}\n\t\t}\n\t\tpage_info {\n\t\t\tpage_size\n\t\t\tcurrent_page\n\t\t\ttotal_pages\n\t\t}\n\t\taggregations {\n\t\t\tlabel\n\t\t\tcount\n\t\t\tattribute_code\n options {\n count\n label\n value\n\t\t\t}\n\t\t}\n\t\tsort_fields {\n\t\t\tdefault\n\t\t\toptions {\n\t\t\t\tlabel\n\t\t\t\tvalue\n\t\t\t}\n\t\t}\n\t}\n}\n${magentoProductFragment}\n${daffBuildFragmentDefinition(...extraProductFragments)}\n`;\n","export enum MagentoCategoryFilterActionEnum {\n Equal = 'eq',\n To = 'to',\n From = 'from',\n In = 'in',\n Match = 'match'\n}\n\nexport interface MagentoCategoryFilters {\n [x: string]: MagentoFilterAction;\n}\n\nexport type MagentoFilterAction = {\n [key in MagentoCategoryFilterActionEnum]?: string | string[];\n};\n","export enum MagentoSortDirectionEnum {\n Ascending = 'ASC',\n Decending = 'DESC'\n}\n\nexport interface MagentoSortFieldAction {\n [x: string]: MagentoSortDirectionEnum;\n}\n","// maybe this shoould be in @daffodil/product/driver/magento?\nexport enum MagentoCategoryFilterType {\n Equal = 'FilterEqualTypeInput',\n Match = 'FilterEqualTypeInput',\n Range = 'FilterRangeTypeInput'\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryFilterRequest,\n DaffCategoryFilterType,\n} from '@daffodil/category';\n\nimport {\n MagentoCategoryFilters,\n MagentoCategoryFilterActionEnum,\n} from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedFiltersTransformService {\n\n transform(categoryId: DaffCategory['id'], daffFilters: DaffCategoryFilterRequest[]): MagentoCategoryFilters {\n const magentoFilters: MagentoCategoryFilters = {\n category_uid: {\n [MagentoCategoryFilterActionEnum.Equal]: categoryId,\n },\n };\n\n if(!daffFilters) {\n return magentoFilters;\n }\n\n daffFilters.forEach(filter => {\n // The FromTo filter needs special treatment, because Magento accepts the \"from\" and \"to\" filters\n // separately (it also outputs FromTo filter pairs together)\n if(filter.type === DaffCategoryFilterType.RangeNumeric) {\n magentoFilters[filter.name] = {\n ...magentoFilters[filter.name],\n ...this.getRangeFromValue(filter.value.min.toString()),\n ...this.getRangeToValue(filter.value.max.toString()),\n };\n } else {\n magentoFilters[filter.name] = {\n ...magentoFilters[filter.name],\n [this.getFilterAction(filter.type)]: this.getFilterValue(filter.type, filter.value),\n };\n }\n });\n\n return magentoFilters;\n }\n\n /**\n * Returns an In action for Equal type and a Match action for Match type.\n */\n private getFilterAction(type: DaffCategoryFilterType): MagentoCategoryFilterActionEnum {\n return type === DaffCategoryFilterType.Equal\n ? MagentoCategoryFilterActionEnum.In\n : MagentoCategoryFilterActionEnum.Match;\n }\n\n /**\n * Returns an array for Equal type and a string for Match type.\n */\n private getFilterValue(type: DaffCategoryFilterType, value: DaffCategoryFilterRequest['value']): string | string[] {\n return type === DaffCategoryFilterType.Equal ? value : value[0];\n }\n\n private getRangeFromValue(fromValue: string) {\n return fromValue !== '*' ? { [MagentoCategoryFilterActionEnum.From]: fromValue } : null;\n }\n\n private getRangeToValue(toValue: string) {\n return toValue !== '*' ? { [MagentoCategoryFilterActionEnum.To]: toValue } : null;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffSortDirectionEnum } from '@daffodil/core/state';\n\nimport {\n MagentoSortFieldAction,\n MagentoSortDirectionEnum,\n} from '../models/public_api';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedSortOptionTransformService {\n\n transform(appliedOption: string, appliedDirection: DaffSortDirectionEnum): MagentoSortFieldAction {\n return {\n [appliedOption]: this.transformDirection(appliedDirection),\n };\n }\n\n private transformDirection(direction: DaffSortDirectionEnum): MagentoSortDirectionEnum {\n if(direction === DaffSortDirectionEnum.Ascending) {\n return MagentoSortDirectionEnum.Ascending;\n } else if(direction === DaffSortDirectionEnum.Descending) {\n return MagentoSortDirectionEnum.Decending;\n }\n }\n}\n","import { DaffCategoryFilterEqualOption } from '@daffodil/category';\nimport {\n DaffCategoryFilterEqual,\n DaffCategoryFilterType,\n} from '@daffodil/category';\nimport { Dict } from '@daffodil/core';\n\nimport { MagentoAggregation } from '../../../../models/public_api';\n\nexport const transformAggregateEqual = (aggregate: MagentoAggregation): DaffCategoryFilterEqual => ({\n label: aggregate.label,\n type: DaffCategoryFilterType.Equal,\n name: aggregate.attribute_code,\n options: aggregate.options.reduce((acc, option) => {\n acc[option.value] = {\n applied: false,\n label: option.label,\n count: option.count,\n value: option.value,\n };\n return acc;\n }, <Dict<DaffCategoryFilterEqualOption>>{}),\n});\n","import {\n DaffCategoryFilterType,\n DaffCategoryFilterRangeNumeric,\n} from '@daffodil/category';\n\nimport { MagentoAggregation } from '../../../../models/public_api';\n\n/**\n * The char that Magento uses to separate individual elements of the buckets\n * they return for range elements\n */\nexport const magentoBucketSeparator = '-';\n\nexport const transformAggregateRange = (aggregate: MagentoAggregation): DaffCategoryFilterRangeNumeric => ({\n label: aggregate.label,\n type: DaffCategoryFilterType.RangeNumeric,\n name: aggregate.attribute_code,\n min: parseInt(aggregate.options[0].value.split('-')[0], 10),\n max: parseInt(aggregate.options[aggregate.options.length - 1].value.split(magentoBucketSeparator)[1], 10),\n options: {},\n});\n","import { DaffCategoryFilter } from '@daffodil/category';\n\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '../../../models/public_api';\nimport { transformAggregateEqual } from './type/equal';\nimport { transformAggregateRange } from './type/range';\n\nexport const transformAggregate = (aggregate: MagentoAggregation): DaffCategoryFilter => {\n switch (aggregate.type) {\n case MagentoCategoryFilterType.Range:\n return transformAggregateRange(aggregate);\n case MagentoCategoryFilterType.Equal:\n case MagentoCategoryFilterType.Match:\n default:\n return transformAggregateEqual(aggregate);\n }\n};\n","import { MagentoSortFields } from '../../models/sort-fields';\n\nexport function coerceDefaultSortOptionFirst(sort_fields: MagentoSortFields): MagentoSortFields {\n const index = sort_fields.options.findIndex(option => sort_fields.default === option.value);\n\n return {\n ...sort_fields,\n options: [\n sort_fields.options[index],\n ...sort_fields.options.slice(0, index),\n ...sort_fields.options.slice(index + 1),\n ],\n };\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategoryPageMetadata,\n daffCategoryFilterArrayToDict,\n} from '@daffodil/category';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\nimport { transformAggregate } from './pure/aggregate/transform';\nimport { coerceDefaultSortOptionFirst } from './pure/sort-default-option-first';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryPageConfigTransformerService {\n\n transform(categoryResponse: MagentoCompleteCategoryResponse): DaffCategoryPageMetadata {\n const aggregatesWithoutCategories = categoryResponse.aggregates.filter(aggregate => aggregate.attribute_code !== 'category_id');\n\n return {\n id: categoryResponse.category.uid,\n page_size: categoryResponse.page_info.page_size,\n current_page: categoryResponse.page_info.current_page,\n total_pages: categoryResponse.page_info.total_pages,\n total_products: categoryResponse.total_count,\n filters: daffCategoryFilterArrayToDict(aggregatesWithoutCategories.map(transformAggregate)),\n sort_options: {\n default: categoryResponse.sort_fields.default,\n options: coerceDefaultSortOptionFirst(categoryResponse.sort_fields).options,\n },\n product_ids: categoryResponse.products.map(product => product.sku),\n // TODO: implement?\n applied_sort_direction: null,\n applied_sort_option: null,\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryBreadcrumb,\n} from '@daffodil/category';\nimport { MagentoProduct } from '@daffodil/product/driver/magento';\n\nimport {\n MagentoBreadcrumb,\n MagentoCategory,\n} from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryTransformerService {\n\n transform(category: MagentoCategory, products: MagentoProduct[]): DaffCategory {\n return {\n id: category.uid,\n url: `/${category.url_path}${category.url_suffix}`,\n canonicalUrl: category.canonical_url,\n name: category.name,\n description: category.description,\n meta_title: category.meta_title,\n meta_description: category.meta_description,\n children_count: category.children_count,\n breadcrumbs: category.breadcrumbs\n ?.map(breadcrumb => this.transformBreadcrumb(breadcrumb, category))\n .sort((a, b) => a.level - b.level) || null,\n product_ids: products.map(product => product.sku),\n total_products: products.length,\n };\n }\n\n private transformBreadcrumb(breadcrumb: MagentoBreadcrumb, category: MagentoCategory): DaffCategoryBreadcrumb {\n return {\n id: breadcrumb.category_uid,\n name: breadcrumb.category_name,\n level: breadcrumb.category_level,\n url: `/${breadcrumb.category_url_path}${category.url_suffix}`,\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffGetCategoryResponse } from '@daffodil/category';\nimport { DaffMagentoProductsTransformer } from '@daffodil/product/driver/magento';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './category-page-config-transformer.service';\nimport { DaffMagentoCategoryTransformerService } from './category-transformer.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryResponseTransformService {\n\n constructor(\n private magentoCategoryTransformerService: DaffMagentoCategoryTransformerService,\n private magentoCategoryPageConfigurationTransformerService: DaffMagentoCategoryPageConfigTransformerService,\n private magentoProductsTransformService: DaffMagentoProductsTransformer,\n ) {}\n\n transform(completeCategory: MagentoCompleteCategoryResponse, mediaUrl: string): DaffGetCategoryResponse {\n return {\n ...{ magentoCompleteCategoryResponse: completeCategory },\n category: this.magentoCategoryTransformerService.transform(completeCategory.category, completeCategory.products),\n categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory),\n products: this.magentoProductsTransformService.transformManyMagentoProducts(completeCategory.products, mediaUrl),\n };\n }\n}\n","import { MagentoGetCategoryFilterTypesResponse } from '../../../models/get-filter-types-response.interface';\nimport {\n MagentoAggregation,\n MagentoCategoryFilterType,\n} from '../../../models/public_api';\n\nexport const getMatchedAttributeType = (aggregate: MagentoAggregation, attributes: MagentoGetCategoryFilterTypesResponse): MagentoCategoryFilterType =>\n attributes.__type.inputFields.filter(item => item.name === aggregate.attribute_code)[0].type.name;\n","import {\n MagentoGetCategoryFilterTypesResponse,\n MagentoGetProductsResponse,\n} from '../../../models/public_api';\nimport { getMatchedAttributeType } from './get-matched-attribute-type';\n\nexport function addMetadataTypesToAggregates(\n attributeResponse: MagentoGetCategoryFilterTypesResponse,\n aggregationResponse: MagentoGetProductsResponse,\n): MagentoGetProductsResponse {\n\n return {\n ...aggregationResponse,\n products: {\n ...aggregationResponse.products,\n aggregations: [\n ...aggregationResponse.products.aggregations.map((aggregate) => ({\n ...aggregate,\n type: getMatchedAttributeType(aggregate, attributeResponse),\n })),\n ],\n },\n };\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGetCategoryResponse,\n daffApplyRequestsToFilters,\n DaffCategoryUrlRequest,\n DaffCategoryRequestKind,\n DaffCategoryFilterRequest,\n DaffCategoryIdRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n DaffProductMagentoDriverConfig,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS,\n MAGENTO_PRODUCT_CONFIG_TOKEN,\n} from '@daffodil/product/driver/magento';\n\nimport {\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n DaffCategoryMagentoDriverConfig,\n} from './interfaces/public_api';\nimport { MagentoGetCategoryFilterTypesResponse } from './models/get-filter-types-response.interface';\nimport {\n MagentoGetACategoryResponse,\n MagentoGetProductsResponse,\n MagentoGetProductsByCategoriesRequest,\n} from './models/public_api';\nimport { MagentoGetCategoryFilterTypes } from './queries/get-filter-types';\nimport {\n MagentoGetProductsQuery,\n MagentoGetCategoryQuery,\n} from './queries/public_api';\nimport {\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoAppliedFiltersTransformService,\n DaffMagentoAppliedSortOptionTransformService,\n} from './transformers/public_api';\nimport { addMetadataTypesToAggregates } from './transformers/pure/aggregate/add-metadata-types-to-aggregates';\n\nconst applyFiltersOnResponse = (requests: DaffCategoryFilterRequest[], response: DaffGetCategoryResponse): DaffGetCategoryResponse => ({\n ...response,\n categoryPageMetadata: {\n ...response.categoryPageMetadata,\n filters: daffApplyRequestsToFilters(requests, response.categoryPageMetadata.filters),\n },\n});\n\n/**\n * A service for making magento apollo queries for categories. Should be provided via the {@link DaffCategoryDriver} token.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private apollo: Apollo,\n private magentoCategoryResponseTransformer: DaffMagentoCategoryResponseTransformService,\n private magentoAppliedFiltersTransformer: DaffMagentoAppliedFiltersTransformService,\n private magentoAppliedSortTransformer: DaffMagentoAppliedSortOptionTransformService,\n @Inject(MAGENTO_CATEGORY_CONFIG_TOKEN) private config: DaffCategoryMagentoDriverConfig,\n @Inject(MAGENTO_PRODUCT_CONFIG_TOKEN) private productConfig: DaffProductMagentoDriverConfig,\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS) private extraPreviewFragments: DocumentNode[],\n ) {}\n\n //todo the MagentoGetCategoryQuery needs to get its own product ids.\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { category_uid: { eq: categoryRequest.id }}},\n }),\n this.apollo.query<MagentoGetCategoryFilterTypesResponse>({\n query: MagentoGetCategoryFilterTypes,\n }),\n this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables(categoryRequest),\n }),\n ]).pipe(\n map(([\n category,\n filterTypes,\n products,\n ]) => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filter_requests\n ? applyFiltersOnResponse(categoryRequest.filter_requests, result)\n : result,\n ),\n );\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { url_path: {\n eq: this.config.truncateUrl\n ? this.config.uriTruncationStrategy(categoryRequest.url)\n : categoryRequest.url,\n }}},\n }),\n this.apollo.query<MagentoGetCategoryFilterTypesResponse>({\n query: MagentoGetCategoryFilterTypes,\n }),\n ]).pipe(\n switchMap(([\n category,\n filterTypes,\n ]) => this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables({\n ...categoryRequest,\n id: category.data.categoryList[0]?.uid,\n kind: DaffCategoryRequestKind.ID,\n }),\n }).pipe(\n map(products => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filter_requests\n ? applyFiltersOnResponse(categoryRequest.filter_requests, result)\n : result,\n ),\n )),\n );\n }\n\n private getProductsQueryVariables(request: DaffCategoryIdRequest): MagentoGetProductsByCategoriesRequest {\n const queryVariables = {\n filter: this.magentoAppliedFiltersTransformer.transform(request.id, request.filter_requests),\n };\n if(request.page_size) {\n queryVariables['pageSize'] = request.page_size;\n }\n if(request.current_page) {\n queryVariables['currentPage'] = request.current_page;\n }\n if(request.applied_sort_option && request.applied_sort_direction) {\n queryVariables['sort'] = this.magentoAppliedSortTransformer.transform(request.applied_sort_option, request.applied_sort_direction);\n }\n\n return queryVariables;\n }\n\n private transformCategory(\n categoryResponse: MagentoGetACategoryResponse,\n filterTypesResponse: MagentoGetCategoryFilterTypesResponse,\n productsResponse: MagentoGetProductsResponse,\n mediaUrl: string,\n ): DaffGetCategoryResponse {\n const aggregations = addMetadataTypesToAggregates(filterTypesResponse, productsResponse);\n const completeCategory = {\n category: categoryResponse.categoryList[0],\n products: productsResponse.products.items,\n aggregates: aggregations.products.aggregations,\n sort_fields: aggregations.products.sort_fields,\n total_count: productsResponse.products.total_count,\n page_info: productsResponse.products.page_info,\n };\n\n return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport { DaffCategoryDriver } from '@daffodil/category/driver';\nimport { DAFF_MAGENTO_CACHEABLE_OPERATIONS } from '@daffodil/driver/magento';\n\nimport { DaffMagentoCategoryService } from './category.service';\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from './config/default';\nimport {\n DaffCategoryMagentoDriverConfig,\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n} from './interfaces/public_api';\nimport { DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME } from './queries/get-category';\nimport { DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME } from './queries/get-products';\nimport { DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from './queries/public_api';\nimport { DaffMagentoAppliedFiltersTransformService } from './transformers/applied-filter-transformer.service';\nimport { DaffMagentoAppliedSortOptionTransformService } from './transformers/applied-sort-option-transformer.service';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './transformers/category-page-config-transformer.service';\nimport { DaffMagentoCategoryResponseTransformService } from './transformers/category-response-transform.service';\nimport { DaffMagentoCategoryTransformerService } from './transformers/category-transformer.service';\n\n/**\n * A module that provides the {@link DaffCategoryDriver} and {@link MAGENTO_CATEGORY_CONFIG_TOKEN} as the {@link DaffMagentoCategoryService} and\n * {@link MAGENTO_CATEGORY_CONFIG_DEFAULT} respectively\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryMagentoDriverModule {\n static forRoot(config: DaffCategoryMagentoDriverConfig = MAGENTO_CATEGORY_CONFIG_DEFAULT): ModuleWithProviders<DaffCategoryMagentoDriverModule> {\n return {\n ngModule: DaffCategoryMagentoDriverModule,\n providers: [\n {\n provide: DaffCategoryDriver,\n useExisting: DaffMagentoCategoryService,\n },\n DaffMagentoCategoryPageConfigTransformerService,\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoCategoryTransformerService,\n DaffMagentoAppliedFiltersTransformService,\n DaffMagentoAppliedSortOptionTransformService,\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME,\n multi: true,\n },\n {\n provide: MAGENTO_CATEGORY_CONFIG_TOKEN,\n useValue: {\n ...MAGENTO_CATEGORY_CONFIG_DEFAULT,\n ...config,\n },\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffMagentoCategoryTransformerService","i2.DaffMagentoCategoryPageConfigTransformerService","i2.DaffMagentoCategoryResponseTransformService","i2.DaffMagentoAppliedFiltersTransformService","i2.DaffMagentoAppliedSortOptionTransformService"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"daffodil-category-driver-magento.mjs","sources":["../../../libs/category/driver/magento/src/transformers/truncate-url.ts","../../../libs/category/driver/magento/src/config/default.ts","../../../libs/category/driver/magento/src/interfaces/config.interface.ts","../../../libs/category/driver/magento/src/queries/fragments/category-tree.ts","../../../libs/category/driver/magento/src/queries/get-category.ts","../../../libs/category/driver/magento/src/queries/get-products.ts","../../../libs/category/driver/magento/src/transformers/applied-filter-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-page-config-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-response-transform.service.ts","../../../libs/category/driver/magento/src/transformers/pure/add-metadata-types-to-aggregates.ts","../../../libs/category/driver/magento/src/category.service.ts","../../../libs/category/driver/magento/src/category-driver.module.ts","../../../libs/category/driver/magento/src/daffodil-category-driver-magento.ts"],"sourcesContent":["import {\n daffUriTruncateQueryFragment,\n daffUriTruncateFileExtension,\n daffUriTruncateLeadingSlash,\n} from '@daffodil/core/routing';\n\n/**\n * Truncates leading slash, file extension, query params, and fragments.\n */\nexport const magentoCategoryTruncateUrl = (url: string): string =>\n daffUriTruncateLeadingSlash(daffUriTruncateFileExtension(daffUriTruncateQueryFragment(url)));\n","import { DaffCategoryMagentoDriverConfig } from '../interfaces/public_api';\nimport { magentoCategoryTruncateUrl } from '../transformers/truncate-url';\n\n/**\n * The default configuration for the {@link DaffCategoryMagentoDriverConfig}.\n */\nexport const MAGENTO_CATEGORY_CONFIG_DEFAULT: DaffCategoryMagentoDriverConfig = {\n truncateUrl: true,\n uriTruncationStrategy: magentoCategoryTruncateUrl,\n};\n","import { InjectionToken } from '@angular/core';\n\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from '../config/default';\n\n/**\n * The token used to provide @daffodil/category/driver/magento config data.\n * Mandatory for the Magento driver.\n */\nexport const MAGENTO_CATEGORY_CONFIG_TOKEN = new InjectionToken<DaffCategoryMagentoDriverConfig>('MAGENTO_CATEGORY_CONFIG_TOKEN', { factory: () => MAGENTO_CATEGORY_CONFIG_DEFAULT });\n\n/**\n * An interface for providing @daffodil/category/driver/magento with necessary config values.\n */\nexport interface DaffCategoryMagentoDriverConfig {\n /**\n * Whether or not to attempt to truncate the category URL\n * during the {@link DaffMagentoCategoryService#getByUrl} call.\n * True by default.\n */\n truncateUrl?: boolean;\n /**\n * An optional custom function to truncate the URL.\n * Defaults to truncate leading slash, file extension, query params, and fragments.\n */\n uriTruncationStrategy?: (string) => string;\n}\n","import { gql } from 'apollo-angular';\n\nexport const magentoCategoryTreeFragment = gql`\n fragment categoryTree on CategoryTree {\n uid\n url_path\n url_suffix\n canonical_url\n\t\tname\n\t\tlevel\n\t\tmeta_title\n\t\tmeta_description\n\t\tdescription\n\t\tbreadcrumbs {\n\t\t\tcategory_uid\n\t\t\tcategory_name\n\t\t\tcategory_level\n\t\t\tcategory_url_path\n\t\t}\n\t\tproducts {\n\t\t\titems {\n\t\t\t\tsku\n\t\t\t}\n\t\t}\n\t\tchildren_count\n }\n`;\n","import { gql } from 'apollo-angular';\n\nimport { magentoCategoryTreeFragment } from './fragments/public_api';\n\nexport const DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME = 'MagentoGetCategoryQuery';\n\nexport const MagentoGetCategoryQuery = gql`\nquery ${DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME}($filters: CategoryFilterInput){\n\tcategoryList(filters: $filters) {\n\t\t...categoryTree\n\t}\n}\n${magentoCategoryTreeFragment}\n`;\n","import { gql } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\n\nimport {\n daffBuildFragmentDefinition,\n daffBuildFragmentNameSpread,\n} from '@daffodil/core/graphql';\nimport {\n magentoProductAggregationsFragment,\n magentoProductFragment,\n magentoProductPageInfoFragment,\n magentoProductSortFieldsFragment,\n} from '@daffodil/product/driver/magento';\n\nexport const DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME = 'MagentoGetProducts';\n// TODO(griest024): should this be using the product preview fragment instead?\n/**\n * This query only exists because products and their associated aggregations/filter cannot\n * be retrieved through a category call.\n */\nexport const MagentoGetProductsQuery = (extraProductFragments: DocumentNode[] = []) => gql`\nquery ${DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME}($filter: ProductAttributeFilterInput!, $search: String, $pageSize: Int, $currentPage: Int, $sort: ProductAttributeSortInput)\n{\n\tproducts(filter: $filter, search: $search, pageSize: $pageSize, currentPage: $currentPage, sort: $sort)\n\t{\n\t\ttotal_count\n\t\titems {\n\t\t\t...product\n ${daffBuildFragmentNameSpread(...extraProductFragments)}\n\t\t}\n\t\tpage_info {\n\t\t\t...magentoProductPageInfo\n\t\t}\n\t\taggregations {\n\t\t\t...magentoProductAggregations\n\t\t}\n\t\tsort_fields {\n\t\t\t...magentoProductSortFields\n\t\t}\n\t}\n}\n${magentoProductFragment}\n${magentoProductPageInfoFragment}\n${magentoProductSortFieldsFragment}\n${magentoProductAggregationsFragment}\n${daffBuildFragmentDefinition(...extraProductFragments)}\n`;\n","import { Injectable } from '@angular/core';\n\nimport { DaffCategory } from '@daffodil/category';\nimport { DaffProductFilterRequest } from '@daffodil/product';\nimport {\n MagentoProductFilterActionEnum,\n MagentoProductFilters,\n MagentoProductAppliedFiltersTransformService,\n} from '@daffodil/product/driver/magento';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedFiltersTransformService {\n constructor(\n private productFilterRequestsTransformer: MagentoProductAppliedFiltersTransformService,\n ) {}\n\n transform(categoryId: DaffCategory['id'], daffFilters: DaffProductFilterRequest[]): MagentoProductFilters {\n const magentoFilters: MagentoProductFilters = {\n category_uid: {\n [MagentoProductFilterActionEnum.Equal]: categoryId,\n },\n };\n\n if(!daffFilters) {\n return magentoFilters;\n }\n\n return {\n ...magentoFilters,\n ...this.productFilterRequestsTransformer.transform(daffFilters),\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport { magentoProductCollectionMetadataTransform } from '@daffodil/product/driver/magento';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryPageConfigTransformerService {\n\n transform(categoryResponse: MagentoCompleteCategoryResponse): DaffCategoryPageMetadata {\n const aggregatesWithoutCategories = categoryResponse.aggregates.filter(aggregate => aggregate.attribute_code !== 'category_id');\n\n return {\n ...magentoProductCollectionMetadataTransform(\n aggregatesWithoutCategories,\n categoryResponse.page_info,\n categoryResponse.sort_fields,\n categoryResponse.products,\n categoryResponse.total_count,\n ),\n id: categoryResponse.category.uid,\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryBreadcrumb,\n} from '@daffodil/category';\nimport { MagentoProduct } from '@daffodil/product/driver/magento';\n\nimport {\n MagentoBreadcrumb,\n MagentoCategory,\n} from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryTransformerService {\n\n transform(category: MagentoCategory, products: MagentoProduct[]): DaffCategory {\n return {\n id: category.uid,\n url: `/${category.url_path}${category.url_suffix}`,\n canonicalUrl: category.canonical_url,\n name: category.name,\n description: category.description,\n meta_title: category.meta_title,\n meta_description: category.meta_description,\n children_count: category.children_count,\n breadcrumbs: category.breadcrumbs\n ?.map(breadcrumb => this.transformBreadcrumb(breadcrumb, category))\n .sort((a, b) => a.level - b.level) || null,\n product_ids: products.map(product => product.sku),\n total_products: products.length,\n };\n }\n\n private transformBreadcrumb(breadcrumb: MagentoBreadcrumb, category: MagentoCategory): DaffCategoryBreadcrumb {\n return {\n id: breadcrumb.category_uid,\n name: breadcrumb.category_name,\n level: breadcrumb.category_level,\n url: `/${breadcrumb.category_url_path}${category.url_suffix}`,\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffGetCategoryResponse } from '@daffodil/category';\nimport { DaffMagentoProductsTransformer } from '@daffodil/product/driver/magento';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './category-page-config-transformer.service';\nimport { DaffMagentoCategoryTransformerService } from './category-transformer.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryResponseTransformService {\n\n constructor(\n private magentoCategoryTransformerService: DaffMagentoCategoryTransformerService,\n private magentoCategoryPageConfigurationTransformerService: DaffMagentoCategoryPageConfigTransformerService,\n private magentoProductsTransformService: DaffMagentoProductsTransformer,\n ) {}\n\n transform(completeCategory: MagentoCompleteCategoryResponse, mediaUrl: string): DaffGetCategoryResponse {\n return {\n ...{ magentoCompleteCategoryResponse: completeCategory },\n category: this.magentoCategoryTransformerService.transform(completeCategory.category, completeCategory.products),\n categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory),\n products: this.magentoProductsTransformService.transformManyMagentoProducts(completeCategory.products, mediaUrl),\n };\n }\n}\n","import {\n MagentoProductGetFilterTypesResponse,\n magentoProductGetMatchedAttributeType,\n} from '@daffodil/product/driver/magento';\n\nimport { MagentoGetProductsResponse } from '../../models/public_api';\n\nexport function addMetadataTypesToProductsResponse(\n attributeResponse: MagentoProductGetFilterTypesResponse,\n aggregationResponse: MagentoGetProductsResponse,\n): MagentoGetProductsResponse {\n return {\n ...aggregationResponse,\n products: {\n ...aggregationResponse.products,\n aggregations: [\n ...aggregationResponse.products.aggregations.map((aggregate) => ({\n ...aggregate,\n type: magentoProductGetMatchedAttributeType(aggregate, attributeResponse.__type.inputFields),\n })),\n ],\n },\n };\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryUrlRequest,\n DaffCategoryRequestKind,\n DaffCategoryIdRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n daffApplyRequestsToFilters,\n DaffProductFilterRequest,\n} from '@daffodil/product';\nimport {\n DaffProductMagentoDriverConfig,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS,\n MagentoProductGetFilterTypes,\n MagentoProductGetFilterTypesResponse,\n MAGENTO_PRODUCT_CONFIG_TOKEN,\n magentoAppliedSortOptionTransform,\n} from '@daffodil/product/driver/magento';\n\nimport {\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n DaffCategoryMagentoDriverConfig,\n} from './interfaces/public_api';\nimport {\n MagentoGetACategoryResponse,\n MagentoGetProductsResponse,\n MagentoGetProductsByCategoriesRequest,\n} from './models/public_api';\nimport {\n MagentoGetProductsQuery,\n MagentoGetCategoryQuery,\n} from './queries/public_api';\nimport {\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoAppliedFiltersTransformService,\n} from './transformers/public_api';\nimport { addMetadataTypesToProductsResponse } from './transformers/pure/add-metadata-types-to-aggregates';\n\nconst applyFiltersOnResponse = (requests: DaffProductFilterRequest[], response: DaffGetCategoryResponse): DaffGetCategoryResponse => ({\n ...response,\n categoryPageMetadata: {\n ...response.categoryPageMetadata,\n filters: daffApplyRequestsToFilters(requests, response.categoryPageMetadata.filters),\n },\n});\n\n/**\n * A service for making magento apollo queries for categories. Should be provided via the {@link DaffCategoryDriver} token.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private apollo: Apollo,\n private magentoCategoryResponseTransformer: DaffMagentoCategoryResponseTransformService,\n private magentoAppliedFiltersTransformer: DaffMagentoAppliedFiltersTransformService,\n @Inject(MAGENTO_CATEGORY_CONFIG_TOKEN) private config: DaffCategoryMagentoDriverConfig,\n @Inject(MAGENTO_PRODUCT_CONFIG_TOKEN) private productConfig: DaffProductMagentoDriverConfig,\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS) private extraPreviewFragments: DocumentNode[],\n ) {}\n\n //todo the MagentoGetCategoryQuery needs to get its own product ids.\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { category_uid: { eq: categoryRequest.id }}},\n }),\n this.apollo.query<MagentoProductGetFilterTypesResponse>({\n query: MagentoProductGetFilterTypes,\n }),\n this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables(categoryRequest),\n }),\n ]).pipe(\n map(([\n category,\n filterTypes,\n products,\n ]) => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filterRequests\n ? applyFiltersOnResponse(categoryRequest.filterRequests, result)\n : result,\n ),\n );\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoGetACategoryResponse>({\n query: MagentoGetCategoryQuery,\n variables: { filters: { url_path: {\n eq: this.config.truncateUrl\n ? this.config.uriTruncationStrategy(categoryRequest.url)\n : categoryRequest.url,\n }}},\n }),\n this.apollo.query<MagentoProductGetFilterTypesResponse>({\n query: MagentoProductGetFilterTypes,\n }),\n ]).pipe(\n switchMap(([\n category,\n filterTypes,\n ]) => this.apollo.query<MagentoGetProductsResponse>({\n query: MagentoGetProductsQuery(this.extraPreviewFragments),\n variables: this.getProductsQueryVariables({\n ...categoryRequest,\n id: category.data.categoryList[0]?.uid,\n kind: DaffCategoryRequestKind.ID,\n }),\n }).pipe(\n map(products => this.transformCategory(category.data, filterTypes.data, products.data, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filterRequests\n ? applyFiltersOnResponse(categoryRequest.filterRequests, result)\n : result,\n ),\n )),\n );\n }\n\n private getProductsQueryVariables(request: DaffCategoryIdRequest): MagentoGetProductsByCategoriesRequest {\n const queryVariables = {\n filter: this.magentoAppliedFiltersTransformer.transform(request.id, request.filterRequests),\n };\n if(request.pageSize) {\n queryVariables['pageSize'] = request.pageSize;\n }\n if(request.currentPage) {\n queryVariables['currentPage'] = request.currentPage;\n }\n if(request.appliedSortOption && request.appliedSortDirection) {\n queryVariables['sort'] = magentoAppliedSortOptionTransform(request.appliedSortOption, request.appliedSortDirection);\n }\n\n return queryVariables;\n }\n\n private transformCategory(\n categoryResponse: MagentoGetACategoryResponse,\n filterTypesResponse: MagentoProductGetFilterTypesResponse,\n productsResponse: MagentoGetProductsResponse,\n mediaUrl: string,\n ): DaffGetCategoryResponse {\n const aggregations = addMetadataTypesToProductsResponse(filterTypesResponse, productsResponse);\n const completeCategory = {\n category: categoryResponse.categoryList[0],\n products: productsResponse.products.items,\n aggregates: aggregations.products.aggregations,\n sort_fields: aggregations.products.sort_fields,\n total_count: productsResponse.products.total_count,\n page_info: productsResponse.products.page_info,\n };\n\n return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport { DaffCategoryDriver } from '@daffodil/category/driver';\nimport { DAFF_MAGENTO_CACHEABLE_OPERATIONS } from '@daffodil/driver/magento';\nimport { DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from '@daffodil/product/driver/magento';\n\nimport { DaffMagentoCategoryService } from './category.service';\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from './config/default';\nimport {\n DaffCategoryMagentoDriverConfig,\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n} from './interfaces/public_api';\nimport { DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME } from './queries/get-category';\nimport { DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME } from './queries/get-products';\nimport { DaffMagentoAppliedFiltersTransformService } from './transformers/applied-filter-transformer.service';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './transformers/category-page-config-transformer.service';\nimport { DaffMagentoCategoryResponseTransformService } from './transformers/category-response-transform.service';\nimport { DaffMagentoCategoryTransformerService } from './transformers/category-transformer.service';\n\n/**\n * A module that provides the {@link DaffCategoryDriver} and {@link MAGENTO_CATEGORY_CONFIG_TOKEN} as the {@link DaffMagentoCategoryService} and\n * {@link MAGENTO_CATEGORY_CONFIG_DEFAULT} respectively\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryMagentoDriverModule {\n static forRoot(config: DaffCategoryMagentoDriverConfig = MAGENTO_CATEGORY_CONFIG_DEFAULT): ModuleWithProviders<DaffCategoryMagentoDriverModule> {\n return {\n ngModule: DaffCategoryMagentoDriverModule,\n providers: [\n {\n provide: DaffCategoryDriver,\n useExisting: DaffMagentoCategoryService,\n },\n DaffMagentoCategoryPageConfigTransformerService,\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoCategoryTransformerService,\n DaffMagentoAppliedFiltersTransformService,\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_CATEGORY_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_PRODUCTS_QUERY_NAME,\n multi: true,\n },\n {\n provide: MAGENTO_CATEGORY_CONFIG_TOKEN,\n useValue: {\n ...MAGENTO_CATEGORY_CONFIG_DEFAULT,\n ...config,\n },\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffMagentoCategoryTransformerService","i2.DaffMagentoCategoryPageConfigTransformerService","i3","i1","i2.DaffMagentoCategoryResponseTransformService","i2.DaffMagentoAppliedFiltersTransformService"],"mappings":"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"}
|
@@ -84,7 +84,7 @@ class DaffCategoryPageUrlResolver {
|
|
84
84
|
this.store.dispatch(new DaffCategoryPageLoadByUrl({
|
85
85
|
url: this.urlNormalizer.normalize(state.url),
|
86
86
|
kind: DaffCategoryRequestKind.URL,
|
87
|
-
...(currentPage ? {
|
87
|
+
...(currentPage ? { currentPage: Number(currentPage) } : {}),
|
88
88
|
}));
|
89
89
|
return isPlatformBrowser(this.platformId) ? of(true) : this.dispatcher.pipe(ofType(DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction, DaffCategoryPageActionTypes.CategoryPageLoadFailureAction), mapTo(true), take(1));
|
90
90
|
}
|