From 7d4d4be53222afeecbe2d23e6a043f1514392e65 Mon Sep 17 00:00:00 2001 From: Joao Fidelis Date: Mon, 2 Mar 2020 14:53:28 -0300 Subject: [PATCH] use new installment criteria in products query --- CHANGELOG.md | 3 +++ messages/context.json | 12 +++++++++++- messages/en.json | 12 +++++++++++- messages/es.json | 12 +++++++++++- messages/pt.json | 12 +++++++++++- react/ProductSummaryList.js | 27 ++++++++++++++++++++++++++- 6 files changed, 73 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38133e9d..d9e53564 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added +- `ProductSummaryList`: `installmentCriteeria` prop to use in `products` query. +- `ProductSummaryList`: Messages and translations to be able to edit `skusFilter` and `installmentCriteria` in site editor. ## [2.51.7] - 2020-03-02 ### Changed diff --git a/messages/context.json b/messages/context.json index 06bae374..2426fa4c 100644 --- a/messages/context.json +++ b/messages/context.json @@ -54,5 +54,15 @@ "admin/editor.productSummaryList.orderType.nameDesc": "Name, descending", "admin/editor.productSummaryList.orderType.releaseDate": "Release Date", "admin/editor.productSummaryList.orderType.discount": "Discount", - "admin/editor.productSummaryList.orderType.relevance": "Relevance" + "admin/editor.productSummaryList.orderType.relevance": "Relevance", + "admin/editor.productSummaryList.skusFilter.title": "Title of skus filter property", + "admin/editor.productSummaryList.skusFilter.description": "Description of skus filter property", + "admin/editor.productSummaryList.skusFilter.none": "Value none of skus filter enum", + "admin/editor.productSummaryList.skusFilter.first-available": "Value first available of skus filter enum", + "admin/editor.productSummaryList.skusFilter.all-available": "Value all available of skus filter enum", + "admin/editor.productSummaryList.installmentCriteria.title": "Title of installment criteria property", + "admin/editor.productSummaryList.installmentCriteria.description": "Description of installment criteria property", + "admin/editor.productSummaryList.installmentCriteria.max-without-interest": "Maximum without interest enum name", + "admin/editor.productSummaryList.installmentCriteria.max-with-interest": "Maximum with interest enum name", + "admin/editor.productSummaryList.installmentCriteria.min": "Minimum enum name" } diff --git a/messages/en.json b/messages/en.json index 8b53fd3c..697196d6 100644 --- a/messages/en.json +++ b/messages/en.json @@ -54,5 +54,15 @@ "admin/editor.productSummaryList.orderType.nameDesc": "Name, descending", "admin/editor.productSummaryList.orderType.releaseDate": "Release Date", "admin/editor.productSummaryList.orderType.discount": "Discount", - "admin/editor.productSummaryList.orderType.relevance": "Relevance" + "admin/editor.productSummaryList.orderType.relevance": "Relevance", + "admin/editor.productSummaryList.skusFilter.title": "SKUs Filter", + "admin/editor.productSummaryList.skusFilter.description": "Setting the first available filter might make your query much faster!", + "admin/editor.productSummaryList.skusFilter.none": "None", + "admin/editor.productSummaryList.skusFilter.first-available": "First available", + "admin/editor.productSummaryList.skusFilter.all-available": "All available", + "admin/editor.productSummaryList.installmentCriteria.title": "Prices with Installment", + "admin/editor.productSummaryList.installmentCriteria.description": "Choose what type of prices to be showed in the products displayed (e.g.: maximum without interest or with interest, etc).", + "admin/editor.productSummaryList.installmentCriteria.max-without-interest": "Maximum without interest", + "admin/editor.productSummaryList.installmentCriteria.max-with-interest": "Maximum with interest", + "admin/editor.productSummaryList.installmentCriteria.min": "Minimum" } diff --git a/messages/es.json b/messages/es.json index dd952c84..077da8c6 100644 --- a/messages/es.json +++ b/messages/es.json @@ -54,5 +54,15 @@ "admin/editor.productSummaryList.orderType.nameDesc": "Nombre, descendiendo", "admin/editor.productSummaryList.orderType.releaseDate": "Fecha de lanzamiento", "admin/editor.productSummaryList.orderType.discount": "Descuento", - "admin/editor.productSummaryList.orderType.relevance": "Relevancia" + "admin/editor.productSummaryList.orderType.relevance": "Relevancia", + "admin/editor.productSummaryList.skusFilter.title": "Filtro de SKUs", + "admin/editor.productSummaryList.skusFilter.description": "¡Establecer el primer iten disponible agiliza su consulta!", + "admin/editor.productSummaryList.skusFilter.none": "Ninguno", + "admin/editor.productSummaryList.skusFilter.first-available": "Primero disponible", + "admin/editor.productSummaryList.skusFilter.all-available": "Todos disponibles", + "admin/editor.productSummaryList.installmentCriteria.title": "Criterio de precio a plazos", + "admin/editor.productSummaryList.installmentCriteria.description": "Elija qué tipo de precio se mostrará en los productos (por ejemplo, máximo sin interés, o con interés, etc.)", + "admin/editor.productSummaryList.installmentCriteria.max-without-interest": "Máximo sin interés", + "admin/editor.productSummaryList.installmentCriteria.max-with-interest": "Máximo con interés", + "admin/editor.productSummaryList.installmentCriteria.min": "Mínimo" } diff --git a/messages/pt.json b/messages/pt.json index 48fa8475..c49f3f02 100644 --- a/messages/pt.json +++ b/messages/pt.json @@ -54,5 +54,15 @@ "admin/editor.productSummaryList.orderType.nameDesc": "Nome, decrescente", "admin/editor.productSummaryList.orderType.releaseDate": "Data de lançamento", "admin/editor.productSummaryList.orderType.discount": "Desconto", - "admin/editor.productSummaryList.orderType.relevance": "Relevância" + "admin/editor.productSummaryList.orderType.relevance": "Relevância", + "admin/editor.productSummaryList.skusFilter.title": "Filtro de SKUs", + "admin/editor.productSummaryList.skusFilter.description": "Configurando o valor de primeiro disponível pode fazer sua query ser mais rápida!", + "admin/editor.productSummaryList.skusFilter.none": "Nenhum", + "admin/editor.productSummaryList.skusFilter.first-available": "Primeiro Disponível", + "admin/editor.productSummaryList.skusFilter.all-available": "Todos Disponíveis", + "admin/editor.productSummaryList.installmentCriteria.title": "Preços com Parcelas", + "admin/editor.productSummaryList.installmentCriteria.description": "Escolha qual tipo de preço a ser mostrado nos produtos (ex.: máximo sem juros, ou com juros, etc).", + "admin/editor.productSummaryList.installmentCriteria.max-without-interest": "Máximo sem juros", + "admin/editor.productSummaryList.installmentCriteria.max-with-interest": "Máximo com juros", + "admin/editor.productSummaryList.installmentCriteria.min": "Mínimo" } diff --git a/react/ProductSummaryList.js b/react/ProductSummaryList.js index 974be670..2acdfa30 100644 --- a/react/ProductSummaryList.js +++ b/react/ProductSummaryList.js @@ -60,9 +60,9 @@ const ProductSummaryList = ({ specificationFilters = [], maxItems = 10, skusFilter, + installmentCriteria, }) => { const { data, loading, error } = useQuery(productsQuery, { - name: 'productList', variables: { category, ...(collection != null @@ -76,6 +76,7 @@ const ProductSummaryList = ({ to: maxItems - 1, hideUnavailableItems, skusFilter, + installmentCriteria, }, }) @@ -182,6 +183,30 @@ EnhancedProductList.getSchema = () => ({ isLayout: false, default: 10, }, + skusFilter: { + title: 'admin/editor.productSummaryList.skusFilter.title', + description: 'admin/editor.productSummaryList.skusFilter.description', + type: 'string', + default: 'ALL_AVAILABLE', + enum: ['ALL_AVAILABLE', 'ALL', 'FIRST_AVAILABLE'], + enumNames: [ + 'admin/editor.productSummaryList.skusFilter.all-available', + 'admin/editor.productSummaryList.skusFilter.none', + 'admin/editor.productSummaryList.skusFilter.first-available' + ] + }, + installmentCriteria: { + title: 'admin/editor.productSummaryList.installmentCriteria.title', + description: 'admin/editor.productSummaryList.installmentCriteria.description', + type: 'string', + default: 'MAX_WITHOUT_INTEREST', + enum: ['MAX_WITHOUT_INTEREST', 'MAX_WITH_INTEREST', 'MIN'], + enumNames: [ + 'admin/editor.productSummaryList.installmentCriteria.max-without-interest', + 'admin/editor.productSummaryList.installmentCriteria.max-with-interest', + 'admin/editor.productSummaryList.installmentCriteria.min' + ] + }, }, })