diff --git a/build.gradle b/build.gradle index 85eff220..5ebe58d9 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ plugins { def compsPath = "screen/store/components" // source JS files in load order def compsJsFiles = [compsPath + "/utilities.js", compsPath + "/ApiServices.js", compsPath + "/ComponentsNav.js", - compsPath + "/ComponentsProduct.js", compsPath + "/ComponentsAccount.js", compsPath + "/ComponentsCheckout.js", compsPath + "/main.js"] + compsPath + "/ComponentsAccount.js", compsPath + "/ComponentsCheckout.js", compsPath + "/main.js"] task combineBaseJs(type: com.eriwen.gradle.js.tasks.CombineJsTask) { encoding = "UTF-8" diff --git a/data/PopRestStoreAaaSetupData.xml b/data/PopRestStoreAaaSetupData.xml index 46646640..0538c977 100644 --- a/data/PopRestStoreAaaSetupData.xml +++ b/data/PopRestStoreAaaSetupData.xml @@ -24,6 +24,9 @@ along with this software (see the LICENSE.md file). If not, see + + + @@ -50,7 +53,13 @@ along with this software (see the LICENSE.md file). If not, see + + + + + + diff --git a/data/PopRestStoreProductData.xml b/data/PopRestStoreProductData.xml index 06c76389..6b9a055d 100644 --- a/data/PopRestStoreProductData.xml +++ b/data/PopRestStoreProductData.xml @@ -26,9 +26,9 @@ along with this software (see the LICENSE.md file). If not, see - + - + @@ -71,7 +71,7 @@ along with this software (see the LICENSE.md file). If not, see assetTypeEnumId="AstTpInventory" assetClassEnumId="AsClsInventoryFin" copyCategoryMembers="false"/> - @@ -393,5 +393,5 @@ along with this software (see the LICENSE.md file). If not, see - + diff --git a/screen/store.xml b/screen/store.xml index 64fb908b..871dc4c9 100644 --- a/screen/store.xml +++ b/screen/store.xml @@ -28,6 +28,8 @@ along with this software (see the LICENSE.md file). If not, see + + @@ -71,18 +73,9 @@ var storeInfo = ${storeInfoJson}; - - - - - - + in-map="[categoryId:browseRootCategoryId]"/> - - - + @@ -90,8 +83,10 @@ var storeInfo = ${storeInfoJson}; - + + + diff --git a/screen/store/assets/bolster/landing/banner1.jpg b/screen/store/assets/bolster/landing/banner1.jpg new file mode 100644 index 00000000..39fc065d Binary files /dev/null and b/screen/store/assets/bolster/landing/banner1.jpg differ diff --git a/screen/store/assets/bolster/landing/banner2.jpg b/screen/store/assets/bolster/landing/banner2.jpg new file mode 100644 index 00000000..738abc80 Binary files /dev/null and b/screen/store/assets/bolster/landing/banner2.jpg differ diff --git a/screen/store/assets/bolster/landing/banner3.jpg b/screen/store/assets/bolster/landing/banner3.jpg new file mode 100644 index 00000000..37ce22b2 Binary files /dev/null and b/screen/store/assets/bolster/landing/banner3.jpg differ diff --git a/screen/store/assets/bolster/landing/banner4.jpg b/screen/store/assets/bolster/landing/banner4.jpg new file mode 100644 index 00000000..80479984 Binary files /dev/null and b/screen/store/assets/bolster/landing/banner4.jpg differ diff --git a/screen/store/assets/bolster/landing/banner5.jpg b/screen/store/assets/bolster/landing/banner5.jpg new file mode 100644 index 00000000..fc181f08 Binary files /dev/null and b/screen/store/assets/bolster/landing/banner5.jpg differ diff --git a/screen/store/category.xml b/screen/store/category.xml index 695a9e9d..3d9275c2 100755 --- a/screen/store/category.xml +++ b/screen/store/category.xml @@ -14,14 +14,12 @@ along with this software (see the LICENSE.md file). If not, see --> - - - - + + @@ -41,67 +39,42 @@ along with this software (see the LICENSE.md file). If not, see - - - - - - - - - - - - - - + + + - - - - - - - - - - + + + + + + - + + + + - + - - - - - - - - - - - - - - - - + + - - - +
+ productId != null + +
+
+ productId == null + + + + + +
\ No newline at end of file diff --git a/screen/store/components/ComponentsCheckout.js b/screen/store/components/ComponentsCheckout.js index 2c2d4884..d69a01da 100755 --- a/screen/store/components/ComponentsCheckout.js +++ b/screen/store/components/ComponentsCheckout.js @@ -55,7 +55,7 @@ storeComps.CheckOutPage = { name: "checkout-page", extends: storeComps.CheckoutNavbar, data: function() { return { - cvv: "", showCvvError: false, homePath: "", storePath: "", customerInfo: {}, productsInCart: {}, shippingAddress: {}, shippingAddressSelect: {}, paymentMethod: {}, shippingMethod: {}, + cvv: "", showCvvError: false, homePath: "", storePath: "", customerInfo: {}, cartItemsImage:{}, productsInCart: {}, shippingAddress: {}, shippingAddressSelect: {}, paymentMethod: {}, shippingMethod: {}, showCheckoutMessages:false, billingAddress: {}, billingAddressOption: "", listShippingAddress: [], listPaymentMethods: [], promoCode: "", promoError: "", postalAddressStateGeoSelected: null, countriesList: [], regionsList: [], shippingOption: "", addressOption: "", paymentOption: "", isSameAddress: "0", shippingItemPrice: 0, isUpdate: false, isSpinner: false, responseMessage: "", toNameErrorMessage: "", countryErrorMessage: "", addressErrorMessage: "", @@ -108,6 +108,12 @@ storeComps.CheckOutPage = { return a + value; }, 0); }, + getProductImage: function(productId) { + if (productId in this.cartItemsImage) + return storeConfig.productImageLocation + this.cartItemsImage[productId].productContentId; + else + return "/store/assets/default.png"; + }, getCartCountByItemEnum: function(itemEnum){ return this.productsInCart.orderItemList.reduce(function (acc, item) { return item.itemTypeEnumId == itemEnum ? acc + item.quantity : acc + 0; @@ -199,6 +205,7 @@ storeComps.CheckOutPage = { this.addressOption = data.postalAddress.contactMechId + ':' + data.postalAddress.telecomContactMechId; this.shippingAddressSelect = data.postalAddress; this.shippingAddressSelect.contactNumber = data.telecomNumber.contactNumber; + this.cartItemsImage = data.cartItemsImage; } else if (this.listShippingAddress.length) { // Preselect first address this.addressOption = this.listShippingAddress[0].postalContactMechId + ':' + this.listShippingAddress[0].telecomContactMechId; diff --git a/screen/store/components/ComponentsNav.js b/screen/store/components/ComponentsNav.js index 833f9d5f..17bdeacf 100755 --- a/screen/store/components/ComponentsNav.js +++ b/screen/store/components/ComponentsNav.js @@ -167,7 +167,9 @@ storeComps.ModalAddress = { } this.disabled = true; - CustomerService.addShippingAddress(this.shippingAddress, this.axiosConfig).then(function (data) { + const axiosConfig = { headers: { "Content-Type": "application/json;charset=UTF-8", "Access-Control-Allow-Origin": "*", + "api_key":this.$root.apiKey, "moquiSessionToken":this.$root.moquiSessionToken } } + CustomerService.addShippingAddress(this.shippingAddress, axiosConfig).then(function (data) { this.responseMessage = ""; this.completeCallback(data); }.bind(this)); diff --git a/screen/store/components/ComponentsProduct.js b/screen/store/components/ComponentsProduct.js deleted file mode 100644 index e4cc1b99..00000000 --- a/screen/store/components/ComponentsProduct.js +++ /dev/null @@ -1,29 +0,0 @@ -storeComps.ProductImage = { - name: "product-image", - data: function() { return { content: {} } }, - methods: { - getProductContent: function(){ - ProductService.getProductContent(this._props.productId, "PcntImageSmall").then(function (data) { - if(typeof(data.productContent) == 'undefined') { - ProductService.getProductContent(this._props.productId, "PcntImageMedium").then(function (data) { - if(typeof(data.productContent) == 'undefined') { - ProductService.getProductContent(this._props.productId, "PcntImageLarge").then(function (data) { - this.content = data.productContent; - }.bind(this)); - } else{ this.content = data.productContent; } - }.bind(this)); - } else { this.content = data.productContent; } - }.bind(this)); - }, - getProductImage: function() { - if(this.content == null || typeof(this.content.productContentId) == 'undefined') return null; - return storeConfig.productImageLocation + this.content.productContentId; - } - }, - props: ["productId"], - mounted: function() { - this.getProductContent(); - } -}; -storeComps.ProductImageTemplate = getPlaceholderRoute("template_client_productImage", "ProductImage", storeComps.ProductImage.props); - diff --git a/screen/store/components/template/CheckoutPage.html b/screen/store/components/template/CheckoutPage.html index 3b8843fb..4fde94ca 100644 --- a/screen/store/components/template/CheckoutPage.html +++ b/screen/store/components/template/CheckoutPage.html @@ -17,8 +17,7 @@
- +

diff --git a/screen/store/content.xml b/screen/store/content.xml index 9f195630..2c72ae9e 100755 --- a/screen/store/content.xml +++ b/screen/store/content.xml @@ -97,7 +97,7 @@ along with this software (see the LICENSE.md file). If not, see - + diff --git a/screen/store/d.xml b/screen/store/d.xml index 87757615..f4ccf558 100644 --- a/screen/store/d.xml +++ b/screen/store/d.xml @@ -100,7 +100,6 @@ along with this software (see the LICENSE.md file). If not, see - @@ -111,7 +110,6 @@ along with this software (see the LICENSE.md file). If not, see ]]> -

]]> - + diff --git a/screen/store/home.xml b/screen/store/home.xml index b841eab1..e6d49d63 100644 --- a/screen/store/home.xml +++ b/screen/store/home.xml @@ -52,7 +52,7 @@ along with this software (see the LICENSE.md file). If not, see + in-map="[productStoreId:productStoreId, productCategoryId:promoPscList[0].productCategoryId]"/> @@ -63,7 +63,7 @@ along with this software (see the LICENSE.md file). If not, see + in-map="[productStoreId:productStoreId, productCategoryId:featPscList[0].productCategoryId]"/> diff --git a/screen/store/product.xml b/screen/store/product.xml index 774f15e3..67241851 100755 --- a/screen/store/product.xml +++ b/screen/store/product.xml @@ -14,10 +14,6 @@ along with this software (see the LICENSE.md file). If not, see --> - - - - - categoryId != null - searchParameter != null - + @@ -62,6 +56,7 @@ along with this software (see the LICENSE.md file). If not, see + @@ -95,13 +90,14 @@ along with this software (see the LICENSE.md file). If not, see + + + - - - + diff --git a/screen/store/search.xml b/screen/store/search.xml index 19fc303d..2430c757 100644 --- a/screen/store/search.xml +++ b/screen/store/search.xml @@ -41,8 +41,6 @@ along with this software (see the LICENSE.md file). If not, see - - diff --git a/service/popstore/CartServices.xml b/service/popstore/CartServices.xml index e58db4b2..23a03735 100755 --- a/service/popstore/CartServices.xml +++ b/service/popstore/CartServices.xml @@ -46,6 +46,8 @@ General Order Placement and eCommerce Usage + + @@ -118,6 +120,7 @@ General Order Placement and eCommerce Usage list="orderItemList" order-by-list="['orderItemSeqId']"/> diff --git a/service/popstore/ProductServices.xml b/service/popstore/ProductServices.xml index e032b412..9469411c 100755 --- a/service/popstore/ProductServices.xml +++ b/service/popstore/ProductServices.xml @@ -46,6 +46,11 @@ along with this software (see the LICENSE.md file). If not, see + + + + + @@ -113,6 +118,48 @@ along with this software (see the LICENSE.md file). If not, see in-map="[productId:product.productId]"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -380,6 +427,27 @@ along with this software (see the LICENSE.md file). If not, see + + + + + + + + + + + + + + + + + @@ -439,7 +507,7 @@ along with this software (see the LICENSE.md file). If not, see - + @@ -467,7 +535,7 @@ along with this software (see the LICENSE.md file). If not, see if (!featureSet) { listFeatures.put(content, [[productFeatureId:productFeature.productFeatureId, - productFeatureTypeEnumId:productFeature.productFeatureTypeEnumId, + productFeatureTypeEnumId:productFeature.productFeatureTypeEnumId, idCode:productFeature.idCode, description:productFeature.description, abbrev:productFeature.abbrev, price:selectedPrices]]) } else { boolean isItemInList = false @@ -479,17 +547,17 @@ along with this software (see the LICENSE.md file). If not, see } if(!isItemInList) { featureSet.add([productFeatureId:productFeature.productFeatureId, - productFeatureTypeEnumId:productFeature.productFeatureTypeEnumId, + productFeatureTypeEnumId:productFeature.productFeatureTypeEnumId, idCode:productFeature.idCode, description:productFeature.description, abbrev:productFeature.abbrev, price:selectedPrices]) } } def optionSet = variantOptions.get(item) if (!optionSet) { - variantOptions.put(item, [[productId: variantProductAssoc.toProductId, description:productFeature.description, quantity: productQuantity.productQuantity, + variantOptions.put(item, [[productId: variantProductAssoc.toProductId, description:productFeature.description, quantity: productQuantity.productQuantity, productFeatureId:productFeature.productFeatureId, prices:selectedPrices, contentList:productContentList, isReadyForSales:isReadyForSales, salesDates:salesDates]]) } else { - optionSet.add([productId: variantProductAssoc.toProductId, description:productFeature.description, quantity: productQuantity.productQuantity, + optionSet.add([productId: variantProductAssoc.toProductId, description:productFeature.description, quantity: productQuantity.productQuantity, productFeatureId:productFeature.productFeatureId, prices:selectedPrices, contentList:productContentList, isReadyForSales:isReadyForSales, salesDates:salesDates]) } priceSet = null @@ -549,18 +617,34 @@ along with this software (see the LICENSE.md file). If not, see - + + + - + + + + + + + + + + + + + + + + + - - @@ -622,6 +706,7 @@ along with this software (see the LICENSE.md file). If not, see + @@ -646,7 +731,6 @@ along with this software (see the LICENSE.md file). If not, see - @@ -666,34 +750,14 @@ along with this software (see the LICENSE.md file). If not, see - + - - - - - - - - - - - - - - - - - - - - + + sequenceNum:pcmp.sequenceNum, imageInfo:imageMap.productContent]) diff --git a/template/store/category.html.ftl b/template/store/category.html.ftl index de71aa12..21bbeaad 100644 --- a/template/store/category.html.ftl +++ b/template/store/category.html.ftl @@ -1,3 +1,4 @@ +<#assign categoryId = category.productCategoryId />
@@ -9,27 +10,27 @@ @@ -38,20 +39,19 @@ ${category.categoryName}
- ${products.productListCount!0} results + ${productListCount!0} results
- <#if products??> - <#list products.productList as localProd> + <#if productList??> + <#list productList as localProd>
- +
- <#if localProd.mediumImageInfo?? || localProd.smallImageInfo??> - <#assign img = localProd.smallImageInfo! localProd.mediumImageInfo> + <#if localProd.imageInfo??> Product Image <#else>
-