From 669f243c6460fcdb52fc7b2097db101ffdf00a78 Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Thu, 19 Mar 2020 09:02:31 +0100 Subject: [PATCH 01/24] fix: create new cms component --- .../components/cms/cmsNameMapper.js | 10 ++-- .../components/cms/elements/SwImageColumn.vue | 51 +++++++++++++++++++ 2 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 packages/default-theme/components/cms/elements/SwImageColumn.vue diff --git a/packages/default-theme/components/cms/cmsNameMapper.js b/packages/default-theme/components/cms/cmsNameMapper.js index c24b6426e..545db2f81 100644 --- a/packages/default-theme/components/cms/cmsNameMapper.js +++ b/packages/default-theme/components/cms/cmsNameMapper.js @@ -8,10 +8,11 @@ const slotsMap = { 'product-listing': 'SwProductListingSlot', 'category-navigation': 'SwCategoryNavigationSlot', // waiting for navigation hydration, and domething wrong with accordion 'sidebar-filter': 'SwCategorySidebarFilter', - 'image-bubble-row': 'SwImageBubbleRow' + 'image-bubble-row': 'SwImageBubbleRow', + 'image-two-column': 'SwImageColumn' } -const excludedSlots = ['image-bubble-row'] +const excludedSlots = ['image-bubble-row', 'image-two-column'] export function getComponentBy(content) { if (!content) return @@ -28,16 +29,17 @@ export function getComponentBy(content) { export const setContentOrder = content => { const newContent = JSON.parse(JSON.stringify(content)) const slotsArr = [] + const slotsArrLength = newContent.slots.length newContent.slots.forEach(slot => { switch (slot.slot) { case 'left': slotsArr[0] = slot break case 'right': - slotsArr[2] = slot + slotsArr[slotsArrLength - 1] = slot break default: - slotsArr[1] = slot + slotsArr[slotsArrLength - 2] = slot } }) newContent.slots = slotsArr diff --git a/packages/default-theme/components/cms/elements/SwImageColumn.vue b/packages/default-theme/components/cms/elements/SwImageColumn.vue new file mode 100644 index 000000000..3567dc375 --- /dev/null +++ b/packages/default-theme/components/cms/elements/SwImageColumn.vue @@ -0,0 +1,51 @@ + + + + + From 53958b3daa6e2da9018758b03431352ede97f47f Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Thu, 19 Mar 2020 14:55:57 +0100 Subject: [PATCH 02/24] fix: remove ::v-deep directive --- .../components/cms/elements/SwImage.vue | 17 ++++++++++++++++- .../cms/elements/SwImageBubbleRow.vue | 12 +----------- .../components/cms/elements/SwImageColumn.vue | 10 +++------- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/packages/default-theme/components/cms/elements/SwImage.vue b/packages/default-theme/components/cms/elements/SwImage.vue index 83caa6150..1ad5a9b2e 100644 --- a/packages/default-theme/components/cms/elements/SwImage.vue +++ b/packages/default-theme/components/cms/elements/SwImage.vue @@ -1,6 +1,6 @@ @@ -17,6 +17,18 @@ export default { content: { type: Object, default: () => ({}) + }, + rounded: { + type: Boolean, + default: false + }, + width: { + type: [String, Number], + default: undefined + }, + height: { + type: [String, Number], + default: undefined } }, computed: { @@ -44,5 +56,8 @@ export default { position: relative; display: flex; justify-content: center; + &--rounded { + border-radius: 100%; + } } \ No newline at end of file diff --git a/packages/default-theme/components/cms/elements/SwImageBubbleRow.vue b/packages/default-theme/components/cms/elements/SwImageBubbleRow.vue index df48cbee3..36984c4f8 100644 --- a/packages/default-theme/components/cms/elements/SwImageBubbleRow.vue +++ b/packages/default-theme/components/cms/elements/SwImageBubbleRow.vue @@ -1,6 +1,6 @@ @@ -40,14 +40,4 @@ export default { justify-content: space-around; } } -::v-deep .sf-image { - border-radius: 50%; - margin: var(--spacer-small); - & img { - height: 300px; - width: 300px; - object-fit: cover; - } - -} diff --git a/packages/default-theme/components/cms/elements/SwImageColumn.vue b/packages/default-theme/components/cms/elements/SwImageColumn.vue index 3567dc375..895722594 100644 --- a/packages/default-theme/components/cms/elements/SwImageColumn.vue +++ b/packages/default-theme/components/cms/elements/SwImageColumn.vue @@ -1,6 +1,6 @@ @@ -40,12 +40,8 @@ export default { justify-content: space-around; } } -::v-deep .sf-image { - margin: var(--spacer-medium); - flex: 1; - & img { - object-fit: cover; - } +.sw-image--boxed { + margin: var(--spacer-medium); } From 72810a3465e12c0150c9afc6d72a06caece5e375 Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Mon, 23 Mar 2020 16:48:02 +0100 Subject: [PATCH 03/24] fix: fix different cms looks --- api/composables.api.md | 14 ++++++ packages/composables/src/cms/useImageProps.ts | 20 ++++++++ packages/composables/src/index.ts | 1 + .../components/cms/cmsNameMapper.js | 21 +++++++- .../components/cms/elements/SwImage.vue | 43 ++++------------- .../cms/elements/SwImageBubbleRow.vue | 6 +-- .../components/cms/elements/SwImageColumn.vue | 8 ++-- .../cms/elements/SwImageRounded.vue | 48 +++++++++++++++++++ 8 files changed, 119 insertions(+), 42 deletions(-) create mode 100644 packages/composables/src/cms/useImageProps.ts create mode 100644 packages/default-theme/components/cms/elements/SwImageRounded.vue diff --git a/api/composables.api.md b/api/composables.api.md index 1b2ca4fa4..7f564bfe3 100644 --- a/api/composables.api.md +++ b/api/composables.api.md @@ -5,6 +5,7 @@ ```ts import { AddressType } from '@shopware-pwa/commons/interfaces/models/checkout/customer/CustomerAddress'; +import { CmsSlot } from '@shopware-pwa/commons/interfaces/models/content/cms/CmsPage'; import { Customer } from '@shopware-pwa/commons/interfaces/models/checkout/customer/Customer'; import { CustomerAddress } from '@shopware-pwa/commons/interfaces/models/checkout/customer/CustomerAddress'; import { CustomerAddressParam } from '@shopware-pwa/shopware-6-client'; @@ -71,6 +72,19 @@ export interface UseCountries { // @alpha (undocumented) export const useCountries: () => UseCountries; +// @public (undocumented) +export interface UseImageProps { + // (undocumented) + getAlt: Ref>; + // (undocumented) + getImgUrl: Ref>; + // (undocumented) + getTitle: Ref>; +} + +// @public (undocumented) +export const useImageProps: (content: CmsSlot) => UseImageProps; + // @alpha (undocumented) export const useNavigation: () => any; diff --git a/packages/composables/src/cms/useImageProps.ts b/packages/composables/src/cms/useImageProps.ts new file mode 100644 index 000000000..8d66bf8c5 --- /dev/null +++ b/packages/composables/src/cms/useImageProps.ts @@ -0,0 +1,20 @@ +import { computed, Ref } from "@vue/composition-api"; +import { CmsSlot } from "@shopware-pwa/commons/interfaces/models/content/cms/CmsPage"; + +export interface UseImageProps { + getImgUrl: Ref>; + getAlt: Ref>; + getTitle: Ref>; +} + +export const useImageProps = (content: CmsSlot): UseImageProps => { + const getImgUrl = computed(() => content?.data?.media?.url); + const getAlt = computed(() => content?.data?.media?.alt); + const getTitle = computed(() => content?.data?.media?.title); + + return { + getImgUrl, + getAlt, + getTitle + }; +}; diff --git a/packages/composables/src/index.ts b/packages/composables/src/index.ts index b2c5b06f1..27a619e7c 100644 --- a/packages/composables/src/index.ts +++ b/packages/composables/src/index.ts @@ -11,4 +11,5 @@ export * from "./hooks/useProductListing"; export * from "./hooks/useProductSearch"; export * from "./theme/cart/useCartSidebar"; export * from "./theme/user/useUserLoginModal"; +export * from "./cms/useImageProps"; export * from "./store"; diff --git a/packages/default-theme/components/cms/cmsNameMapper.js b/packages/default-theme/components/cms/cmsNameMapper.js index 545db2f81..1a8c5e4b3 100644 --- a/packages/default-theme/components/cms/cmsNameMapper.js +++ b/packages/default-theme/components/cms/cmsNameMapper.js @@ -9,10 +9,21 @@ const slotsMap = { 'category-navigation': 'SwCategoryNavigationSlot', // waiting for navigation hydration, and domething wrong with accordion 'sidebar-filter': 'SwCategorySidebarFilter', 'image-bubble-row': 'SwImageBubbleRow', - 'image-two-column': 'SwImageColumn' + 'image-two-column': 'SwImageColumn', + 'image-three-column': 'SwImageColumn', + 'image-four-column': 'SwImageColumn', + 'image-highlight-row': 'SwImageColumn', + 'image-three-cover': 'SwImageColumn' } -const excludedSlots = ['image-bubble-row', 'image-two-column'] +const excludedSlots = [ + 'image-bubble-row', + 'image-two-column', + 'image-three-column', + 'image-four-column', + 'image-highlight-row', + 'image-three-cover' +] export function getComponentBy(content) { if (!content) return @@ -38,6 +49,12 @@ export const setContentOrder = content => { case 'right': slotsArr[slotsArrLength - 1] = slot break + case 'center-right': + slotsArr[slotsArrLength - 2] = slot + break + case 'center-left': + slotsArr[slotsArrLength - 3] = slot + break default: slotsArr[slotsArrLength - 2] = slot } diff --git a/packages/default-theme/components/cms/elements/SwImage.vue b/packages/default-theme/components/cms/elements/SwImage.vue index 1ad5a9b2e..68ed3b8f2 100644 --- a/packages/default-theme/components/cms/elements/SwImage.vue +++ b/packages/default-theme/components/cms/elements/SwImage.vue @@ -1,6 +1,6 @@ @@ -9,6 +9,8 @@ SfImage } from "@storefront-ui/vue"; +import {useImageProps} from '@shopware-pwa/composables' + export default { components: { SfImage @@ -18,46 +20,19 @@ export default { type: Object, default: () => ({}) }, - rounded: { - type: Boolean, - default: false - }, - width: { - type: [String, Number], - default: undefined - }, - height: { - type: [String, Number], - default: undefined - } }, - computed: { - getMedia() { - return this.content && this.content.data && this.content.data.media - }, - imgUrl() { - return this.getMedia && this.getMedia.url - }, - alt() { - return this.getMedia && this.getMedia.alt - }, - title() { - return this.getMedia && this.getMedia.title - }, - lazyLoad() { - return true; - } - } + setup(props) { + const { getImgUrl, getAlt, getTitle} = useImageProps(props.content) + + return {getImgUrl, getAlt, getTitle} + }, }; - \ No newline at end of file diff --git a/packages/default-theme/components/cms/elements/SwImageBubbleRow.vue b/packages/default-theme/components/cms/elements/SwImageBubbleRow.vue index 36984c4f8..266e726bb 100644 --- a/packages/default-theme/components/cms/elements/SwImageBubbleRow.vue +++ b/packages/default-theme/components/cms/elements/SwImageBubbleRow.vue @@ -1,18 +1,18 @@ @@ -38,6 +39,7 @@ export default { @include for-desktop { flex-direction: row; justify-content: space-around; + align-items: center; } } diff --git a/packages/default-theme/components/cms/elements/SwImageRounded.vue b/packages/default-theme/components/cms/elements/SwImageRounded.vue new file mode 100644 index 000000000..8a917fa18 --- /dev/null +++ b/packages/default-theme/components/cms/elements/SwImageRounded.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file From 00d63a40e75310b1908d95fb736b5e8a377b0b1c Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Wed, 25 Mar 2020 08:07:20 +0100 Subject: [PATCH 04/24] fix: tests added --- .../__tests__/useImageProps.spec.ts | 48 +++++++++++++++++++ packages/composables/src/cms/useImageProps.ts | 15 ++++-- .../components/cms/elements/SwImage.vue | 8 ++-- 3 files changed, 64 insertions(+), 7 deletions(-) create mode 100644 packages/composables/__tests__/useImageProps.spec.ts diff --git a/packages/composables/__tests__/useImageProps.spec.ts b/packages/composables/__tests__/useImageProps.spec.ts new file mode 100644 index 000000000..549c91960 --- /dev/null +++ b/packages/composables/__tests__/useImageProps.spec.ts @@ -0,0 +1,48 @@ +import Vue from "vue"; +import VueCompositionApi from "@vue/composition-api"; +Vue.use(VueCompositionApi); + +import { useImageProps } from "@shopware-pwa/composables"; + +describe("Composables - useImageProps", () => { + const content = { + data: { + media: { + title: "title", + alt: "alternative text", + url: "image-url" + } + } + }; + + const emptyContent = {}; + + it("should return computed url string", () => { + const { getImgUrl } = useImageProps(content as any); + expect(getImgUrl.value).toBe("image-url"); + }); + + it("should return computed title string", () => { + const { getTitle } = useImageProps(content as any); + expect(getTitle.value).toBe("title"); + }); + + it("should return computed alt string", () => { + const { getAlt } = useImageProps(content as any); + expect(getAlt.value).toBe("alternative text"); + }); + it("should return empty string", () => { + const { getImgUrl } = useImageProps(emptyContent as any); + expect(getImgUrl.value).toBe(""); + }); + + it("should return empty string", () => { + const { getTitle } = useImageProps(emptyContent as any); + expect(getTitle.value).toBe(""); + }); + + it("should return empty string", () => { + const { getAlt } = useImageProps(emptyContent as any); + expect(getAlt.value).toBe(""); + }); +}); diff --git a/packages/composables/src/cms/useImageProps.ts b/packages/composables/src/cms/useImageProps.ts index 8d66bf8c5..0d917bdbc 100644 --- a/packages/composables/src/cms/useImageProps.ts +++ b/packages/composables/src/cms/useImageProps.ts @@ -8,9 +8,18 @@ export interface UseImageProps { } export const useImageProps = (content: CmsSlot): UseImageProps => { - const getImgUrl = computed(() => content?.data?.media?.url); - const getAlt = computed(() => content?.data?.media?.alt); - const getTitle = computed(() => content?.data?.media?.title); + const getImgUrl = computed(() => { + const imgUrl = content.data?.media?.url; + return imgUrl || ""; + }); + const getAlt = computed(() => { + const alt = content.data?.media?.alt; + return alt || ""; + }); + const getTitle = computed(() => { + const title = content.data?.media?.title; + return title || ""; + }); return { getImgUrl, diff --git a/packages/default-theme/components/cms/elements/SwImage.vue b/packages/default-theme/components/cms/elements/SwImage.vue index 68ed3b8f2..41120107f 100644 --- a/packages/default-theme/components/cms/elements/SwImage.vue +++ b/packages/default-theme/components/cms/elements/SwImage.vue @@ -5,15 +5,15 @@ diff --git a/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue b/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue new file mode 100644 index 000000000..aa9b39e8b --- /dev/null +++ b/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/packages/default-theme/components/cms/cmsNameMapper.js b/packages/default-theme/components/cms/cmsNameMapper.js index 1a8c5e4b3..8fcc6c68e 100644 --- a/packages/default-theme/components/cms/cmsNameMapper.js +++ b/packages/default-theme/components/cms/cmsNameMapper.js @@ -7,58 +7,34 @@ const slotsMap = { 'youtube-video': 'SwYoutubeVideo', 'product-listing': 'SwProductListingSlot', 'category-navigation': 'SwCategoryNavigationSlot', // waiting for navigation hydration, and domething wrong with accordion - 'sidebar-filter': 'SwCategorySidebarFilter', - 'image-bubble-row': 'SwImageBubbleRow', - 'image-two-column': 'SwImageColumn', - 'image-three-column': 'SwImageColumn', - 'image-four-column': 'SwImageColumn', - 'image-highlight-row': 'SwImageColumn', - 'image-three-cover': 'SwImageColumn' + 'sidebar-filter': 'SwCategorySidebarFilter' } -const excludedSlots = [ - 'image-bubble-row', - 'image-two-column', - 'image-three-column', - 'image-four-column', - 'image-highlight-row', - 'image-three-cover' -] +const blocksMap = { + 'image-bubble-row': 'SwImageBubbleRow', + 'image-two-column': 'SwImageTwoColumn' +} export function getComponentBy(content) { if (!content) return - const isSlot = - !!content.slot || !!excludedSlots.find(slot => slot === content.type) - let componentName = isSlot ? slotsMap[content.type] : 'SwSlots' + const isSlot = !!content.blockId + const isBlock = !!content.sectionId + + let componentName + if (isBlock) { + componentName = blocksMap[content.type] + } + if (!componentName) { + componentName = isSlot ? slotsMap[content.type] : 'SwSlots' + } if (!componentName) componentName = 'SwNoComponent' + + const isBlockFolder = + isBlock && componentName !== 'SwSlots' && componentName !== 'SwNoComponent' return () => import( - `@shopware-pwa/default-theme/components/cms/elements/${componentName}` + `@shopware-pwa/default-theme/components/cms/${ + isBlockFolder ? 'blocks' : 'elements' + }/${componentName}` ) } - -export const setContentOrder = content => { - const newContent = JSON.parse(JSON.stringify(content)) - const slotsArr = [] - const slotsArrLength = newContent.slots.length - newContent.slots.forEach(slot => { - switch (slot.slot) { - case 'left': - slotsArr[0] = slot - break - case 'right': - slotsArr[slotsArrLength - 1] = slot - break - case 'center-right': - slotsArr[slotsArrLength - 2] = slot - break - case 'center-left': - slotsArr[slotsArrLength - 3] = slot - break - default: - slotsArr[slotsArrLength - 2] = slot - } - }) - newContent.slots = slotsArr - return newContent -} diff --git a/packages/default-theme/components/cms/elements/SwImageColumn.vue b/packages/default-theme/components/cms/elements/SwImageColumn.vue deleted file mode 100644 index ccf29c35f..000000000 --- a/packages/default-theme/components/cms/elements/SwImageColumn.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - - - From 0024b714fe565cf4390f2a8d801b2dff6ec7cf74 Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Mon, 30 Mar 2020 09:52:25 +0200 Subject: [PATCH 06/24] fix: add SwImageThreeColumn component --- api/composables.api.md | 12 +++++ .../cms/blocks/SwImageThreeColumn.vue | 52 +++++++++++++++++++ .../cms/blocks/SwImageTwoColumn.vue | 2 +- .../components/cms/cmsNameMapper.js | 4 +- 4 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 packages/default-theme/components/cms/blocks/SwImageThreeColumn.vue diff --git a/api/composables.api.md b/api/composables.api.md index 9c6b201b2..a60cea9c7 100644 --- a/api/composables.api.md +++ b/api/composables.api.md @@ -20,6 +20,16 @@ import { Ref } from '@vue/composition-api'; // @alpha (undocumented) export function getStore(): any; +// @public (undocumented) +export enum PositionType { + // (undocumented) + CENTER = "center", + // (undocumented) + LEFT = "left", + // (undocumented) + RIGHT = "right" +} + // @alpha (undocumented) export type Search = (path: string, associations?: any) => any; @@ -148,6 +158,8 @@ export const useSalutations: () => UseSalutations; // @public (undocumented) export interface UseSlotsPositions { + // (undocumented) + centerSlot: Ref>; // (undocumented) leftSlot: Ref>; // (undocumented) diff --git a/packages/default-theme/components/cms/blocks/SwImageThreeColumn.vue b/packages/default-theme/components/cms/blocks/SwImageThreeColumn.vue new file mode 100644 index 000000000..6065aa694 --- /dev/null +++ b/packages/default-theme/components/cms/blocks/SwImageThreeColumn.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue b/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue index aa9b39e8b..df4d6ab61 100644 --- a/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue +++ b/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue @@ -38,7 +38,7 @@ export default { &__image { margin: var(--spacer-medium); - width: 50%; + flex: 1; } @include for-desktop { diff --git a/packages/default-theme/components/cms/cmsNameMapper.js b/packages/default-theme/components/cms/cmsNameMapper.js index 8fcc6c68e..0ac92bc45 100644 --- a/packages/default-theme/components/cms/cmsNameMapper.js +++ b/packages/default-theme/components/cms/cmsNameMapper.js @@ -12,7 +12,8 @@ const slotsMap = { const blocksMap = { 'image-bubble-row': 'SwImageBubbleRow', - 'image-two-column': 'SwImageTwoColumn' + 'image-two-column': 'SwImageTwoColumn', + 'image-three-column': 'SwImageThreeColumn' } export function getComponentBy(content) { @@ -21,6 +22,7 @@ export function getComponentBy(content) { const isBlock = !!content.sectionId let componentName + // console.log('content', content.type ,content); if (isBlock) { componentName = blocksMap[content.type] } From ab758d7f3bdeec41550a605c255e405097c6164a Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Mon, 30 Mar 2020 10:18:17 +0200 Subject: [PATCH 07/24] fix: add SwImageThreeColumn component --- .../composables/src/cms/useSlotsPositions.ts | 16 +++++- .../cms/blocks/SwImageFourColumn.vue | 52 +++++++++++++++++++ .../cms/blocks/SwImageThreeCover.vue | 51 ++++++++++++++++++ .../components/cms/cmsNameMapper.js | 5 +- 4 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 packages/default-theme/components/cms/blocks/SwImageFourColumn.vue create mode 100644 packages/default-theme/components/cms/blocks/SwImageThreeCover.vue diff --git a/packages/composables/src/cms/useSlotsPositions.ts b/packages/composables/src/cms/useSlotsPositions.ts index 11d20f8b1..ec392fed6 100644 --- a/packages/composables/src/cms/useSlotsPositions.ts +++ b/packages/composables/src/cms/useSlotsPositions.ts @@ -5,12 +5,16 @@ export interface UseSlotsPositions { leftSlot: Ref>; rightSlot: Ref>; centerSlot: Ref>; + centerLeftSlot: Ref>; + centerRightSlot: Ref>; } export enum PositionType { LEFT = "left", RIGHT = "right", - CENTER = "center" + CENTER = "center", + CENTER_LEFT = "center-left", + CENTER_RIGHT = "center-right" } export const useSlotsPositions = (slots: CmsSlot[]): UseSlotsPositions => { @@ -26,10 +30,18 @@ export const useSlotsPositions = (slots: CmsSlot[]): UseSlotsPositions => { const centerSlot = computed((): CmsSlot | undefined => findSlot(PositionType.CENTER) ); + const centerLeftSlot = computed((): CmsSlot | undefined => + findSlot(PositionType.CENTER_LEFT) + ); + const centerRightSlot = computed((): CmsSlot | undefined => + findSlot(PositionType.CENTER_RIGHT) + ); return { leftSlot, rightSlot, - centerSlot + centerSlot, + centerLeftSlot, + centerRightSlot }; }; diff --git a/packages/default-theme/components/cms/blocks/SwImageFourColumn.vue b/packages/default-theme/components/cms/blocks/SwImageFourColumn.vue new file mode 100644 index 000000000..6065aa694 --- /dev/null +++ b/packages/default-theme/components/cms/blocks/SwImageFourColumn.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/packages/default-theme/components/cms/blocks/SwImageThreeCover.vue b/packages/default-theme/components/cms/blocks/SwImageThreeCover.vue new file mode 100644 index 000000000..3eeea60fa --- /dev/null +++ b/packages/default-theme/components/cms/blocks/SwImageThreeCover.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/packages/default-theme/components/cms/cmsNameMapper.js b/packages/default-theme/components/cms/cmsNameMapper.js index 0ac92bc45..79d7d6a15 100644 --- a/packages/default-theme/components/cms/cmsNameMapper.js +++ b/packages/default-theme/components/cms/cmsNameMapper.js @@ -13,7 +13,8 @@ const slotsMap = { const blocksMap = { 'image-bubble-row': 'SwImageBubbleRow', 'image-two-column': 'SwImageTwoColumn', - 'image-three-column': 'SwImageThreeColumn' + 'image-three-column': 'SwImageThreeColumn', + 'image-three-cover': 'SwImageThreeCover' } export function getComponentBy(content) { @@ -22,7 +23,7 @@ export function getComponentBy(content) { const isBlock = !!content.sectionId let componentName - // console.log('content', content.type ,content); + console.log('content', content.type, content) if (isBlock) { componentName = blocksMap[content.type] } From d3106091853aa61f29cace5f90b3aca97c338de7 Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Mon, 30 Mar 2020 10:32:03 +0200 Subject: [PATCH 08/24] fix: add SwImageFourColumn component --- api/composables.api.md | 8 ++++++++ .../components/cms/blocks/SwImageFourColumn.vue | 17 +++++++++-------- .../components/cms/cmsNameMapper.js | 1 + 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/api/composables.api.md b/api/composables.api.md index a60cea9c7..384824ffc 100644 --- a/api/composables.api.md +++ b/api/composables.api.md @@ -25,6 +25,10 @@ export enum PositionType { // (undocumented) CENTER = "center", // (undocumented) + CENTER_LEFT = "center-left", + // (undocumented) + CENTER_RIGHT = "center-right", + // (undocumented) LEFT = "left", // (undocumented) RIGHT = "right" @@ -158,6 +162,10 @@ export const useSalutations: () => UseSalutations; // @public (undocumented) export interface UseSlotsPositions { + // (undocumented) + centerLeftSlot: Ref>; + // (undocumented) + centerRightSlot: Ref>; // (undocumented) centerSlot: Ref>; // (undocumented) diff --git a/packages/default-theme/components/cms/blocks/SwImageFourColumn.vue b/packages/default-theme/components/cms/blocks/SwImageFourColumn.vue index 6065aa694..0eafff858 100644 --- a/packages/default-theme/components/cms/blocks/SwImageFourColumn.vue +++ b/packages/default-theme/components/cms/blocks/SwImageFourColumn.vue @@ -1,8 +1,9 @@ @@ -12,7 +13,7 @@ import { useSlotsPositions } from '@shopware-pwa/composables'; export default { - name: 'SwImageThreeColumn', + name: 'SwImageFourColumn', components: { SwImage, }, @@ -23,9 +24,9 @@ export default { } }, setup(props) { - const {leftSlot, centerSlot, rightSlot} = useSlotsPositions(props.content.slots) + const {leftSlot, centerLeftSlot, centerRightSlot, rightSlot} = useSlotsPositions(props.content.slots) - return {leftSlot, centerSlot, rightSlot} + return {leftSlot, centerLeftSlot, centerRightSlot, rightSlot} } }; @@ -33,7 +34,7 @@ export default { diff --git a/packages/default-theme/components/cms/blocks/SwImageThreeColumn.vue b/packages/default-theme/components/cms/blocks/SwImageThreeColumn.vue index 6065aa694..67005d8d1 100644 --- a/packages/default-theme/components/cms/blocks/SwImageThreeColumn.vue +++ b/packages/default-theme/components/cms/blocks/SwImageThreeColumn.vue @@ -10,7 +10,6 @@ import SwImage from "../elements/SwImage"; import { useSlotsPositions } from '@shopware-pwa/composables'; - export default { name: 'SwImageThreeColumn', components: { diff --git a/packages/default-theme/components/cms/blocks/SwImageThreeCover.vue b/packages/default-theme/components/cms/blocks/SwImageThreeCover.vue index 3eeea60fa..1355d1903 100644 --- a/packages/default-theme/components/cms/blocks/SwImageThreeCover.vue +++ b/packages/default-theme/components/cms/blocks/SwImageThreeCover.vue @@ -10,7 +10,6 @@ import SwImage from "../elements/SwImage"; import { useSlotsPositions } from '@shopware-pwa/composables'; - export default { name: 'SwImageThreeCover', components: { diff --git a/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue b/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue index df4d6ab61..c91074087 100644 --- a/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue +++ b/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue @@ -9,7 +9,6 @@ import SwImage from "../elements/SwImage"; import { useSlotsPositions } from '@shopware-pwa/composables'; - export default { name: 'SwImageTwoColumn', components: { diff --git a/packages/default-theme/components/cms/cmsNameMapper.js b/packages/default-theme/components/cms/cmsNameMapper.js index b942cdac7..732d99c31 100644 --- a/packages/default-theme/components/cms/cmsNameMapper.js +++ b/packages/default-theme/components/cms/cmsNameMapper.js @@ -15,7 +15,8 @@ const blocksMap = { 'image-two-column': 'SwImageTwoColumn', 'image-three-column': 'SwImageThreeColumn', 'image-four-column': 'SwImageFourColumn', - 'image-three-cover': 'SwImageThreeCover' + 'image-three-cover': 'SwImageThreeCover', + 'image-highlight-row': 'SwImageHighlightRow' } export function getComponentBy(content) { From d2a33c1c67d3649782092c5426af26da02fffe61 Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Tue, 31 Mar 2020 09:10:50 +0200 Subject: [PATCH 10/24] fix: fix SwImageBubbleRow component --- .../composables/src/cms/useSlotsPositions.ts | 16 ++++++++++++++-- .../components/cms/blocks/SwImageBubbleRow.vue | 11 +++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/packages/composables/src/cms/useSlotsPositions.ts b/packages/composables/src/cms/useSlotsPositions.ts index ec392fed6..617325ab0 100644 --- a/packages/composables/src/cms/useSlotsPositions.ts +++ b/packages/composables/src/cms/useSlotsPositions.ts @@ -7,6 +7,8 @@ export interface UseSlotsPositions { centerSlot: Ref>; centerLeftSlot: Ref>; centerRightSlot: Ref>; + leftTopSlot: Ref>; + leftBottomSlot: Ref>; } export enum PositionType { @@ -14,7 +16,9 @@ export enum PositionType { RIGHT = "right", CENTER = "center", CENTER_LEFT = "center-left", - CENTER_RIGHT = "center-right" + CENTER_RIGHT = "center-right", + LEFT_TOP = "left-top", + LEFT_BOTTOM = "left-bottom" } export const useSlotsPositions = (slots: CmsSlot[]): UseSlotsPositions => { @@ -36,12 +40,20 @@ export const useSlotsPositions = (slots: CmsSlot[]): UseSlotsPositions => { const centerRightSlot = computed((): CmsSlot | undefined => findSlot(PositionType.CENTER_RIGHT) ); + const leftTopSlot = computed((): CmsSlot | undefined => + findSlot(PositionType.LEFT_TOP) + ); + const leftBottomSlot = computed((): CmsSlot | undefined => + findSlot(PositionType.LEFT_BOTTOM) + ); return { leftSlot, rightSlot, centerSlot, centerLeftSlot, - centerRightSlot + centerRightSlot, + leftBottomSlot, + leftTopSlot }; }; diff --git a/packages/default-theme/components/cms/blocks/SwImageBubbleRow.vue b/packages/default-theme/components/cms/blocks/SwImageBubbleRow.vue index c7cb82ee2..390f81e67 100644 --- a/packages/default-theme/components/cms/blocks/SwImageBubbleRow.vue +++ b/packages/default-theme/components/cms/blocks/SwImageBubbleRow.vue @@ -1,12 +1,14 @@ From 7529ff5017feec0097a253d7708c1e979600b2f6 Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Tue, 31 Mar 2020 14:26:18 +0200 Subject: [PATCH 11/24] fix: add SwImageSimpleGrid component --- api/composables.api.md | 8 +++ .../cms/blocks/SwImageSimpleGrid.vue | 63 +++++++++++++++++++ .../components/cms/cmsNameMapper.js | 3 +- 3 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 packages/default-theme/components/cms/blocks/SwImageSimpleGrid.vue diff --git a/api/composables.api.md b/api/composables.api.md index 384824ffc..5528b08bd 100644 --- a/api/composables.api.md +++ b/api/composables.api.md @@ -31,6 +31,10 @@ export enum PositionType { // (undocumented) LEFT = "left", // (undocumented) + LEFT_BOTTOM = "left-bottom", + // (undocumented) + LEFT_TOP = "left-top", + // (undocumented) RIGHT = "right" } @@ -169,8 +173,12 @@ export interface UseSlotsPositions { // (undocumented) centerSlot: Ref>; // (undocumented) + leftBottomSlot: Ref>; + // (undocumented) leftSlot: Ref>; // (undocumented) + leftTopSlot: Ref>; + // (undocumented) rightSlot: Ref>; } diff --git a/packages/default-theme/components/cms/blocks/SwImageSimpleGrid.vue b/packages/default-theme/components/cms/blocks/SwImageSimpleGrid.vue new file mode 100644 index 000000000..d15839d75 --- /dev/null +++ b/packages/default-theme/components/cms/blocks/SwImageSimpleGrid.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/packages/default-theme/components/cms/cmsNameMapper.js b/packages/default-theme/components/cms/cmsNameMapper.js index 732d99c31..20e709424 100644 --- a/packages/default-theme/components/cms/cmsNameMapper.js +++ b/packages/default-theme/components/cms/cmsNameMapper.js @@ -16,7 +16,8 @@ const blocksMap = { 'image-three-column': 'SwImageThreeColumn', 'image-four-column': 'SwImageFourColumn', 'image-three-cover': 'SwImageThreeCover', - 'image-highlight-row': 'SwImageHighlightRow' + 'image-highlight-row': 'SwImageHighlightRow', + 'image-simple-grid': 'SwImageSimpleGrid' } export function getComponentBy(content) { From 822da4c183bf983ccf5cee02ecc91b4006002ef8 Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Tue, 31 Mar 2020 14:32:08 +0200 Subject: [PATCH 12/24] fix: add SwCenterText component --- .../components/cms/blocks/SwCenterText.vue | 53 +++++++++++++++++++ .../components/cms/cmsNameMapper.js | 3 +- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 packages/default-theme/components/cms/blocks/SwCenterText.vue diff --git a/packages/default-theme/components/cms/blocks/SwCenterText.vue b/packages/default-theme/components/cms/blocks/SwCenterText.vue new file mode 100644 index 000000000..52752c425 --- /dev/null +++ b/packages/default-theme/components/cms/blocks/SwCenterText.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/packages/default-theme/components/cms/cmsNameMapper.js b/packages/default-theme/components/cms/cmsNameMapper.js index 20e709424..973cc8789 100644 --- a/packages/default-theme/components/cms/cmsNameMapper.js +++ b/packages/default-theme/components/cms/cmsNameMapper.js @@ -17,7 +17,8 @@ const blocksMap = { 'image-four-column': 'SwImageFourColumn', 'image-three-cover': 'SwImageThreeCover', 'image-highlight-row': 'SwImageHighlightRow', - 'image-simple-grid': 'SwImageSimpleGrid' + 'image-simple-grid': 'SwImageSimpleGrid', + 'center-text': 'SwCenterText' } export function getComponentBy(content) { From 331907e3925c1b1ac2d596f96685a75c72e271f1 Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Tue, 31 Mar 2020 15:55:45 +0200 Subject: [PATCH 13/24] fix: add unit tests --- .../__tests__/{ => cms}/useImageProps.spec.ts | 2 +- .../__tests__/cms/useSlotPositions.spec.ts | 108 ++++++++++++++++++ packages/composables/src/cms/useImageProps.ts | 8 +- 3 files changed, 113 insertions(+), 5 deletions(-) rename packages/composables/__tests__/{ => cms}/useImageProps.spec.ts (97%) create mode 100644 packages/composables/__tests__/cms/useSlotPositions.spec.ts diff --git a/packages/composables/__tests__/useImageProps.spec.ts b/packages/composables/__tests__/cms/useImageProps.spec.ts similarity index 97% rename from packages/composables/__tests__/useImageProps.spec.ts rename to packages/composables/__tests__/cms/useImageProps.spec.ts index 549c91960..8501d75b9 100644 --- a/packages/composables/__tests__/useImageProps.spec.ts +++ b/packages/composables/__tests__/cms/useImageProps.spec.ts @@ -15,7 +15,7 @@ describe("Composables - useImageProps", () => { } }; - const emptyContent = {}; + const emptyContent = undefined; it("should return computed url string", () => { const { getImgUrl } = useImageProps(content as any); diff --git a/packages/composables/__tests__/cms/useSlotPositions.spec.ts b/packages/composables/__tests__/cms/useSlotPositions.spec.ts new file mode 100644 index 000000000..7b6f9923b --- /dev/null +++ b/packages/composables/__tests__/cms/useSlotPositions.spec.ts @@ -0,0 +1,108 @@ +import Vue from "vue"; +import VueCompositionApi from "@vue/composition-api"; +Vue.use(VueCompositionApi); + +import { useSlotsPositions } from "@shopware-pwa/composables"; + +describe("Composables - useImageProps", () => { + const slots = [ + { + slot: "right" + }, + { + slot: "left" + }, + { + slot: "center" + }, + { + slot: "center-left" + }, + { + slot: "center-right" + }, + { + slot: "left-top" + }, + { + slot: "left-bottom" + } + ]; + + const fakeSlots = [ + { + slot: "this" + }, + { + slot: "is" + }, + { + slot: "just" + }, + { + slot: "a" + }, + { + slot: "test" + } + ]; + + it("should return computed CmsSlot which contains slot hey wit left value", () => { + const { leftSlot } = useSlotsPositions(slots as any); + expect(leftSlot.value).toMatchObject({ slot: "left" }); + }); + + it("should return computed title string", () => { + const { rightSlot } = useSlotsPositions(slots as any); + expect(rightSlot.value).toMatchObject({ slot: "right" }); + }); + + it("should return computed alt string", () => { + const { centerSlot } = useSlotsPositions(slots as any); + expect(centerSlot.value).toMatchObject({ slot: "center" }); + }); + it("should return computed url string", () => { + const { centerLeftSlot } = useSlotsPositions(slots as any); + expect(centerLeftSlot.value).toMatchObject({ slot: "center-left" }); + }); + + it("should return computed title string", () => { + const { centerRightSlot } = useSlotsPositions(slots as any); + expect(centerRightSlot.value).toMatchObject({ slot: "center-right" }); + }); + + it("should return computed alt string", () => { + const { leftTopSlot } = useSlotsPositions(slots as any); + expect(leftTopSlot.value).toMatchObject({ slot: "left-top" }); + }); + it("should return computed alt string", () => { + const { leftBottomSlot } = useSlotsPositions(slots as any); + expect(leftBottomSlot.value).toMatchObject({ slot: "left-bottom" }); + }); + it("should return empty string", () => { + const { leftSlot } = useSlotsPositions(fakeSlots as any); + expect(leftSlot.value).toBe(undefined); + }); + + it("should return empty string", () => { + const { centerSlot } = useSlotsPositions(fakeSlots as any); + expect(centerSlot.value).toBe(undefined); + }); + + it("should return empty string", () => { + const { centerLeftSlot } = useSlotsPositions(fakeSlots as any); + expect(centerLeftSlot.value).toBe(undefined); + }); + it("should return empty string", () => { + const { centerRightSlot } = useSlotsPositions(fakeSlots as any); + expect(centerRightSlot.value).toBe(undefined); + }); + it("should return empty string", () => { + const { leftTopSlot } = useSlotsPositions(fakeSlots as any); + expect(leftTopSlot.value).toBe(undefined); + }); + it("should return empty string", () => { + const { leftBottomSlot } = useSlotsPositions(fakeSlots as any); + expect(leftBottomSlot.value).toBe(undefined); + }); +}); diff --git a/packages/composables/src/cms/useImageProps.ts b/packages/composables/src/cms/useImageProps.ts index 0d917bdbc..e2cc93be1 100644 --- a/packages/composables/src/cms/useImageProps.ts +++ b/packages/composables/src/cms/useImageProps.ts @@ -7,17 +7,17 @@ export interface UseImageProps { getTitle: Ref>; } -export const useImageProps = (content: CmsSlot): UseImageProps => { +export const useImageProps = (content: CmsSlot | undefined): UseImageProps => { const getImgUrl = computed(() => { - const imgUrl = content.data?.media?.url; + const imgUrl = content?.data?.media?.url; return imgUrl || ""; }); const getAlt = computed(() => { - const alt = content.data?.media?.alt; + const alt = content?.data?.media?.alt; return alt || ""; }); const getTitle = computed(() => { - const title = content.data?.media?.title; + const title = content?.data?.media?.title; return title || ""; }); From 0a722e43f55dfaaa64c57f69103b32cd6e9dd0a1 Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Tue, 31 Mar 2020 16:09:24 +0200 Subject: [PATCH 14/24] fix: remove console.log --- packages/default-theme/components/cms/cmsNameMapper.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/default-theme/components/cms/cmsNameMapper.js b/packages/default-theme/components/cms/cmsNameMapper.js index 973cc8789..0de12c3e0 100644 --- a/packages/default-theme/components/cms/cmsNameMapper.js +++ b/packages/default-theme/components/cms/cmsNameMapper.js @@ -27,7 +27,6 @@ export function getComponentBy(content) { const isBlock = !!content.sectionId let componentName - console.log('content', content.type, content) if (isBlock) { componentName = blocksMap[content.type] } From e9e619502d64dbe545bd1cd3a2978098e9a6d43a Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Wed, 1 Apr 2020 10:06:15 +0200 Subject: [PATCH 15/24] fix: fix lint scripts and use prettier --- package.json | 2 +- .../cli/__tests__/cli-integration.test.ts | 2 +- packages/cli/src/commands/dev.ts | 10 +- packages/cli/src/commands/generate.ts | 30 ++-- packages/cli/src/commands/init.ts | 16 +- packages/cli/src/commands/shopware-pwa.ts | 4 +- packages/cli/src/extensions/nuxt-extension.ts | 34 ++-- .../src/extensions/shopware-pwa-extension.ts | 8 +- .../commons/interfaces/cart/CartItemType.ts | 2 +- .../checkout/customer/CustomerAddress.ts | 2 +- .../interfaces/models/content/cms/CmsPage.ts | 12 +- .../commons/interfaces/search/Pagination.ts | 2 +- .../interfaces/search/SearchCriteria.ts | 2 +- .../commons/interfaces/search/SearchFilter.ts | 4 +- .../__tests__/cms/useImageProps.spec.ts | 6 +- .../__tests__/cms/useSlotPositions.spec.ts | 28 +-- .../__tests__/useAddToCart.spec.ts | 22 +-- .../composables/__tests__/useCart.spec.ts | 38 ++-- .../__tests__/useCategoryFilters.spec.ts | 48 ++--- packages/composables/__tests__/useCms.spec.ts | 12 +- .../__tests__/useCountries.spec.ts | 60 +++---- .../__tests__/useNavigation.spec.ts | 6 +- .../composables/__tests__/useProduct.spec.ts | 18 +- .../__tests__/useProductListing.spec.ts | 38 ++-- .../__tests__/useProductSearch.spec.ts | 8 +- .../__tests__/useSalutations.spec.ts | 60 +++---- .../composables/__tests__/useUser.spec.ts | 84 ++++----- packages/composables/src/cms/useImageProps.ts | 2 +- .../composables/src/cms/useSlotsPositions.ts | 4 +- .../composables/src/hooks/useCart/index.ts | 6 +- .../src/hooks/useCategoryFilters/index.ts | 8 +- .../composables/src/hooks/useCms/index.ts | 8 +- .../composables/src/hooks/useCountries.ts | 4 +- .../composables/src/hooks/useNavigation.ts | 4 +- .../composables/src/hooks/useProduct/index.ts | 6 +- .../src/hooks/useProductListing.ts | 32 ++-- .../composables/src/hooks/useProductSearch.ts | 14 +- .../composables/src/hooks/useSalutations.ts | 4 +- packages/composables/src/hooks/useUser.ts | 14 +- .../composables/src/logic/useAddToCart.ts | 2 +- .../src/theme/cart/useCartSidebar.ts | 4 +- .../src/theme/user/useUserLoginModal.ts | 4 +- .../__tests__/country/mapCountries.spec.ts | 22 +-- .../error/getMessagesFromErrorsArray.spec.ts | 22 +-- .../helpers/__tests__/listing/filters.spec.ts | 50 +++--- .../navigation/getNavigationRoutes.spec.ts | 38 ++-- .../getCategoryAvailableFilters.spec.ts | 30 ++-- .../product/getProductMainImageUrl.spec.ts | 16 +- .../product/getProductMediaGallery.spec.ts | 34 ++-- .../__tests__/product/getProductName.spec.ts | 18 +- .../product/getProductOption.spec.ts | 18 +- .../product/getProductOptions.spec.ts | 36 ++-- .../product/getProductOptionsUrl.spec.ts | 28 +-- .../product/getProductProperties.spec.ts | 20 +-- .../product/getProductRegularPrice.spec.ts | 6 +- .../product/getProductReviews.spec.ts | 8 +- .../product/getProductSpecialPrice.spec.ts | 10 +- .../product/getVariantOptionsLabel.spec.ts | 22 +-- .../__tests__/product/isProductSimple.spec.ts | 6 +- .../salutation/mapSalutations.spec.ts | 34 ++-- packages/helpers/__tests__/urlHelpers.spec.ts | 10 +- .../category/getCategoryAvailableFilters.ts | 12 +- .../category/getCategoryAvailableSorting.ts | 4 +- packages/helpers/src/cms/getCmsSections.ts | 2 +- packages/helpers/src/country/mapCountries.ts | 2 +- packages/helpers/src/error/index.ts | 2 +- packages/helpers/src/listing/filters.ts | 12 +- .../src/navigation/getNavigationRoutes.ts | 2 +- .../src/product/getProductMediaGallery.ts | 12 +- .../helpers/src/product/getProductOption.ts | 4 +- .../helpers/src/product/getProductOptions.ts | 6 +- .../src/product/getProductOptionsUrl.ts | 6 +- .../src/product/getProductProperties.ts | 6 +- .../src/product/getProductRegularPrice.ts | 2 +- .../helpers/src/product/getProductReviews.ts | 4 +- .../src/product/getVariantOptionsLabel.ts | 2 +- .../helpers/src/product/isProductSimple.ts | 2 +- .../helpers/src/salutation/mapSalutations.ts | 2 +- packages/helpers/src/ui-interfaces.ts | 2 +- .../__tests__/addThemeLayouts.spec.ts | 12 +- .../__tests__/addThemePages.spec.ts | 32 ++-- .../__tests__/extendComponents.spec.ts | 23 +-- .../nuxt-module/__tests__/getAllFiles.spec.ts | 4 +- packages/nuxt-module/__tests__/module.spec.ts | 29 ++-- .../__tests__/overrideRoutes.spec.ts | 20 +-- packages/nuxt-module/__tests__/utils.spec.ts | 8 +- packages/nuxt-module/src/components.ts | 2 +- packages/nuxt-module/src/files.ts | 2 +- packages/nuxt-module/src/index.ts | 2 +- packages/nuxt-module/src/layouts.ts | 2 +- packages/nuxt-module/src/module.ts | 8 +- packages/nuxt-module/src/pages.ts | 14 +- .../addCartItemQuantity.e2e.spec.ts | 2 +- .../changeCartItemQuantity.e2e.spec.ts | 2 +- .../__e2e__/CartService/getCart.e2e.spec.ts | 2 +- .../CartService/removeCartItem.e2e.spec.ts | 2 +- .../CategoryService/getCategories.e2e.spec.ts | 2 +- .../setCurrentPaymentMethod.e2e.spec.ts | 2 +- .../setCurrentShippingMethod.e2e.spec.ts | 2 +- .../createCustomerAddress.e2e.spec.ts | 4 +- .../deleteCustomerAddress.e2e.spec.ts | 4 +- .../getCustomerAddress.e2e.spec.ts | 4 +- .../getCustomerAddresses.e2e.spec.ts | 2 +- .../__e2e__/CustomerService/login.e2e.spec.ts | 2 +- .../CustomerService/register.e2e.spec.ts | 4 +- ...tDefaultCustomerBillingAddress.e2e.spec.ts | 4 +- ...DefaultCustomerShippingAddress.e2e.spec.ts | 4 +- .../CustomerService/updateEmail.e2e.spec.ts | 14 +- .../updatePassword.e2e.spec.ts | 6 +- .../CustomerService/updateProfile.e2e.spec.ts | 4 +- .../getNavigation.e2e.spec.ts | 2 +- .../__e2e__/PageService/getPage.e2e.spec.ts | 12 +- .../ProductService/getProducts.e2e.spec.ts | 12 +- .../__tests__/apiInterceptors.spec.ts | 47 ++--- .../__tests__/endpoints.spec.ts | 2 +- .../helpers/convertSearchCriteria.spec.ts | 164 +++++++++--------- .../models/content/cms/CmsPage.spec.ts | 2 +- .../CartService/addCartItemQuantity.spec.ts | 20 +-- .../CartService/addProductToCart.spec.ts | 28 +-- .../CartService/addPromotionCode.spec.ts | 12 +- .../changeCartItemQuantity.spec.ts | 18 +- .../services/CartService/clearCart.spec.ts | 2 +- .../services/CartService/getCart.spec.ts | 16 +- .../CartService/removeCartItem.spec.ts | 6 +- .../CategoryService/getCategory.spec.ts | 6 +- .../CheckoutService/createOrder.spec.ts | 16 +- .../setCurrentBillingAddress.spec.ts | 10 +- .../ContextService/setCurrentCurrency.spec.ts | 10 +- .../ContextService/setCurrentLanguage.spec.ts | 8 +- .../setCurrentPaymentMethod.spec.ts | 10 +- .../setCurrentShippingAddress.spec.ts | 10 +- .../setCurrentShippingMethod.spec.ts | 10 +- .../createCustomerAddress.spec.ts | 6 +- .../deleteCustomerAddress.spec.ts | 2 +- .../CustomerService/getCustomer.spec.ts | 8 +- .../getCustomerAddress.spec.ts | 4 +- .../getCustomerAddresses.spec.ts | 2 +- .../getCustomerOrderDetails.spec.ts | 8 +- .../CustomerService/getCustomerOrders.spec.ts | 16 +- .../services/CustomerService/login.spec.ts | 12 +- .../services/CustomerService/register.spec.ts | 4 +- .../setDefaultCustomerBillingAddress.spec.ts | 2 +- .../setDefaultCustomerShippingAddress.spec.ts | 2 +- .../CustomerService/updateEmail.spec.ts | 10 +- .../CustomerService/updatePassword.spec.ts | 16 +- .../CustomerService/updateProfile.spec.ts | 2 +- .../NavigationService/getNavigation.spec.ts | 12 +- .../services/PageService/getPage.spec.ts | 4 +- .../ProductService/getProduct.spec.ts | 4 +- .../ProductService/getProductIds.spec.ts | 2 +- .../ProductService/getProducts.spec.ts | 46 ++--- .../__tests__/settings.spec.ts | 4 +- packages/shopware-6-client/src/apiService.ts | 4 +- .../src/helpers/convertAssociations.ts | 6 +- .../src/helpers/searchConverter.ts | 10 +- packages/shopware-6-client/src/index.ts | 2 +- .../src/interceptors/errorInterceptor.ts | 4 +- .../src/services/cartService.ts | 2 +- .../src/services/checkoutService.ts | 4 +- .../src/services/contextService.ts | 2 +- .../src/services/customerService.ts | 6 +- .../src/services/pageService.ts | 2 +- .../src/services/productService.ts | 8 +- packages/shopware-6-client/src/settings.ts | 6 +- 164 files changed, 1030 insertions(+), 1025 deletions(-) diff --git a/package.json b/package.json index c0b3f766d..2cb4354e5 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "dev:debug": "node --inspect scripts/dev.js", "build": "node scripts/build.js", "postinstall": "node scripts/linkDependencies.js && lerna link", - "lint": "prettier --write --parser typescript 'packages/**/*.ts'", + "lint": "prettier --write --parser typescript \"packages/**/*.ts\"", "test": "jest", "test:e2e": "jest --e2e=true --runInBand", "test:coverage": "yarn test --coverage", diff --git a/packages/cli/__tests__/cli-integration.test.ts b/packages/cli/__tests__/cli-integration.test.ts index dc5bb5334..33b4ced43 100644 --- a/packages/cli/__tests__/cli-integration.test.ts +++ b/packages/cli/__tests__/cli-integration.test.ts @@ -2,7 +2,7 @@ const { system, filesystem } = require("gluegun"); const src = filesystem.path(__dirname, ".."); -const cli = async cmd => +const cli = async (cmd) => system.run("node " + filesystem.path(src, "bin", "cli") + ` ${cmd}`); test("outputs version", async () => { diff --git a/packages/cli/src/commands/dev.ts b/packages/cli/src/commands/dev.ts index 19f037e82..e1b8a35f8 100644 --- a/packages/cli/src/commands/dev.ts +++ b/packages/cli/src/commands/dev.ts @@ -3,22 +3,22 @@ import { GluegunCommand } from "gluegun"; const command: GluegunCommand = { name: "dev", description: "Run the initialised project for development.", - run: async toolbox => { + run: async (toolbox) => { const { system: { spawn }, - print: { info } + print: { info }, } = toolbox; info(`Starting Shopware PWA development project...`); - toolbox.themeFolders.forEach(themeFolder => + toolbox.themeFolders.forEach((themeFolder) => toolbox.watchThemeFolder(themeFolder) ); await spawn("yarn dev", { - stdio: "inherit" + stdio: "inherit", }); - } + }, }; module.exports = command; diff --git a/packages/cli/src/commands/generate.ts b/packages/cli/src/commands/generate.ts index af0342d8c..7e9562d86 100644 --- a/packages/cli/src/commands/generate.ts +++ b/packages/cli/src/commands/generate.ts @@ -10,21 +10,21 @@ module.exports = { // parameters, template: { generate }, print: { success, spin, error, warning }, - inputParameters + inputParameters, } = toolbox; // TODO move it somewhere for having single source const PLUGIN_SLOTS = ["SwPluginTopNavigation"]; // Generate clean plugin files to override later - PLUGIN_SLOTS.forEach(async pluginSlotName => { + PLUGIN_SLOTS.forEach(async (pluginSlotName) => { const pluginPath = `.shopware-pwa/sw-plugins/${pluginSlotName}.vue`; const pluginOverrided = !!toolbox.filesystem.exists(pluginPath); if (!pluginOverrided) { await generate({ template: `/plugins/GenericPlugin.vue`, target: pluginPath, - props: {} + props: {}, }); } }); @@ -43,7 +43,7 @@ module.exports = { grant_type: "password", scopes: "write", username: inputParameters.username, - password: inputParameters.password + password: inputParameters.password, } ); // console.error("RESPO", respo); @@ -54,8 +54,8 @@ module.exports = { null, { headers: { - Authorization: `Bearer ${token}` - } + Authorization: `Bearer ${token}`, + }, } ); const jsonConfigAddress = respo2.data.buildArtifact.config; @@ -78,14 +78,14 @@ module.exports = { const request = require("request"); - const testPromise = function() { + const testPromise = function () { return new Promise((resolve, reject) => { request( { url: fileUrl, - encoding: null + encoding: null, }, - function(err, resp, body) { + function (err, resp, body) { if (err) reject(err); toolbox.filesystem.write( ".shopware-pwa/pwa-bundles-assets.zip", @@ -125,7 +125,7 @@ module.exports = { ".shopware-pwa/pwa-bundles-assets.zip" ); await d.extract({ - path: ".shopware-pwa/pwa-bundles-assets" + path: ".shopware-pwa/pwa-bundles-assets", }); // generate all files from config @@ -135,7 +135,7 @@ module.exports = { ); if (pluginsConfigFile) { const pluginNames = Object.keys(pluginsConfigFile); - pluginNames.forEach(pluginName => { + pluginNames.forEach((pluginName) => { const pluginDirectory = `.shopware-pwa/pwa-bundles-assets/${pluginName}`; const pluginDirExist = toolbox.filesystem.exists(pluginDirectory); if (pluginDirExist) { @@ -144,7 +144,7 @@ module.exports = { "json" ); if (pluginConfig) { - pluginConfig.slots.forEach(async slot => { + pluginConfig.slots.forEach(async (slot) => { const body = `--> <${slot.name} /> - -[Home](./index.md) > [@shopware-pwa/nuxt-module](./nuxt-module.md) - -## nuxt-module package - -## Variables - -| Variable | Description | -| --- | --- | -| [ShopwarePWAModule](./nuxt-module.shopwarepwamodule.md) | | - diff --git a/docs/api/nuxt-module.shopwarepwamodule.md b/docs/api/nuxt-module.shopwarepwamodule.md deleted file mode 100644 index 29db84f70..000000000 --- a/docs/api/nuxt-module.shopwarepwamodule.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [@shopware-pwa/nuxt-module](./nuxt-module.md) > [ShopwarePWAModule](./nuxt-module.shopwarepwamodule.md) - -## ShopwarePWAModule variable - -Signature: - -```typescript -ShopwarePWAModule: Module<{}> -``` diff --git a/packages/composables/__tests__/cms/useImageProps.spec.ts b/packages/composables/__tests__/cms/useImageProps.spec.ts deleted file mode 100644 index 37a59c114..000000000 --- a/packages/composables/__tests__/cms/useImageProps.spec.ts +++ /dev/null @@ -1,48 +0,0 @@ -import Vue from "vue"; -import VueCompositionApi from "@vue/composition-api"; -Vue.use(VueCompositionApi); - -import { useImageProps } from "@shopware-pwa/composables"; - -describe("Composables - useImageProps", () => { - const content = { - data: { - media: { - title: "title", - alt: "alternative text", - url: "image-url", - }, - }, - }; - - const emptyContent = undefined; - - it("should return computed url string", () => { - const { getImgUrl } = useImageProps(content as any); - expect(getImgUrl.value).toBe("image-url"); - }); - - it("should return computed title string", () => { - const { getTitle } = useImageProps(content as any); - expect(getTitle.value).toBe("title"); - }); - - it("should return computed alt string", () => { - const { getAlt } = useImageProps(content as any); - expect(getAlt.value).toBe("alternative text"); - }); - it("should return empty string", () => { - const { getImgUrl } = useImageProps(emptyContent as any); - expect(getImgUrl.value).toBe(""); - }); - - it("should return empty string", () => { - const { getTitle } = useImageProps(emptyContent as any); - expect(getTitle.value).toBe(""); - }); - - it("should return empty string", () => { - const { getAlt } = useImageProps(emptyContent as any); - expect(getAlt.value).toBe(""); - }); -}); diff --git a/packages/composables/__tests__/cms/useSlotPositions.spec.ts b/packages/composables/__tests__/cms/useSlotPositions.spec.ts deleted file mode 100644 index 2de398030..000000000 --- a/packages/composables/__tests__/cms/useSlotPositions.spec.ts +++ /dev/null @@ -1,108 +0,0 @@ -import Vue from "vue"; -import VueCompositionApi from "@vue/composition-api"; -Vue.use(VueCompositionApi); - -import { useSlotsPositions } from "@shopware-pwa/composables"; - -describe("Composables - useImageProps", () => { - const slots = [ - { - slot: "right", - }, - { - slot: "left", - }, - { - slot: "center", - }, - { - slot: "center-left", - }, - { - slot: "center-right", - }, - { - slot: "left-top", - }, - { - slot: "left-bottom", - }, - ]; - - const fakeSlots = [ - { - slot: "this", - }, - { - slot: "is", - }, - { - slot: "just", - }, - { - slot: "a", - }, - { - slot: "test", - }, - ]; - - it("should return computed CmsSlot which contains slot hey wit left value", () => { - const { leftSlot } = useSlotsPositions(slots as any); - expect(leftSlot.value).toMatchObject({ slot: "left" }); - }); - - it("should return computed title string", () => { - const { rightSlot } = useSlotsPositions(slots as any); - expect(rightSlot.value).toMatchObject({ slot: "right" }); - }); - - it("should return computed alt string", () => { - const { centerSlot } = useSlotsPositions(slots as any); - expect(centerSlot.value).toMatchObject({ slot: "center" }); - }); - it("should return computed url string", () => { - const { centerLeftSlot } = useSlotsPositions(slots as any); - expect(centerLeftSlot.value).toMatchObject({ slot: "center-left" }); - }); - - it("should return computed title string", () => { - const { centerRightSlot } = useSlotsPositions(slots as any); - expect(centerRightSlot.value).toMatchObject({ slot: "center-right" }); - }); - - it("should return computed alt string", () => { - const { leftTopSlot } = useSlotsPositions(slots as any); - expect(leftTopSlot.value).toMatchObject({ slot: "left-top" }); - }); - it("should return computed alt string", () => { - const { leftBottomSlot } = useSlotsPositions(slots as any); - expect(leftBottomSlot.value).toMatchObject({ slot: "left-bottom" }); - }); - it("should return empty string", () => { - const { leftSlot } = useSlotsPositions(fakeSlots as any); - expect(leftSlot.value).toBe(undefined); - }); - - it("should return empty string", () => { - const { centerSlot } = useSlotsPositions(fakeSlots as any); - expect(centerSlot.value).toBe(undefined); - }); - - it("should return empty string", () => { - const { centerLeftSlot } = useSlotsPositions(fakeSlots as any); - expect(centerLeftSlot.value).toBe(undefined); - }); - it("should return empty string", () => { - const { centerRightSlot } = useSlotsPositions(fakeSlots as any); - expect(centerRightSlot.value).toBe(undefined); - }); - it("should return empty string", () => { - const { leftTopSlot } = useSlotsPositions(fakeSlots as any); - expect(leftTopSlot.value).toBe(undefined); - }); - it("should return empty string", () => { - const { leftBottomSlot } = useSlotsPositions(fakeSlots as any); - expect(leftBottomSlot.value).toBe(undefined); - }); -}); diff --git a/packages/composables/src/cms/useImageProps.ts b/packages/composables/src/cms/useImageProps.ts deleted file mode 100644 index eca4acc55..000000000 --- a/packages/composables/src/cms/useImageProps.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { computed, Ref } from "@vue/composition-api"; -import { CmsSlot } from "@shopware-pwa/commons/interfaces/models/content/cms/CmsPage"; - -/** - * @alpha - */ -export interface UseImageProps { - getImgUrl: Ref>; - getAlt: Ref>; - getTitle: Ref>; -} - -/** - * @alpha - */ -export const useImageProps = (content: CmsSlot | undefined): UseImageProps => { - const getImgUrl = computed(() => { - const imgUrl = content?.data?.media?.url; - return imgUrl || ""; - }); - const getAlt = computed(() => { - const alt = content?.data?.media?.alt; - return alt || ""; - }); - const getTitle = computed(() => { - const title = content?.data?.media?.title; - return title || ""; - }); - - return { - getImgUrl, - getAlt, - getTitle, - }; -}; diff --git a/packages/composables/src/cms/useSlotsPositions.ts b/packages/composables/src/cms/useSlotsPositions.ts deleted file mode 100644 index 83d7b51dd..000000000 --- a/packages/composables/src/cms/useSlotsPositions.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { computed, Ref } from "@vue/composition-api"; -import { CmsSlot } from "@shopware-pwa/commons/interfaces/models/content/cms/CmsPage"; - -/** - * @alpha - */ -export interface UseSlotsPositions { - leftSlot: Ref>; - rightSlot: Ref>; - centerSlot: Ref>; - centerLeftSlot: Ref>; - centerRightSlot: Ref>; - leftTopSlot: Ref>; - leftBottomSlot: Ref>; -} - -/** - * @alpha - */ -export enum PositionType { - LEFT = "left", - RIGHT = "right", - CENTER = "center", - CENTER_LEFT = "center-left", - CENTER_RIGHT = "center-right", - LEFT_TOP = "left-top", - LEFT_BOTTOM = "left-bottom", -} - -/** - * @alpha - */ -export const useSlotsPositions = (slots: CmsSlot[]): UseSlotsPositions => { - const findSlot = (positionType: PositionType): CmsSlot | undefined => - slots.find(({ slot }) => slot === positionType); - - const leftSlot = computed((): CmsSlot | undefined => - findSlot(PositionType.LEFT) - ); - const rightSlot = computed((): CmsSlot | undefined => - findSlot(PositionType.RIGHT) - ); - const centerSlot = computed((): CmsSlot | undefined => - findSlot(PositionType.CENTER) - ); - const centerLeftSlot = computed((): CmsSlot | undefined => - findSlot(PositionType.CENTER_LEFT) - ); - const centerRightSlot = computed((): CmsSlot | undefined => - findSlot(PositionType.CENTER_RIGHT) - ); - const leftTopSlot = computed((): CmsSlot | undefined => - findSlot(PositionType.LEFT_TOP) - ); - const leftBottomSlot = computed((): CmsSlot | undefined => - findSlot(PositionType.LEFT_BOTTOM) - ); - - return { - leftSlot, - rightSlot, - centerSlot, - centerLeftSlot, - centerRightSlot, - leftBottomSlot, - leftTopSlot, - }; -}; diff --git a/packages/composables/src/index.ts b/packages/composables/src/index.ts index fb21dc877..8fc34d76e 100644 --- a/packages/composables/src/index.ts +++ b/packages/composables/src/index.ts @@ -14,7 +14,5 @@ export * from "./hooks/useProductListing"; export * from "./hooks/useProductSearch"; export * from "./theme/cart/useCartSidebar"; export * from "./theme/user/useUserLoginModal"; -export * from "./cms/useImageProps"; -export * from "./cms/useSlotsPositions"; export * from "./factories/createCheckoutStep"; export * from "./store"; diff --git a/packages/default-theme/cms/blocks/CmsBlockCenterText.vue b/packages/default-theme/cms/blocks/CmsBlockCenterText.vue new file mode 100644 index 000000000..0f3937f70 --- /dev/null +++ b/packages/default-theme/cms/blocks/CmsBlockCenterText.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/packages/default-theme/cms/blocks/CmsBlockImageBubbleRow.vue b/packages/default-theme/cms/blocks/CmsBlockImageBubbleRow.vue index 44b541995..5964301e2 100644 --- a/packages/default-theme/cms/blocks/CmsBlockImageBubbleRow.vue +++ b/packages/default-theme/cms/blocks/CmsBlockImageBubbleRow.vue @@ -19,10 +19,10 @@ import CmsGenericElement from 'sw-cms/CmsGenericElement' export default { + name: 'CmsBlockImageBubbleRow', components: { CmsGenericElement, }, - name: 'CmsBlockImageBubbleRow', props: { content: { type: Object, @@ -34,13 +34,13 @@ export default { return this.content.slots || [] }, getLeftContent() { - return this.getSlots.find((element) => element.slot === 'left') + return this.getSlots.find(({slot}) => slot === 'left') }, getCenterContent() { - return this.getSlots.find((element) => element.slot === 'center') + return this.getSlots.find(({slot}) => slot === 'center') }, getRightContent() { - return this.getSlots.find((element) => element.slot === 'right') + return this.getSlots.find(({slot}) => slot === 'right') }, }, } diff --git a/packages/default-theme/cms/blocks/CmsBlockImageFourColumn.vue b/packages/default-theme/cms/blocks/CmsBlockImageFourColumn.vue new file mode 100644 index 000000000..622c64562 --- /dev/null +++ b/packages/default-theme/cms/blocks/CmsBlockImageFourColumn.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/packages/default-theme/cms/blocks/CmsBlockImageHighlightRow.vue b/packages/default-theme/cms/blocks/CmsBlockImageHighlightRow.vue new file mode 100644 index 000000000..beb64c813 --- /dev/null +++ b/packages/default-theme/cms/blocks/CmsBlockImageHighlightRow.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/packages/default-theme/cms/blocks/CmsBlockImageSimpleGrid.vue b/packages/default-theme/cms/blocks/CmsBlockImageSimpleGrid.vue new file mode 100644 index 000000000..dc0e508f4 --- /dev/null +++ b/packages/default-theme/cms/blocks/CmsBlockImageSimpleGrid.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/packages/default-theme/cms/blocks/CmsBlockImageTextCover.vue b/packages/default-theme/cms/blocks/CmsBlockImageTextCover.vue new file mode 100644 index 000000000..3e106189a --- /dev/null +++ b/packages/default-theme/cms/blocks/CmsBlockImageTextCover.vue @@ -0,0 +1,60 @@ + + + + + \ No newline at end of file diff --git a/packages/default-theme/cms/blocks/CmsBlockImageThreeColumn.vue b/packages/default-theme/cms/blocks/CmsBlockImageThreeColumn.vue new file mode 100644 index 000000000..fa928832a --- /dev/null +++ b/packages/default-theme/cms/blocks/CmsBlockImageThreeColumn.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/packages/default-theme/cms/blocks/CmsBlockImageThreeCover.vue b/packages/default-theme/cms/blocks/CmsBlockImageThreeCover.vue new file mode 100644 index 000000000..278cb3328 --- /dev/null +++ b/packages/default-theme/cms/blocks/CmsBlockImageThreeCover.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/packages/default-theme/cms/blocks/CmsBlockImageTwoColumn.vue b/packages/default-theme/cms/blocks/CmsBlockImageTwoColumn.vue new file mode 100644 index 000000000..7ee017f1b --- /dev/null +++ b/packages/default-theme/cms/blocks/CmsBlockImageTwoColumn.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/packages/default-theme/components/cms/blocks/SwCenterText.vue b/packages/default-theme/components/cms/blocks/SwCenterText.vue deleted file mode 100644 index af3a69fa1..000000000 --- a/packages/default-theme/components/cms/blocks/SwCenterText.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - diff --git a/packages/default-theme/components/cms/blocks/SwImageBubbleRow.vue b/packages/default-theme/components/cms/blocks/SwImageBubbleRow.vue deleted file mode 100644 index 390f81e67..000000000 --- a/packages/default-theme/components/cms/blocks/SwImageBubbleRow.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - - - diff --git a/packages/default-theme/components/cms/blocks/SwImageFourColumn.vue b/packages/default-theme/components/cms/blocks/SwImageFourColumn.vue deleted file mode 100644 index dfad4a53e..000000000 --- a/packages/default-theme/components/cms/blocks/SwImageFourColumn.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - - - diff --git a/packages/default-theme/components/cms/blocks/SwImageHighlightRow.vue b/packages/default-theme/components/cms/blocks/SwImageHighlightRow.vue deleted file mode 100644 index 0e1a7619d..000000000 --- a/packages/default-theme/components/cms/blocks/SwImageHighlightRow.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - diff --git a/packages/default-theme/components/cms/blocks/SwImageSimpleGrid.vue b/packages/default-theme/components/cms/blocks/SwImageSimpleGrid.vue deleted file mode 100644 index d15839d75..000000000 --- a/packages/default-theme/components/cms/blocks/SwImageSimpleGrid.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - diff --git a/packages/default-theme/components/cms/blocks/SwImageTextCover.vue b/packages/default-theme/components/cms/blocks/SwImageTextCover.vue deleted file mode 100644 index 40dee5f14..000000000 --- a/packages/default-theme/components/cms/blocks/SwImageTextCover.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - - - \ No newline at end of file diff --git a/packages/default-theme/components/cms/blocks/SwImageThreeColumn.vue b/packages/default-theme/components/cms/blocks/SwImageThreeColumn.vue deleted file mode 100644 index ddf00a99d..000000000 --- a/packages/default-theme/components/cms/blocks/SwImageThreeColumn.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - - - diff --git a/packages/default-theme/components/cms/blocks/SwImageThreeCover.vue b/packages/default-theme/components/cms/blocks/SwImageThreeCover.vue deleted file mode 100644 index 75f955194..000000000 --- a/packages/default-theme/components/cms/blocks/SwImageThreeCover.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - - - diff --git a/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue b/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue deleted file mode 100644 index b6acf129f..000000000 --- a/packages/default-theme/components/cms/blocks/SwImageTwoColumn.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - - - diff --git a/packages/default-theme/components/cms/elements/SwImageRounded.vue b/packages/default-theme/components/cms/elements/SwImageRounded.vue deleted file mode 100644 index 8a917fa18..000000000 --- a/packages/default-theme/components/cms/elements/SwImageRounded.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - - - \ No newline at end of file diff --git a/siema/shopware-pwa b/siema/shopware-pwa new file mode 160000 index 000000000..66b4ff646 --- /dev/null +++ b/siema/shopware-pwa @@ -0,0 +1 @@ +Subproject commit 66b4ff6464548390d25e5f7f050bfa9ac0ac808d From fddd5e68ef284e95c7bd4ccfcf74565d165185d9 Mon Sep 17 00:00:00 2001 From: Michal-Dziedzinski Date: Wed, 29 Apr 2020 09:21:11 +0200 Subject: [PATCH 21/24] fix: fix height styles, improve html structure --- api/composables.api.md | 39 --------------- .../cms/blocks/CmsBlockCenterText.vue | 6 +-- .../cms/blocks/CmsBlockImageBubbleRow.vue | 4 +- .../cms/blocks/CmsBlockImageCover.vue | 4 +- .../cms/blocks/CmsBlockImageFourColumn.vue | 6 +-- .../cms/blocks/CmsBlockImageHighlightRow.vue | 8 ++-- .../cms/blocks/CmsBlockImageSimpleGrid.vue | 47 ++++++++++++------- .../cms/blocks/CmsBlockImageTextCover.vue | 6 +-- .../cms/blocks/CmsBlockImageThreeColumn.vue | 6 +-- .../cms/blocks/CmsBlockImageThreeCover.vue | 6 +-- .../cms/blocks/CmsBlockImageTwoColumn.vue | 6 +-- .../cms/blocks/CmsBlockTextOnImage.vue | 4 +- packages/default-theme/cms/cmsMap.json | 10 +++- 13 files changed, 67 insertions(+), 85 deletions(-) diff --git a/api/composables.api.md b/api/composables.api.md index 78d671bce..c91c93228 100644 --- a/api/composables.api.md +++ b/api/composables.api.md @@ -55,24 +55,6 @@ export function createCheckoutStep({ stepNumber, stepFields, stepDataUpdated, }: // @alpha (undocumented) export function getStore(): any; -// @alpha (undocumented) -export enum PositionType { - // (undocumented) - CENTER = "center", - // (undocumented) - CENTER_LEFT = "center-left", - // (undocumented) - CENTER_RIGHT = "center-right", - // (undocumented) - LEFT = "left", - // (undocumented) - LEFT_BOTTOM = "left-bottom", - // (undocumented) - LEFT_TOP = "left-top", - // (undocumented) - RIGHT = "right" -} - // @alpha (undocumented) export type Search = (path: string, associations?: any) => any; @@ -251,27 +233,6 @@ export interface UseSessionContext { // @alpha (undocumented) export const useSessionContext: () => UseSessionContext; -// @alpha (undocumented) -export interface UseSlotsPositions { - // (undocumented) - centerLeftSlot: Ref>; - // (undocumented) - centerRightSlot: Ref>; - // (undocumented) - centerSlot: Ref>; - // (undocumented) - leftBottomSlot: Ref>; - // (undocumented) - leftSlot: Ref>; - // (undocumented) - leftTopSlot: Ref>; - // (undocumented) - rightSlot: Ref>; -} - -// @alpha (undocumented) -export const useSlotsPositions: (slots: CmsSlot[]) => UseSlotsPositions; - // @alpha (undocumented) export interface UseUser { // (undocumented) diff --git a/packages/default-theme/cms/blocks/CmsBlockCenterText.vue b/packages/default-theme/cms/blocks/CmsBlockCenterText.vue index 0f3937f70..69651f59c 100644 --- a/packages/default-theme/cms/blocks/CmsBlockCenterText.vue +++ b/packages/default-theme/cms/blocks/CmsBlockCenterText.vue @@ -1,9 +1,9 @@ - diff --git a/packages/default-theme/cms/blocks/CmsBlockCenterText.vue b/packages/default-theme/cms/blocks/CmsBlockCenterText.vue index 63b77f7cf..69651f59c 100644 --- a/packages/default-theme/cms/blocks/CmsBlockCenterText.vue +++ b/packages/default-theme/cms/blocks/CmsBlockCenterText.vue @@ -39,10 +39,8 @@ export default { diff --git a/packages/default-theme/cms/blocks/CmsBlockImageCover.vue b/packages/default-theme/cms/blocks/CmsBlockImageCover.vue index 9a1917f86..736265e2b 100644 --- a/packages/default-theme/cms/blocks/CmsBlockImageCover.vue +++ b/packages/default-theme/cms/blocks/CmsBlockImageCover.vue @@ -30,7 +30,5 @@ export default { diff --git a/packages/default-theme/cms/blocks/CmsBlockImageFourColumn.vue b/packages/default-theme/cms/blocks/CmsBlockImageFourColumn.vue index ba879c10b..6ba97372f 100644 --- a/packages/default-theme/cms/blocks/CmsBlockImageFourColumn.vue +++ b/packages/default-theme/cms/blocks/CmsBlockImageFourColumn.vue @@ -43,10 +43,8 @@ export default { diff --git a/packages/default-theme/cms/sections/CmsSectionDefault.vue b/packages/default-theme/cms/sections/CmsSectionDefault.vue index a42b35447..d6467a65c 100644 --- a/packages/default-theme/cms/sections/CmsSectionDefault.vue +++ b/packages/default-theme/cms/sections/CmsSectionDefault.vue @@ -1,5 +1,5 @@