@blaze-cms/react-page-builder 0.131.0-core-styles.0 → 0.131.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -13
- package/lib/HOC/recreateOnNavigation.js +29 -0
- package/lib/HOC/recreateOnNavigation.js.map +1 -0
- package/lib/components/Button.js +1 -2
- package/lib/components/Button.js.map +1 -1
- package/lib/components/Card/CardsRender.js +6 -13
- package/lib/components/Card/CardsRender.js.map +1 -1
- package/lib/components/Card/helpers/index.js +0 -7
- package/lib/components/Card/helpers/index.js.map +1 -1
- package/lib/components/Code/Code.js +3 -7
- package/lib/components/Code/Code.js.map +1 -1
- package/lib/components/DataSummary/helpers/build-loop-props-content.js +1 -3
- package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
- package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js +2 -3
- package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
- package/lib/components/Layout/Layout.js +3 -2
- package/lib/components/Layout/Layout.js.map +1 -1
- package/lib/components/Layout/LayoutFactory.js +35 -0
- package/lib/components/Layout/LayoutFactory.js.map +1 -0
- package/lib/components/Layout/LayoutWithStickyTimer.js +66 -0
- package/lib/components/Layout/LayoutWithStickyTimer.js.map +1 -0
- package/lib/components/Layout/index.js +2 -2
- package/lib/components/Layout/index.js.map +1 -1
- package/lib/components/List/ListFactory.js +11 -16
- package/lib/components/List/ListFactory.js.map +1 -1
- package/lib/components/List/helpers/index.js +0 -14
- package/lib/components/List/helpers/index.js.map +1 -1
- package/lib/components/SearchContent/SearchContent.js +6 -8
- package/lib/components/SearchContent/SearchContent.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +11 -17
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilterContainer.js +85 -63
- package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib/components/SearchFilter/helpers/build-filters-query.js +1 -3
- package/lib/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
- package/lib/components/SearchFilter/helpers/build-new-query.js +15 -0
- package/lib/components/SearchFilter/helpers/build-new-query.js.map +1 -0
- package/lib/components/SearchFilter/helpers/build-query.js +37 -0
- package/lib/components/SearchFilter/helpers/build-query.js.map +1 -0
- package/lib/components/SearchFilter/helpers/get-initial-filter-values.js +43 -0
- package/lib/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -0
- package/lib/components/SearchFilter/helpers/index.js +11 -18
- package/lib/components/SearchFilter/helpers/index.js.map +1 -1
- package/lib/components/SearchFilter/index.js.map +1 -1
- package/lib/components/SearchFilterSort/SearchFilterSort.js +11 -31
- package/lib/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
- package/lib/components/SearchFilterSort/helpers/handle-sort-update.js +5 -19
- package/lib/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
- package/lib/components/SearchFilterSort/helpers/update-sort.js +5 -9
- package/lib/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
- package/lib/helpers/build-inherited-filters.js +0 -2
- package/lib/helpers/build-inherited-filters.js.map +1 -1
- package/lib/helpers/build-props-query.js +2 -5
- package/lib/helpers/build-props-query.js.map +1 -1
- package/lib/helpers/build-set-filters.js +1 -5
- package/lib/helpers/build-set-filters.js.map +1 -1
- package/lib/helpers/get-query-filters.js +8 -6
- package/lib/helpers/get-query-filters.js.map +1 -1
- package/lib/helpers/get-query-props.js +2 -13
- package/lib/helpers/get-query-props.js.map +1 -1
- package/lib/helpers/get-wrapped-value-with-link.js +3 -2
- package/lib/helpers/get-wrapped-value-with-link.js.map +1 -1
- package/lib/helpers/index.js +0 -14
- package/lib/helpers/index.js.map +1 -1
- package/lib/helpers/parse-props-to-display.js +8 -13
- package/lib/helpers/parse-props-to-display.js.map +1 -1
- package/lib/utils/get-class-modifiers.js +1 -1
- package/lib/utils/get-class-modifiers.js.map +1 -1
- package/lib-es/HOC/recreateOnNavigation.js +20 -0
- package/lib-es/HOC/recreateOnNavigation.js.map +1 -0
- package/lib-es/components/Button.js +1 -2
- package/lib-es/components/Button.js.map +1 -1
- package/lib-es/components/Card/CardsRender.js +7 -14
- package/lib-es/components/Card/CardsRender.js.map +1 -1
- package/lib-es/components/Card/helpers/index.js +0 -1
- package/lib-es/components/Card/helpers/index.js.map +1 -1
- package/lib-es/components/Code/Code.js +4 -8
- package/lib-es/components/Code/Code.js.map +1 -1
- package/lib-es/components/DataSummary/helpers/build-loop-props-content.js +1 -3
- package/lib-es/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
- package/lib-es/components/DataSummary/helpers/build-props-to-display-with-content.js +3 -4
- package/lib-es/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
- package/lib-es/components/Layout/Layout.js +3 -2
- package/lib-es/components/Layout/Layout.js.map +1 -1
- package/lib-es/components/Layout/LayoutFactory.js +14 -0
- package/lib-es/components/Layout/LayoutFactory.js.map +1 -0
- package/lib-es/components/Layout/LayoutWithStickyTimer.js +42 -0
- package/lib-es/components/Layout/LayoutWithStickyTimer.js.map +1 -0
- package/lib-es/components/Layout/index.js +2 -2
- package/lib-es/components/Layout/index.js.map +1 -1
- package/lib-es/components/List/ListFactory.js +12 -16
- package/lib-es/components/List/ListFactory.js.map +1 -1
- package/lib-es/components/List/helpers/index.js +0 -2
- package/lib-es/components/List/helpers/index.js.map +1 -1
- package/lib-es/components/SearchContent/SearchContent.js +6 -8
- package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +11 -18
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js +72 -47
- package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/build-filters-query.js +0 -2
- package/lib-es/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/build-new-query.js +6 -0
- package/lib-es/components/SearchFilter/helpers/build-new-query.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/build-query.js +23 -0
- package/lib-es/components/SearchFilter/helpers/build-query.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js +26 -0
- package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -0
- package/lib-es/components/SearchFilter/helpers/index.js +4 -5
- package/lib-es/components/SearchFilter/helpers/index.js.map +1 -1
- package/lib-es/components/SearchFilter/index.js +2 -2
- package/lib-es/components/SearchFilter/index.js.map +1 -1
- package/lib-es/components/SearchFilterSort/SearchFilterSort.js +10 -26
- package/lib-es/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
- package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js +4 -21
- package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
- package/lib-es/components/SearchFilterSort/helpers/update-sort.js +4 -8
- package/lib-es/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
- package/lib-es/helpers/build-inherited-filters.js +0 -2
- package/lib-es/helpers/build-inherited-filters.js.map +1 -1
- package/lib-es/helpers/build-props-query.js +2 -4
- package/lib-es/helpers/build-props-query.js.map +1 -1
- package/lib-es/helpers/build-set-filters.js +1 -5
- package/lib-es/helpers/build-set-filters.js.map +1 -1
- package/lib-es/helpers/get-query-filters.js +8 -6
- package/lib-es/helpers/get-query-filters.js.map +1 -1
- package/lib-es/helpers/get-query-props.js +2 -10
- package/lib-es/helpers/get-query-props.js.map +1 -1
- package/lib-es/helpers/get-wrapped-value-with-link.js +2 -2
- package/lib-es/helpers/get-wrapped-value-with-link.js.map +1 -1
- package/lib-es/helpers/index.js +0 -2
- package/lib-es/helpers/index.js.map +1 -1
- package/lib-es/helpers/parse-props-to-display.js +9 -12
- package/lib-es/helpers/parse-props-to-display.js.map +1 -1
- package/lib-es/utils/get-class-modifiers.js +1 -1
- package/lib-es/utils/get-class-modifiers.js.map +1 -1
- package/package.json +10 -10
- package/src/HOC/recreateOnNavigation.js +21 -0
- package/src/components/Button.js +1 -2
- package/src/components/Card/CardsRender.js +7 -27
- package/src/components/Card/helpers/index.js +0 -1
- package/src/components/Code/Code.js +3 -7
- package/src/components/DataSummary/helpers/build-loop-props-content.js +1 -4
- package/src/components/DataSummary/helpers/build-props-to-display-with-content.js +3 -6
- package/src/components/Layout/Layout.js +29 -32
- package/src/components/Layout/LayoutFactory.js +17 -0
- package/src/components/Layout/LayoutWithStickyTimer.js +40 -0
- package/src/components/Layout/index.js +2 -2
- package/src/components/List/ListFactory.js +15 -25
- package/src/components/List/helpers/index.js +0 -2
- package/src/components/SearchContent/SearchContent.js +6 -8
- package/src/components/SearchFilter/SearchFilter/SearchFilter.js +12 -21
- package/src/components/SearchFilter/SearchFilterContainer.js +69 -57
- package/src/components/SearchFilter/helpers/build-filters-query.js +1 -9
- package/src/components/SearchFilter/helpers/build-new-query.js +6 -0
- package/src/components/SearchFilter/helpers/build-query.js +26 -0
- package/src/components/SearchFilter/helpers/get-initial-filter-values.js +30 -0
- package/src/components/SearchFilter/helpers/index.js +7 -9
- package/src/components/SearchFilter/index.js +2 -2
- package/src/components/SearchFilterSort/SearchFilterSort.js +8 -18
- package/src/components/SearchFilterSort/helpers/handle-sort-update.js +5 -14
- package/src/components/SearchFilterSort/helpers/update-sort.js +3 -7
- package/src/helpers/build-inherited-filters.js +1 -3
- package/src/helpers/build-props-query.js +2 -4
- package/src/helpers/build-set-filters.js +1 -2
- package/src/helpers/get-query-filters.js +4 -4
- package/src/helpers/get-query-props.js +4 -12
- package/src/helpers/get-wrapped-value-with-link.js +3 -6
- package/src/helpers/index.js +0 -2
- package/src/helpers/parse-props-to-display.js +21 -25
- package/src/utils/get-class-modifiers.js +1 -1
- package/tests/helpers/mocks.js +5 -3
- package/tests/unit/src/HOC/recreateOnNavigation.test.js +28 -0
- package/tests/unit/src/components/Code/Code.test.js +0 -5
- package/tests/unit/src/components/Code/__snapshots__/Code.test.js.snap +0 -8
- package/tests/unit/src/components/DataSummary/helpers/build-loop-props-content.test.js +0 -9
- package/tests/unit/src/components/Layout/Layout.test.js +1 -1
- package/tests/unit/src/components/Layout/LayoutFactory.test.js +53 -0
- package/tests/unit/src/components/SearchFilter/__snapshots__/SearchFilterContainer.test.js.snap +7 -1
- package/tests/unit/src/components/SearchFilter/helpers/build-new-query.test.js +10 -10
- package/tests/unit/src/components/SearchFilter/helpers/build-query.test.js +7 -24
- package/tests/unit/src/components/SearchFilter/helpers/get-initial-filter-values.test.js +10 -10
- package/tests/unit/src/components/SearchFilterSort/SearchFilterSort.test.js +1 -4
- package/tests/unit/src/components/SearchFilterSort/helpers/handle-sort-update.test.js +19 -26
- package/tests/unit/src/components/SearchFilterSort/helpers/update-sort.test.js +1 -10
- package/tests/unit/src/helpers/build-props-query.test.js +0 -25
- package/tests/unit/src/helpers/get-wrapped-value-with-link.test.js +2 -2
- package/tests/unit/src/helpers/parse-props-to-display.test.js +0 -4
- package/lib/components/Card/helpers/get-updated-items-to-display.js +0 -55
- package/lib/components/Card/helpers/get-updated-items-to-display.js.map +0 -1
- package/lib/components/List/helpers/get-list-query.js +0 -43
- package/lib/components/List/helpers/get-list-query.js.map +0 -1
- package/lib/components/List/helpers/get-list-specific-search-filter.js +0 -21
- package/lib/components/List/helpers/get-list-specific-search-filter.js.map +0 -1
- package/lib/components/List/helpers/strip-query-key.js +0 -14
- package/lib/components/List/helpers/strip-query-key.js.map +0 -1
- package/lib/components/SearchFilter/helpers/build-new-url.js +0 -17
- package/lib/components/SearchFilter/helpers/build-new-url.js.map +0 -1
- package/lib/components/SearchFilter/helpers/build-url-query.js +0 -48
- package/lib/components/SearchFilter/helpers/build-url-query.js.map +0 -1
- package/lib/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js +0 -32
- package/lib/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js.map +0 -1
- package/lib/components/SearchFilter/helpers/get-filter-values.js +0 -31
- package/lib/components/SearchFilter/helpers/get-filter-values.js.map +0 -1
- package/lib/components/SearchFilter/searchFilterReducer.js +0 -45
- package/lib/components/SearchFilter/searchFilterReducer.js.map +0 -1
- package/lib/helpers/build-query-key.js +0 -16
- package/lib/helpers/build-query-key.js.map +0 -1
- package/lib/helpers/process-data-summary-value.js +0 -56
- package/lib/helpers/process-data-summary-value.js.map +0 -1
- package/lib-es/components/Card/helpers/get-updated-items-to-display.js +0 -32
- package/lib-es/components/Card/helpers/get-updated-items-to-display.js.map +0 -1
- package/lib-es/components/List/helpers/get-list-query.js +0 -24
- package/lib-es/components/List/helpers/get-list-query.js.map +0 -1
- package/lib-es/components/List/helpers/get-list-specific-search-filter.js +0 -12
- package/lib-es/components/List/helpers/get-list-specific-search-filter.js.map +0 -1
- package/lib-es/components/List/helpers/strip-query-key.js +0 -6
- package/lib-es/components/List/helpers/strip-query-key.js.map +0 -1
- package/lib-es/components/SearchFilter/helpers/build-new-url.js +0 -8
- package/lib-es/components/SearchFilter/helpers/build-new-url.js.map +0 -1
- package/lib-es/components/SearchFilter/helpers/build-url-query.js +0 -30
- package/lib-es/components/SearchFilter/helpers/build-url-query.js.map +0 -1
- package/lib-es/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js +0 -18
- package/lib-es/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js.map +0 -1
- package/lib-es/components/SearchFilter/helpers/get-filter-values.js +0 -19
- package/lib-es/components/SearchFilter/helpers/get-filter-values.js.map +0 -1
- package/lib-es/components/SearchFilter/searchFilterReducer.js +0 -28
- package/lib-es/components/SearchFilter/searchFilterReducer.js.map +0 -1
- package/lib-es/helpers/build-query-key.js +0 -7
- package/lib-es/helpers/build-query-key.js.map +0 -1
- package/lib-es/helpers/process-data-summary-value.js +0 -36
- package/lib-es/helpers/process-data-summary-value.js.map +0 -1
- package/src/components/Card/helpers/get-updated-items-to-display.js +0 -32
- package/src/components/List/helpers/get-list-query.js +0 -28
- package/src/components/List/helpers/get-list-specific-search-filter.js +0 -10
- package/src/components/List/helpers/strip-query-key.js +0 -6
- package/src/components/SearchFilter/helpers/build-new-url.js +0 -8
- package/src/components/SearchFilter/helpers/build-url-query.js +0 -31
- package/src/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js +0 -17
- package/src/components/SearchFilter/helpers/get-filter-values.js +0 -21
- package/src/components/SearchFilter/searchFilterReducer.js +0 -15
- package/src/helpers/build-query-key.js +0 -7
- package/src/helpers/process-data-summary-value.js +0 -22
- package/tests/unit/src/components/Card/helpers/get-updated-items-to-display.test.js +0 -72
- package/tests/unit/src/helpers/__snapshots__/get-wrapped-value-with-link.test.js.snap +0 -18
- package/tests/unit/src/helpers/prcoess-data-summary-value.test.js +0 -52
|
@@ -3,7 +3,6 @@ import flatten from 'lodash.flatten';
|
|
|
3
3
|
import getLinkToPublishedContent from './get-link-to-published-content';
|
|
4
4
|
import getLoopPropsLimit from './get-loop-props-limit';
|
|
5
5
|
import getPropValue from './get-prop-value';
|
|
6
|
-
import { processDataSummaryValue } from '../../../helpers';
|
|
7
6
|
const getLoopValue = value => {
|
|
8
7
|
const {
|
|
9
8
|
keyField
|
|
@@ -46,9 +45,8 @@ const buildLoopPropsContent = (loopProps = [], propsToDisplay = [], limit = 0, d
|
|
|
46
45
|
const loopValue = loopValues[key];
|
|
47
46
|
const propValue = loopValue ? getLoopValue(loopValue[i]) : regularValues[key];
|
|
48
47
|
if (!propValue) return null;
|
|
49
|
-
const processedValue = processDataSummaryValue(propValue, options);
|
|
50
48
|
const linkToPublishedContent = getLinkToPublishedContent(key, data);
|
|
51
|
-
return [upperFirst(label),
|
|
49
|
+
return [upperFirst(label), propValue, linkToPublishedContent, modifier];
|
|
52
50
|
});
|
|
53
51
|
})).filter(Boolean);
|
|
54
52
|
loopPropsWithContent.push(propsArray);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-loop-props-content.js","names":["upperFirst","flatten","getLinkToPublishedContent","getLoopPropsLimit","getPropValue","
|
|
1
|
+
{"version":3,"file":"build-loop-props-content.js","names":["upperFirst","flatten","getLinkToPublishedContent","getLoopPropsLimit","getPropValue","getLoopValue","value","keyField","separateValues","propsToDisplay","loopProps","data","regularValues","loopValues","forEach","options","propertiesToDisplay","prop","isArrayValue","Array","isArray","isLoopableProp","includes","buildLoopPropsContent","limit","loopPropsWithContent","loopLimit","i","propsArray","map","label","modifier","key","loopValue","propValue","linkToPublishedContent","filter","Boolean","push"],"sources":["../../../../src/components/DataSummary/helpers/build-loop-props-content.js"],"sourcesContent":["import upperFirst from 'lodash.upperfirst';\nimport flatten from 'lodash.flatten';\nimport getLinkToPublishedContent from './get-link-to-published-content';\nimport getLoopPropsLimit from './get-loop-props-limit';\nimport getPropValue from './get-prop-value';\n\nconst getLoopValue = value => {\n const { keyField } = value;\n return value[keyField];\n};\n\nconst separateValues = (propsToDisplay, loopProps, data) => {\n const regularValues = {};\n const loopValues = {};\n\n propsToDisplay.forEach(options => {\n const { propertiesToDisplay } = options;\n propertiesToDisplay.forEach(prop => {\n const value = getPropValue(prop, data, options);\n const isArrayValue = Array.isArray(value);\n if (!value) return;\n const isLoopableProp = loopProps.includes(prop) && isArrayValue;\n\n if (isLoopableProp) {\n loopValues[prop] = value;\n } else {\n regularValues[prop] = value;\n }\n });\n });\n return [regularValues, loopValues];\n};\n\nconst buildLoopPropsContent = (loopProps = [], propsToDisplay = [], limit = 0, data = {}) => {\n const loopPropsWithContent = [];\n const [regularValues, loopValues] = separateValues(propsToDisplay, loopProps, data);\n\n const loopLimit = getLoopPropsLimit(loopValues, limit);\n\n for (let i = 0; i < loopLimit; i += 1) {\n const propsArray = flatten(\n propsToDisplay.map(options => {\n const { propertiesToDisplay, label, modifier = '' } = options;\n\n return propertiesToDisplay.map(key => {\n const loopValue = loopValues[key];\n const propValue = loopValue ? getLoopValue(loopValue[i]) : regularValues[key];\n if (!propValue) return null;\n const linkToPublishedContent = getLinkToPublishedContent(key, data);\n return [upperFirst(label), propValue, linkToPublishedContent, modifier];\n });\n })\n ).filter(Boolean);\n loopPropsWithContent.push(propsArray);\n }\n\n return flatten(loopPropsWithContent);\n};\n\nexport default buildLoopPropsContent;\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,mBAAmB;AAC1C,OAAOC,OAAO,MAAM,gBAAgB;AACpC,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,YAAY,MAAM,kBAAkB;AAE3C,MAAMC,YAAY,GAAGC,KAAK,IAAI;EAC5B,MAAM;IAAEC;EAAS,CAAC,GAAGD,KAAK;EAC1B,OAAOA,KAAK,CAACC,QAAQ,CAAC;AACxB,CAAC;AAED,MAAMC,cAAc,GAAGA,CAACC,cAAc,EAAEC,SAAS,EAAEC,IAAI,KAAK;EAC1D,MAAMC,aAAa,GAAG,CAAC,CAAC;EACxB,MAAMC,UAAU,GAAG,CAAC,CAAC;EAErBJ,cAAc,CAACK,OAAO,CAACC,OAAO,IAAI;IAChC,MAAM;MAAEC;IAAoB,CAAC,GAAGD,OAAO;IACvCC,mBAAmB,CAACF,OAAO,CAACG,IAAI,IAAI;MAClC,MAAMX,KAAK,GAAGF,YAAY,CAACa,IAAI,EAAEN,IAAI,EAAEI,OAAO,CAAC;MAC/C,MAAMG,YAAY,GAAGC,KAAK,CAACC,OAAO,CAACd,KAAK,CAAC;MACzC,IAAI,CAACA,KAAK,EAAE;MACZ,MAAMe,cAAc,GAAGX,SAAS,CAACY,QAAQ,CAACL,IAAI,CAAC,IAAIC,YAAY;MAE/D,IAAIG,cAAc,EAAE;QAClBR,UAAU,CAACI,IAAI,CAAC,GAAGX,KAAK;MAC1B,CAAC,MAAM;QACLM,aAAa,CAACK,IAAI,CAAC,GAAGX,KAAK;MAC7B;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAO,CAACM,aAAa,EAAEC,UAAU,CAAC;AACpC,CAAC;AAED,MAAMU,qBAAqB,GAAGA,CAACb,SAAS,GAAG,EAAE,EAAED,cAAc,GAAG,EAAE,EAAEe,KAAK,GAAG,CAAC,EAAEb,IAAI,GAAG,CAAC,CAAC,KAAK;EAC3F,MAAMc,oBAAoB,GAAG,EAAE;EAC/B,MAAM,CAACb,aAAa,EAAEC,UAAU,CAAC,GAAGL,cAAc,CAACC,cAAc,EAAEC,SAAS,EAAEC,IAAI,CAAC;EAEnF,MAAMe,SAAS,GAAGvB,iBAAiB,CAACU,UAAU,EAAEW,KAAK,CAAC;EAEtD,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,SAAS,EAAEC,CAAC,IAAI,CAAC,EAAE;IACrC,MAAMC,UAAU,GAAG3B,OAAO,CACxBQ,cAAc,CAACoB,GAAG,CAACd,OAAO,IAAI;MAC5B,MAAM;QAAEC,mBAAmB;QAAEc,KAAK;QAAEC,QAAQ,GAAG;MAAG,CAAC,GAAGhB,OAAO;MAE7D,OAAOC,mBAAmB,CAACa,GAAG,CAACG,GAAG,IAAI;QACpC,MAAMC,SAAS,GAAGpB,UAAU,CAACmB,GAAG,CAAC;QACjC,MAAME,SAAS,GAAGD,SAAS,GAAG5B,YAAY,CAAC4B,SAAS,CAACN,CAAC,CAAC,CAAC,GAAGf,aAAa,CAACoB,GAAG,CAAC;QAC7E,IAAI,CAACE,SAAS,EAAE,OAAO,IAAI;QAC3B,MAAMC,sBAAsB,GAAGjC,yBAAyB,CAAC8B,GAAG,EAAErB,IAAI,CAAC;QACnE,OAAO,CAACX,UAAU,CAAC8B,KAAK,CAAC,EAAEI,SAAS,EAAEC,sBAAsB,EAAEJ,QAAQ,CAAC;MACzE,CAAC,CAAC;IACJ,CAAC,CACH,CAAC,CAACK,MAAM,CAACC,OAAO,CAAC;IACjBZ,oBAAoB,CAACa,IAAI,CAACV,UAAU,CAAC;EACvC;EAEA,OAAO3B,OAAO,CAACwB,oBAAoB,CAAC;AACtC,CAAC;AAED,eAAeF,qBAAqB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import upperFirst from 'lodash.upperfirst';
|
|
2
2
|
import flatten from 'lodash.flatten';
|
|
3
|
-
import { isObject
|
|
3
|
+
import { isObject } from '../../../helpers';
|
|
4
4
|
import getLinkToPublishedContent from './get-link-to-published-content';
|
|
5
5
|
import getPropValue from './get-prop-value';
|
|
6
6
|
import getLinkBasedOnValue from './get-link-based-on-value';
|
|
@@ -25,9 +25,8 @@ const buildPropsToDisplayWithContent = (props, propsToDisplay = []) => {
|
|
|
25
25
|
if (!key) return null;
|
|
26
26
|
const objPropValue = getPropValue(key, props, options);
|
|
27
27
|
if (!objPropValue) return null;
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
return [upperFirst(label), processedValue, link, modifier];
|
|
28
|
+
const link = getLink(enableLink, key, props, objPropValue);
|
|
29
|
+
return [upperFirst(label), objPropValue, link, modifier];
|
|
31
30
|
});
|
|
32
31
|
})).filter(Boolean);
|
|
33
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-props-to-display-with-content.js","names":["upperFirst","flatten","isObject","
|
|
1
|
+
{"version":3,"file":"build-props-to-display-with-content.js","names":["upperFirst","flatten","isObject","getLinkToPublishedContent","getPropValue","getLinkBasedOnValue","buildPropsToDisplayWithContent","props","propsToDisplay","map","key","propValue","propName","split","join","filter","Boolean","options","propertiesToDisplay","label","modifier","enableLink","objPropValue","link","getLink"],"sources":["../../../../src/components/DataSummary/helpers/build-props-to-display-with-content.js"],"sourcesContent":["import upperFirst from 'lodash.upperfirst';\nimport flatten from 'lodash.flatten';\nimport { isObject } from '../../../helpers';\nimport getLinkToPublishedContent from './get-link-to-published-content';\nimport getPropValue from './get-prop-value';\nimport getLinkBasedOnValue from './get-link-based-on-value';\n\nconst buildPropsToDisplayWithContent = (props, propsToDisplay = []) => {\n if (!isObject(propsToDisplay[0])) {\n return propsToDisplay\n .map(key => {\n if (!key) return null;\n const propValue = getPropValue(key, props);\n if (!propValue) return null;\n const propName = key.split('.').join(' ');\n return [upperFirst(propName), propValue, '', ''];\n })\n .filter(Boolean);\n }\n\n return flatten(\n propsToDisplay.map(options => {\n const { propertiesToDisplay, label, modifier = '', enableLink } = options;\n return propertiesToDisplay.map(key => {\n if (!key) return null;\n\n const objPropValue = getPropValue(key, props, options);\n if (!objPropValue) return null;\n\n const link = getLink(enableLink, key, props, objPropValue);\n\n return [upperFirst(label), objPropValue, link, modifier];\n });\n })\n ).filter(Boolean);\n};\n\nexport default buildPropsToDisplayWithContent;\nfunction getLink(enableLink, key, props, objPropValue) {\n let link = '';\n if (enableLink) {\n link = getLinkToPublishedContent(key, props);\n if (!link) {\n link = getLinkBasedOnValue(objPropValue);\n }\n }\n return link;\n}\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,mBAAmB;AAC1C,OAAOC,OAAO,MAAM,gBAAgB;AACpC,SAASC,QAAQ,QAAQ,kBAAkB;AAC3C,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,mBAAmB,MAAM,2BAA2B;AAE3D,MAAMC,8BAA8B,GAAGA,CAACC,KAAK,EAAEC,cAAc,GAAG,EAAE,KAAK;EACrE,IAAI,CAACN,QAAQ,CAACM,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;IAChC,OAAOA,cAAc,CAClBC,GAAG,CAACC,GAAG,IAAI;MACV,IAAI,CAACA,GAAG,EAAE,OAAO,IAAI;MACrB,MAAMC,SAAS,GAAGP,YAAY,CAACM,GAAG,EAAEH,KAAK,CAAC;MAC1C,IAAI,CAACI,SAAS,EAAE,OAAO,IAAI;MAC3B,MAAMC,QAAQ,GAAGF,GAAG,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;MACzC,OAAO,CAACd,UAAU,CAACY,QAAQ,CAAC,EAAED,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC,CAAC,CACDI,MAAM,CAACC,OAAO,CAAC;EACpB;EAEA,OAAOf,OAAO,CACZO,cAAc,CAACC,GAAG,CAACQ,OAAO,IAAI;IAC5B,MAAM;MAAEC,mBAAmB;MAAEC,KAAK;MAAEC,QAAQ,GAAG,EAAE;MAAEC;IAAW,CAAC,GAAGJ,OAAO;IACzE,OAAOC,mBAAmB,CAACT,GAAG,CAACC,GAAG,IAAI;MACpC,IAAI,CAACA,GAAG,EAAE,OAAO,IAAI;MAErB,MAAMY,YAAY,GAAGlB,YAAY,CAACM,GAAG,EAAEH,KAAK,EAAEU,OAAO,CAAC;MACtD,IAAI,CAACK,YAAY,EAAE,OAAO,IAAI;MAE9B,MAAMC,IAAI,GAAGC,OAAO,CAACH,UAAU,EAAEX,GAAG,EAAEH,KAAK,EAAEe,YAAY,CAAC;MAE1D,OAAO,CAACtB,UAAU,CAACmB,KAAK,CAAC,EAAEG,YAAY,EAAEC,IAAI,EAAEH,QAAQ,CAAC;IAC1D,CAAC,CAAC;EACJ,CAAC,CACH,CAAC,CAACL,MAAM,CAACC,OAAO,CAAC;AACnB,CAAC;AAED,eAAeV,8BAA8B;AAC7C,SAASkB,OAAOA,CAACH,UAAU,EAAEX,GAAG,EAAEH,KAAK,EAAEe,YAAY,EAAE;EACrD,IAAIC,IAAI,GAAG,EAAE;EACb,IAAIF,UAAU,EAAE;IACdE,IAAI,GAAGpB,yBAAyB,CAACO,GAAG,EAAEH,KAAK,CAAC;IAC5C,IAAI,CAACgB,IAAI,EAAE;MACTA,IAAI,GAAGlB,mBAAmB,CAACiB,YAAY,CAAC;IAC1C;EACF;EACA,OAAOC,IAAI;AACb"}
|
|
@@ -12,7 +12,7 @@ import { useGetImages } from '../../hooks';
|
|
|
12
12
|
import { getStylesToUpdate, checkIfRowHasColumns } from './helpers';
|
|
13
13
|
import { renderChildren, hasChildren } from '../../helpers';
|
|
14
14
|
import { COLUMN } from '../../constants';
|
|
15
|
-
const Layout = _ref => {
|
|
15
|
+
const Layout = React.forwardRef((_ref, ref) => {
|
|
16
16
|
let {
|
|
17
17
|
type,
|
|
18
18
|
children,
|
|
@@ -44,6 +44,7 @@ const Layout = _ref => {
|
|
|
44
44
|
const otherWrapperProps = {};
|
|
45
45
|
if (dataNoSnippet) otherWrapperProps['data-nosnippet'] = true;
|
|
46
46
|
return /*#__PURE__*/React.createElement(Wrapper, _extends({
|
|
47
|
+
ref: ref,
|
|
47
48
|
tagType: tagType,
|
|
48
49
|
className: type,
|
|
49
50
|
modifiers: `${classModifiers}${additionalRowModifier}`,
|
|
@@ -51,7 +52,7 @@ const Layout = _ref => {
|
|
|
51
52
|
}, otherWrapperProps), title && /*#__PURE__*/React.createElement("h2", {
|
|
52
53
|
className: "heading heading--section"
|
|
53
54
|
}, title), renderChildren(children, otherProps));
|
|
54
|
-
};
|
|
55
|
+
});
|
|
55
56
|
Layout.propTypes = {
|
|
56
57
|
type: PropTypes.string.isRequired,
|
|
57
58
|
settings: PropTypes.shape({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.js","names":["React","PropTypes","Wrapper","getClassModifiers","useGetImages","getStylesToUpdate","checkIfRowHasColumns","renderChildren","hasChildren","COLUMN","Layout","_ref","type","children","settings","modifier","backgroundImage","tagType","dataNoSnippet","otherProps","_objectWithoutProperties","_excluded","data","getFile","url","style","title","classModifiers","_objectSpread","additionalRowModifier","otherWrapperProps","createElement","_extends","className","modifiers","propTypes","string","isRequired","shape","bool","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Layout/Layout.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Wrapper from '../Wrapper';\nimport { getClassModifiers } from '../../utils';\nimport { useGetImages } from '../../hooks';\nimport { getStylesToUpdate, checkIfRowHasColumns } from './helpers';\nimport { renderChildren, hasChildren } from '../../helpers';\nimport { COLUMN } from '../../constants';\n\nconst Layout = (
|
|
1
|
+
{"version":3,"file":"Layout.js","names":["React","PropTypes","Wrapper","getClassModifiers","useGetImages","getStylesToUpdate","checkIfRowHasColumns","renderChildren","hasChildren","COLUMN","Layout","forwardRef","_ref","ref","type","children","settings","modifier","backgroundImage","tagType","dataNoSnippet","otherProps","_objectWithoutProperties","_excluded","data","getFile","url","style","title","classModifiers","_objectSpread","additionalRowModifier","otherWrapperProps","createElement","_extends","className","modifiers","propTypes","string","isRequired","shape","bool","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Layout/Layout.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Wrapper from '../Wrapper';\nimport { getClassModifiers } from '../../utils';\nimport { useGetImages } from '../../hooks';\nimport { getStylesToUpdate, checkIfRowHasColumns } from './helpers';\nimport { renderChildren, hasChildren } from '../../helpers';\nimport { COLUMN } from '../../constants';\n\nconst Layout = React.forwardRef(\n (\n { type, children, settings, modifier, backgroundImage, tagType, dataNoSnippet, ...otherProps },\n ref\n ) => {\n const {\n data: { getFile: { url = null } = {} }\n } = useGetImages(backgroundImage);\n\n const style = getStylesToUpdate({ backgroundImage: url });\n const { title } = settings;\n\n const classModifiers = getClassModifiers(type, { modifier, ...otherProps });\n const additionalRowModifier = checkIfRowHasColumns(type, children) ? ' display-row' : '';\n\n if (type === COLUMN && !hasChildren(children)) return null;\n\n const otherWrapperProps = {};\n if (dataNoSnippet) otherWrapperProps['data-nosnippet'] = true;\n\n return (\n <Wrapper\n ref={ref}\n tagType={tagType}\n className={type}\n modifiers={`${classModifiers}${additionalRowModifier}`}\n style={style}\n {...otherWrapperProps}>\n {title && <h2 className=\"heading heading--section\">{title}</h2>}\n {renderChildren(children, otherProps)}\n </Wrapper>\n );\n }\n);\n\nLayout.propTypes = {\n type: PropTypes.string.isRequired,\n settings: PropTypes.shape({\n title: PropTypes.string\n }),\n modifier: PropTypes.string,\n backgroundImage: PropTypes.string,\n tagType: PropTypes.string,\n dataNoSnippet: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nLayout.defaultProps = {\n settings: {\n title: ''\n },\n backgroundImage: '',\n modifier: '',\n tagType: '',\n dataNoSnippet: false\n};\n\nexport default Layout;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import dynamic from 'next/dynamic';
|
|
3
|
+
import Layout from './Layout';
|
|
4
|
+
const LayoutWithStickyTimer = dynamic(() => import( /* webpackChunkName: "blazePbLayoutWithStickyTimer" */'./LayoutWithStickyTimer'));
|
|
5
|
+
const LayoutFactory = props => {
|
|
6
|
+
const {
|
|
7
|
+
sticky,
|
|
8
|
+
stickyTimer
|
|
9
|
+
} = props;
|
|
10
|
+
if (sticky && stickyTimer) return /*#__PURE__*/React.createElement(LayoutWithStickyTimer, props);
|
|
11
|
+
return /*#__PURE__*/React.createElement(Layout, props);
|
|
12
|
+
};
|
|
13
|
+
export default LayoutFactory;
|
|
14
|
+
//# sourceMappingURL=LayoutFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayoutFactory.js","names":["React","dynamic","Layout","LayoutWithStickyTimer","LayoutFactory","props","sticky","stickyTimer","createElement"],"sources":["../../../src/components/Layout/LayoutFactory.js"],"sourcesContent":["import React from 'react';\nimport dynamic from 'next/dynamic';\nimport Layout from './Layout';\n\nconst LayoutWithStickyTimer = dynamic(() =>\n import(/* webpackChunkName: \"blazePbLayoutWithStickyTimer\" */ './LayoutWithStickyTimer')\n);\n\nconst LayoutFactory = props => {\n const { sticky, stickyTimer } = props;\n\n if (sticky && stickyTimer) return <LayoutWithStickyTimer {...props} />;\n\n return <Layout {...props} />;\n};\n\nexport default LayoutFactory;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,OAAO,MAAM,cAAc;AAClC,OAAOC,MAAM,MAAM,UAAU;AAE7B,MAAMC,qBAAqB,GAAGF,OAAO,CAAC,MACpC,MAAM,EAAC,sDAAuD,yBAAyB,CACzF,CAAC;AAED,MAAMG,aAAa,GAAGC,KAAK,IAAI;EAC7B,MAAM;IAAEC,MAAM;IAAEC;EAAY,CAAC,GAAGF,KAAK;EAErC,IAAIC,MAAM,IAAIC,WAAW,EAAE,oBAAOP,KAAA,CAAAQ,aAAA,CAACL,qBAAqB,EAAKE,KAAQ,CAAC;EAEtE,oBAAOL,KAAA,CAAAQ,aAAA,CAACN,MAAM,EAAKG,KAAQ,CAAC;AAC9B,CAAC;AAED,eAAeD,aAAa"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
const _excluded = ["sticky", "stickyTimer"];
|
|
4
|
+
import React, { useEffect, useState } from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import { useInView } from '@blaze-react/utils/lib/customHooks';
|
|
7
|
+
import recreateOnNavigation from '../../HOC/recreateOnNavigation';
|
|
8
|
+
import Layout from './Layout';
|
|
9
|
+
const LayoutWithStickyTimer = _ref => {
|
|
10
|
+
let {
|
|
11
|
+
sticky,
|
|
12
|
+
stickyTimer
|
|
13
|
+
} = _ref,
|
|
14
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
15
|
+
const [isIntersecting, outerRef] = useInView({});
|
|
16
|
+
const [isSticky, setIsSticky] = useState(sticky);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (isIntersecting && sticky && !!stickyTimer) {
|
|
19
|
+
setIsSticky(true);
|
|
20
|
+
const timer = setTimeout(() => {
|
|
21
|
+
setIsSticky(false);
|
|
22
|
+
}, stickyTimer);
|
|
23
|
+
return () => {
|
|
24
|
+
clearTimeout(timer);
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}, [isIntersecting, stickyTimer, sticky]);
|
|
28
|
+
return /*#__PURE__*/React.createElement(Layout, _extends({}, otherProps, {
|
|
29
|
+
sticky: isSticky,
|
|
30
|
+
ref: sticky ? outerRef : null
|
|
31
|
+
}));
|
|
32
|
+
};
|
|
33
|
+
LayoutWithStickyTimer.propTypes = {
|
|
34
|
+
sticky: PropTypes.bool,
|
|
35
|
+
stickyTimer: PropTypes.number
|
|
36
|
+
};
|
|
37
|
+
LayoutWithStickyTimer.defaultProps = {
|
|
38
|
+
sticky: false,
|
|
39
|
+
stickyTimer: 0
|
|
40
|
+
};
|
|
41
|
+
export default recreateOnNavigation(LayoutWithStickyTimer);
|
|
42
|
+
//# sourceMappingURL=LayoutWithStickyTimer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayoutWithStickyTimer.js","names":["React","useEffect","useState","PropTypes","useInView","recreateOnNavigation","Layout","LayoutWithStickyTimer","_ref","sticky","stickyTimer","otherProps","_objectWithoutProperties","_excluded","isIntersecting","outerRef","isSticky","setIsSticky","timer","setTimeout","clearTimeout","createElement","_extends","ref","propTypes","bool","number","defaultProps"],"sources":["../../../src/components/Layout/LayoutWithStickyTimer.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport recreateOnNavigation from '../../HOC/recreateOnNavigation';\nimport Layout from './Layout';\n\nconst LayoutWithStickyTimer = ({ sticky, stickyTimer, ...otherProps }) => {\n const [isIntersecting, outerRef] = useInView({});\n const [isSticky, setIsSticky] = useState(sticky);\n\n useEffect(\n () => {\n if (isIntersecting && sticky && !!stickyTimer) {\n setIsSticky(true);\n const timer = setTimeout(() => {\n setIsSticky(false);\n }, stickyTimer);\n\n return () => {\n clearTimeout(timer);\n };\n }\n },\n [isIntersecting, stickyTimer, sticky]\n );\n\n return <Layout {...otherProps} sticky={isSticky} ref={sticky ? outerRef : null} />;\n};\n\nLayoutWithStickyTimer.propTypes = {\n sticky: PropTypes.bool,\n stickyTimer: PropTypes.number\n};\n\nLayoutWithStickyTimer.defaultProps = {\n sticky: false,\n stickyTimer: 0\n};\n\nexport default recreateOnNavigation(LayoutWithStickyTimer);\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,oCAAoC;AAC9D,OAAOC,oBAAoB,MAAM,gCAAgC;AACjE,OAAOC,MAAM,MAAM,UAAU;AAE7B,MAAMC,qBAAqB,GAAGC,IAAA,IAA4C;EAAA,IAA3C;MAAEC,MAAM;MAAEC;IAA2B,CAAC,GAAAF,IAAA;IAAZG,UAAU,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EACjE,MAAM,CAACC,cAAc,EAAEC,QAAQ,CAAC,GAAGX,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD,MAAM,CAACY,QAAQ,EAAEC,WAAW,CAAC,GAAGf,QAAQ,CAACO,MAAM,CAAC;EAEhDR,SAAS,CACP,MAAM;IACJ,IAAIa,cAAc,IAAIL,MAAM,IAAI,CAAC,CAACC,WAAW,EAAE;MAC7CO,WAAW,CAAC,IAAI,CAAC;MACjB,MAAMC,KAAK,GAAGC,UAAU,CAAC,MAAM;QAC7BF,WAAW,CAAC,KAAK,CAAC;MACpB,CAAC,EAAEP,WAAW,CAAC;MAEf,OAAO,MAAM;QACXU,YAAY,CAACF,KAAK,CAAC;MACrB,CAAC;IACH;EACF,CAAC,EACD,CAACJ,cAAc,EAAEJ,WAAW,EAAED,MAAM,CACtC,CAAC;EAED,oBAAOT,KAAA,CAAAqB,aAAA,CAACf,MAAM,EAAAgB,QAAA,KAAKX,UAAU;IAAEF,MAAM,EAAEO,QAAS;IAACO,GAAG,EAAEd,MAAM,GAAGM,QAAQ,GAAG;EAAK,EAAE,CAAC;AACpF,CAAC;AAEDR,qBAAqB,CAACiB,SAAS,GAAG;EAChCf,MAAM,EAAEN,SAAS,CAACsB,IAAI;EACtBf,WAAW,EAAEP,SAAS,CAACuB;AACzB,CAAC;AAEDnB,qBAAqB,CAACoB,YAAY,GAAG;EACnClB,MAAM,EAAE,KAAK;EACbC,WAAW,EAAE;AACf,CAAC;AAED,eAAeL,oBAAoB,CAACE,qBAAqB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default
|
|
1
|
+
import LayoutFactory from './LayoutFactory';
|
|
2
|
+
export default LayoutFactory;
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["LayoutFactory"],"sources":["../../../src/components/Layout/index.js"],"sourcesContent":["import LayoutFactory from './LayoutFactory';\n\nexport default LayoutFactory;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,iBAAiB;AAE3C,eAAeA,aAAa"}
|
|
@@ -10,7 +10,7 @@ import { MainContext } from '@blaze-cms/nextjs-components';
|
|
|
10
10
|
import { generateSingleItemQuery, getItemList } from '../../application/query';
|
|
11
11
|
import ListBuilder from './ListBuilder';
|
|
12
12
|
import { AZ_LIST_TYPE } from './constants';
|
|
13
|
-
import { getAzQueryFilter, getSortProps, hasRequiredItemListDetails
|
|
13
|
+
import { getAzQueryFilter, getSortProps, hasRequiredItemListDetails } from './helpers';
|
|
14
14
|
import { getGenericProps, getRequiredSchemas, checkForError, getUnpublishedEntityName, getPaginationIndex, getSearchFilterType, getElasticsearchOperator, buildSearchValuesText, getQueryFilters, getInheritedFilters, getQueryProps } from '../../helpers';
|
|
15
15
|
import { getItemListId, getItemListIds } from '../ItemList/helpers';
|
|
16
16
|
import { useGetEntitySchemasAsObj } from '../../hooks';
|
|
@@ -27,7 +27,7 @@ const ListFactory = props => {
|
|
|
27
27
|
type,
|
|
28
28
|
sortby: defaultSortBy,
|
|
29
29
|
sort: defaultSort,
|
|
30
|
-
|
|
30
|
+
searchFilter,
|
|
31
31
|
operator: filterOperator,
|
|
32
32
|
sortProperties,
|
|
33
33
|
itemListName
|
|
@@ -40,19 +40,15 @@ const ListFactory = props => {
|
|
|
40
40
|
asPath
|
|
41
41
|
} = router;
|
|
42
42
|
const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');
|
|
43
|
-
const [searchFilter, hasListSpecificFilters] = getListSpecificSearchFilter(allSearchFilters, name);
|
|
44
43
|
const {
|
|
45
44
|
query,
|
|
46
45
|
url,
|
|
47
46
|
query: {
|
|
47
|
+
sort: querySort,
|
|
48
|
+
sortby: querySortBy,
|
|
48
49
|
itemListId: queryItemListId
|
|
49
50
|
} = {}
|
|
50
51
|
} = parseUrl(parsedQuery);
|
|
51
|
-
const updatedQuery = getListQuery(query, hasListSpecificFilters, name);
|
|
52
|
-
const {
|
|
53
|
-
sort: querySort,
|
|
54
|
-
sortby: querySortBy
|
|
55
|
-
} = updatedQuery;
|
|
56
52
|
const {
|
|
57
53
|
sortbyFilters,
|
|
58
54
|
updatedSortProperties
|
|
@@ -69,8 +65,8 @@ const ListFactory = props => {
|
|
|
69
65
|
itemId: parentId
|
|
70
66
|
} = parent;
|
|
71
67
|
const updatedParentEntity = getUnpublishedEntityName(parentEntity);
|
|
72
|
-
const paginationIndex = getPaginationIndex(
|
|
73
|
-
const azFilter = getAzQueryFilter(
|
|
68
|
+
const paginationIndex = getPaginationIndex(query, name);
|
|
69
|
+
const azFilter = getAzQueryFilter(query, name);
|
|
74
70
|
const entitiesToUse = entities && entities.length ? entities : [legacyEntity];
|
|
75
71
|
const [filterEntity] = entitiesToUse;
|
|
76
72
|
const {
|
|
@@ -135,19 +131,19 @@ const ListFactory = props => {
|
|
|
135
131
|
const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);
|
|
136
132
|
const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;
|
|
137
133
|
const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;
|
|
138
|
-
const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter,
|
|
134
|
+
const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter, query) : [];
|
|
139
135
|
const {
|
|
140
136
|
valuesAnd,
|
|
141
137
|
valuesOr
|
|
142
|
-
} = getQueryFilters(searchFilter,
|
|
143
|
-
const isTextSearchFilterApplied = !!(
|
|
138
|
+
} = getQueryFilters(searchFilter, query);
|
|
139
|
+
const isTextSearchFilterApplied = !!(query.search_term && searchFilter && getSearchFilterType(searchFilter, TEXT_SEARCH).length);
|
|
144
140
|
const searchValues = {
|
|
145
141
|
searchValuesText: valuesText,
|
|
146
142
|
searchValuesCheckboxSelectRange: valuesAnd,
|
|
147
143
|
searchValuesCheckboxOr: valuesOr
|
|
148
144
|
};
|
|
149
145
|
const listProps = _objectSpread(_objectSpread(_objectSpread({}, props), genericProps), {}, {
|
|
150
|
-
query
|
|
146
|
+
query,
|
|
151
147
|
url,
|
|
152
148
|
isCard,
|
|
153
149
|
isAZ,
|
|
@@ -185,7 +181,7 @@ ListFactory.propTypes = {
|
|
|
185
181
|
name: PropTypes.string,
|
|
186
182
|
sortby: PropTypes.array,
|
|
187
183
|
sort: PropTypes.string,
|
|
188
|
-
|
|
184
|
+
searchFilter: PropTypes.object,
|
|
189
185
|
sortProperties: PropTypes.array,
|
|
190
186
|
itemListName: PropTypes.string
|
|
191
187
|
};
|
|
@@ -200,7 +196,7 @@ ListFactory.defaultProps = {
|
|
|
200
196
|
sortProperties: [],
|
|
201
197
|
sort: '',
|
|
202
198
|
operator: AND,
|
|
203
|
-
|
|
199
|
+
searchFilter: {},
|
|
204
200
|
itemListName: ''
|
|
205
201
|
};
|
|
206
202
|
export default ListFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListFactory.js","names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","generateSingleItemQuery","getItemList","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getSortProps","hasRequiredItemListDetails","getListSpecificSearchFilter","getListQuery","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","getItemListId","getItemListIds","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","ListFactory","props","entity","legacyEntity","entities","parent","name","filterByProperty","filterBy","omitWrappers","type","sortby","defaultSortBy","sort","defaultSort","allSearchFilters","operator","filterOperator","sortProperties","itemListName","isPreview","router","asPath","parsedQuery","replace","searchFilter","hasListSpecificFilters","query","url","itemListId","queryItemListId","updatedQuery","querySort","querySortBy","sortbyFilters","updatedSortProperties","itemEntity","parentEntity","itemId","parentId","updatedParentEntity","paginationIndex","azFilter","entitiesToUse","length","filterEntity","data","mainSchemas","loading","schemasLoading","error","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","variables","id","skip","itemListData","itemListError","itemListLoading","errorsToCheck","hasErr","errMsg","itemListIds","isCard","includes","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","isTextSearchFilterApplied","search_term","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","_objectSpread","createElement","propTypes","object","isRequired","string","array","bool","defaultProps"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery, getItemList } from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport {\n getAzQueryFilter,\n getSortProps,\n hasRequiredItemListDetails,\n getListSpecificSearchFilter,\n getListQuery\n} from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nconst ListFactory = props => {\n const {\n entity: legacyEntity,\n entities,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n allSearchFilters,\n operator: filterOperator,\n sortProperties,\n itemListName\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const [searchFilter, hasListSpecificFilters] = getListSpecificSearchFilter(\n allSearchFilters,\n name\n );\n const { query, url, query: { itemListId: queryItemListId } = {} } = parseUrl(parsedQuery);\n const updatedQuery = getListQuery(query, hasListSpecificFilters, name);\n const { sort: querySort, sortby: querySortBy } = updatedQuery;\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity: parentEntity, itemId: parentId } = parent;\n const updatedParentEntity = getUnpublishedEntityName(parentEntity);\n const paginationIndex = getPaginationIndex(updatedQuery, name);\n const azFilter = getAzQueryFilter(updatedQuery, name);\n\n const entitiesToUse = entities && entities.length ? entities : [legacyEntity];\n const [filterEntity] = entitiesToUse;\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([updatedParentEntity, ...entitiesToUse]);\n\n const {\n [updatedParentEntity]: currentSchema = {},\n [filterEntity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const { data: itemListData = {}, error: itemListError, loading: itemListLoading } = useQuery(\n getItemList,\n {\n variables: { id: itemListId },\n skip: !itemListId\n }\n );\n\n if (!hasRequiredItemListDetails({ itemListName, router, itemListId, queryItemListId })) return '';\n\n const errorsToCheck = [schemasError, requiredSchemaError, itemQueryError, itemListError];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (requiredSchemaLoading || schemasLoading || itemQueryLoading || itemListLoading) return '';\n if (hasErr) return errMsg;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = !type.includes(FULL);\n const isAZ = type.includes(AZ_LIST_TYPE);\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter\n ? buildSearchValuesText(textFilter, updatedQuery, name)\n : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, updatedQuery, name);\n const isTextSearchFilterApplied = !!(\n updatedQuery.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query: updatedQuery,\n url,\n isCard,\n isAZ,\n router,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n isTextSearchFilterApplied,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds,\n entities: entitiesToUse,\n mainSchemas\n };\n\n return <ListBuilder {...listProps} />;\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string.isRequired,\n entity: PropTypes.string,\n entities: PropTypes.array,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n allSearchFilters: PropTypes.array,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string\n};\n\nListFactory.defaultProps = {\n entity: '',\n entities: [],\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n allSearchFilters: [],\n itemListName: ''\n};\n\nexport default ListFactory;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListFactory.js","names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","generateSingleItemQuery","getItemList","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getSortProps","hasRequiredItemListDetails","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","getItemListId","getItemListIds","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","ListFactory","props","entity","legacyEntity","entities","parent","name","filterByProperty","filterBy","omitWrappers","type","sortby","defaultSortBy","sort","defaultSort","searchFilter","operator","filterOperator","sortProperties","itemListName","isPreview","router","asPath","parsedQuery","replace","query","url","querySort","querySortBy","itemListId","queryItemListId","sortbyFilters","updatedSortProperties","itemEntity","parentEntity","itemId","parentId","updatedParentEntity","paginationIndex","azFilter","entitiesToUse","length","filterEntity","data","mainSchemas","loading","schemasLoading","error","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","variables","id","skip","itemListData","itemListError","itemListLoading","errorsToCheck","hasErr","errMsg","itemListIds","isCard","includes","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","isTextSearchFilterApplied","search_term","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","_objectSpread","createElement","propTypes","object","isRequired","string","array","bool","defaultProps"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery, getItemList } from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport { getAzQueryFilter, getSortProps, hasRequiredItemListDetails } from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nconst ListFactory = props => {\n const {\n entity: legacyEntity,\n entities,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n searchFilter,\n operator: filterOperator,\n sortProperties,\n itemListName\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const {\n query,\n url,\n query: { sort: querySort, sortby: querySortBy, itemListId: queryItemListId } = {}\n } = parseUrl(parsedQuery);\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity: parentEntity, itemId: parentId } = parent;\n const updatedParentEntity = getUnpublishedEntityName(parentEntity);\n const paginationIndex = getPaginationIndex(query, name);\n const azFilter = getAzQueryFilter(query, name);\n\n const entitiesToUse = entities && entities.length ? entities : [legacyEntity];\n const [filterEntity] = entitiesToUse;\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([updatedParentEntity, ...entitiesToUse]);\n\n const {\n [updatedParentEntity]: currentSchema = {},\n [filterEntity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const { data: itemListData = {}, error: itemListError, loading: itemListLoading } = useQuery(\n getItemList,\n {\n variables: { id: itemListId },\n skip: !itemListId\n }\n );\n\n if (!hasRequiredItemListDetails({ itemListName, router, itemListId, queryItemListId })) return '';\n\n const errorsToCheck = [schemasError, requiredSchemaError, itemQueryError, itemListError];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (requiredSchemaLoading || schemasLoading || itemQueryLoading || itemListLoading) return '';\n if (hasErr) return errMsg;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = !type.includes(FULL);\n const isAZ = type.includes(AZ_LIST_TYPE);\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter, query) : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, query);\n const isTextSearchFilterApplied = !!(\n query.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query,\n url,\n isCard,\n isAZ,\n router,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n isTextSearchFilterApplied,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds,\n entities: entitiesToUse,\n mainSchemas\n };\n\n return <ListBuilder {...listProps} />;\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string.isRequired,\n entity: PropTypes.string,\n entities: PropTypes.array,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n searchFilter: PropTypes.object,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string\n};\n\nListFactory.defaultProps = {\n entity: '',\n entities: [],\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n searchFilter: {},\n itemListName: ''\n};\n\nexport default ListFactory;\n"],"mappings":"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"}
|
|
@@ -7,6 +7,4 @@ export { default as getItemsPerPageToUse } from './get-items-per-page-to-use';
|
|
|
7
7
|
export { default as getSortProps } from './get-sort-props';
|
|
8
8
|
export { default as hasRequiredItemListDetails } from './has-required-item-list-details';
|
|
9
9
|
export { default as getListComponent } from './get-list-component';
|
|
10
|
-
export { default as getListQuery } from './get-list-query';
|
|
11
|
-
export { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';
|
|
12
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps","hasRequiredItemListDetails","getListComponent"
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps","hasRequiredItemListDetails","getListComponent"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\nexport { default as getListComponent } from './get-list-component';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,0BAA0B;AAC1E,SAASD,OAAO,IAAIE,gBAAgB,QAAQ,uBAAuB;AACnE,SAASF,OAAO,IAAIG,mBAAmB,QAAQ,yBAAyB;AACxE,SAASH,OAAO,IAAII,UAAU,QAAQ,gBAAgB;AACtD,SAASJ,OAAO,IAAIK,QAAQ,QAAQ,aAAa;AACjD,SAASL,OAAO,IAAIM,oBAAoB,QAAQ,6BAA6B;AAC7E,SAASN,OAAO,IAAIO,YAAY,QAAQ,kBAAkB;AAC1D,SAASP,OAAO,IAAIQ,0BAA0B,QAAQ,kCAAkC;AACxF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,sBAAsB"}
|
|
@@ -9,12 +9,12 @@ const SearchContent = ({
|
|
|
9
9
|
searchInputAlignment,
|
|
10
10
|
searchInputWrapperMobile,
|
|
11
11
|
searchInputWrapperDesktop,
|
|
12
|
+
collapsible,
|
|
12
13
|
isMobile,
|
|
13
14
|
placeholder,
|
|
14
|
-
modifier
|
|
15
|
-
collapsedSearch
|
|
15
|
+
modifier
|
|
16
16
|
}) => {
|
|
17
|
-
const [collapsed, setCollapsed] = useState(
|
|
17
|
+
const [collapsed, setCollapsed] = useState(collapsible);
|
|
18
18
|
const router = useRouter();
|
|
19
19
|
const {
|
|
20
20
|
results,
|
|
@@ -44,7 +44,7 @@ const SearchContent = ({
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
const handleOnBlur = () => {
|
|
47
|
-
if (!
|
|
47
|
+
if (!collapsible) return;
|
|
48
48
|
if (!debouncedSearchTerm || debouncedSearchTerm === '') setCollapsed(true);
|
|
49
49
|
};
|
|
50
50
|
const handleClearSearchResults = () => {
|
|
@@ -106,8 +106,7 @@ SearchContent.propTypes = {
|
|
|
106
106
|
isMobile: PropTypes.bool,
|
|
107
107
|
collapsible: PropTypes.bool,
|
|
108
108
|
entities: PropTypes.array.isRequired,
|
|
109
|
-
modifier: PropTypes.string
|
|
110
|
-
collapsedSearch: PropTypes.bool
|
|
109
|
+
modifier: PropTypes.string
|
|
111
110
|
};
|
|
112
111
|
SearchContent.defaultProps = {
|
|
113
112
|
searchInputAlignment: '',
|
|
@@ -116,8 +115,7 @@ SearchContent.defaultProps = {
|
|
|
116
115
|
placeholder: '',
|
|
117
116
|
isMobile: false,
|
|
118
117
|
collapsible: false,
|
|
119
|
-
modifier: ''
|
|
120
|
-
collapsedSearch: false
|
|
118
|
+
modifier: ''
|
|
121
119
|
};
|
|
122
120
|
export default SearchContent;
|
|
123
121
|
//# sourceMappingURL=SearchContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","
|
|
1
|
+
{"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","collapsible","isMobile","placeholder","modifier","collapsed","setCollapsed","router","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","handleRouteChange","events","on","off","responsiveClasses","handleClick","e","url","preventDefault","push","handleKeyPress","key","target","value","handleOnBlur","handleClearSearchResults","className","filter","Boolean","join","createElement","viewBox","fillRule","d","clipRule","onFocus","onChange","type","name","Fragment","onClear","onKeyPress","onBlur","propTypes","string","bool","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\n\nconst SearchContent = ({\n entities,\n searchInputAlignment,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n collapsible,\n isMobile,\n placeholder,\n modifier\n}) => {\n const [collapsed, setCollapsed] = useState(collapsible);\n const router = useRouter();\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url'\n });\n\n useEffect(\n () => {\n const handleRouteChange = () => setSearchTerm('');\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events, setSearchTerm]\n );\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleClick = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyPress = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n router.push(`/search?search_term=${e.target.value}`);\n }\n };\n\n const handleOnBlur = () => {\n if (!collapsible) return;\n if (!debouncedSearchTerm || debouncedSearchTerm === '') setCollapsed(true);\n };\n\n const handleClearSearchResults = () => {\n setSearchTerm('');\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n return collapsed ? (\n <div className={className}>\n <div className=\"search-content--collapse__wrapper\">\n <label className=\"search-content--collapse__label\">\n <span className=\"search-content--collapse__icon_wrapper\">\n <svg className=\"search-content--collapse__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n onFocus={() => setCollapsed(false)}\n onChange={e => setSearchTerm(e.target.value)}\n type=\"text\"\n name=\"search\"\n className=\"search-content--collapse__input\"\n />\n </label>\n </div>\n </div>\n ) : (\n <>\n <div className={className}>\n <div className=\"search-content--expanded__wrapper\">\n <label className=\"search-content--expanded__label\">\n <span className=\"search-content--expanded__icon_wrapper\">\n <SearchContentToggleIcon results={results} onClear={handleClearSearchResults} />\n </span>\n <input\n type=\"text\"\n name=\"search\"\n onChange={e => setSearchTerm(e.target.value)}\n onKeyPress={handleKeyPress}\n className=\"search-content--expanded__input\"\n placeholder={placeholder}\n value={searchTerm}\n onBlur={handleOnBlur}\n />\n </label>\n </div>\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleClick}\n />\n </div>\n </>\n );\n};\n\nSearchContent.propTypes = {\n searchInputAlignment: PropTypes.string,\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n collapsible: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string\n};\n\nSearchContent.defaultProps = {\n searchInputAlignment: '',\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n collapsible: false,\n modifier: ''\n};\n\nexport default SearchContent;\n"],"mappings":"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"}
|
|
@@ -3,14 +3,13 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import debounce from 'lodash.debounce';
|
|
5
5
|
import FiltersList from './FiltersList';
|
|
6
|
-
import { isDeviceDesktop,
|
|
6
|
+
import { isDeviceDesktop, buildQuery, getInitialFilterValues, getResponsiveFilterClassnames } from '../helpers';
|
|
7
7
|
import CloseMobileForm from './CloseMobileForm';
|
|
8
8
|
import ResetDesktopForm from './ResetDesktopForm';
|
|
9
9
|
import MobileFormToolbar from './MobileFormToolbar';
|
|
10
10
|
import { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';
|
|
11
11
|
const SearchFilter = ({
|
|
12
12
|
searchFilterRef,
|
|
13
|
-
listComponentName,
|
|
14
13
|
data,
|
|
15
14
|
filters,
|
|
16
15
|
hasUrl,
|
|
@@ -23,13 +22,12 @@ const SearchFilter = ({
|
|
|
23
22
|
groupAfterDesktop,
|
|
24
23
|
groupAfterMobile,
|
|
25
24
|
filterValues,
|
|
26
|
-
setAppliedFilters
|
|
27
|
-
query
|
|
25
|
+
setAppliedFilters
|
|
28
26
|
}) => {
|
|
29
27
|
const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);
|
|
30
28
|
const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);
|
|
31
|
-
const doSubmit = newValues => {
|
|
32
|
-
const newQuery =
|
|
29
|
+
const doSubmit = (newValues = filterValues) => {
|
|
30
|
+
const newQuery = buildQuery(newValues, filters);
|
|
33
31
|
handleSearch(newQuery);
|
|
34
32
|
setMoreFiltersDesktopCollapsed(true);
|
|
35
33
|
setMoreFiltersMobileCollapsed(true);
|
|
@@ -57,7 +55,7 @@ const SearchFilter = ({
|
|
|
57
55
|
} = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);
|
|
58
56
|
const formId = `filter-${name}-form`;
|
|
59
57
|
const handleReset = () => {
|
|
60
|
-
const newValues =
|
|
58
|
+
const newValues = getInitialFilterValues(null, filters, {});
|
|
61
59
|
setAppliedFilters({
|
|
62
60
|
newValues,
|
|
63
61
|
type: 'reset'
|
|
@@ -72,6 +70,7 @@ const SearchFilter = ({
|
|
|
72
70
|
});
|
|
73
71
|
};
|
|
74
72
|
const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);
|
|
73
|
+
const shouldSearch = !hasUrl;
|
|
75
74
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("form", {
|
|
76
75
|
ref: searchFilterRef,
|
|
77
76
|
className: formClass,
|
|
@@ -79,7 +78,7 @@ const SearchFilter = ({
|
|
|
79
78
|
id: formId,
|
|
80
79
|
onSubmit: e => {
|
|
81
80
|
e.preventDefault();
|
|
82
|
-
doSubmit(
|
|
81
|
+
doSubmit();
|
|
83
82
|
}
|
|
84
83
|
}, displaySearchFilter && /*#__PURE__*/React.createElement(CloseMobileForm, {
|
|
85
84
|
handleClose: () => setDisplaySearchFilter(false)
|
|
@@ -90,7 +89,7 @@ const SearchFilter = ({
|
|
|
90
89
|
}), /*#__PURE__*/React.createElement("div", {
|
|
91
90
|
className: "filter__wrapper filter__wrapper--search-refine"
|
|
92
91
|
}, !shouldGroup && /*#__PURE__*/React.createElement(FiltersList, {
|
|
93
|
-
shouldSearch:
|
|
92
|
+
shouldSearch: shouldSearch,
|
|
94
93
|
data: data,
|
|
95
94
|
filters: filters,
|
|
96
95
|
hasUrl: hasUrl,
|
|
@@ -98,7 +97,7 @@ const SearchFilter = ({
|
|
|
98
97
|
filterValues: filterValues,
|
|
99
98
|
updateFilterValues: updateFilterValues
|
|
100
99
|
}), shouldGroup && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FiltersList, {
|
|
101
|
-
shouldSearch:
|
|
100
|
+
shouldSearch: shouldSearch,
|
|
102
101
|
data: data,
|
|
103
102
|
filters: filters.slice(0, groupAfterMobile),
|
|
104
103
|
hasUrl: hasUrl,
|
|
@@ -115,7 +114,7 @@ const SearchFilter = ({
|
|
|
115
114
|
}, /*#__PURE__*/React.createElement("div", {
|
|
116
115
|
className: MORE_FILTERS_CLASSES.MOBILE_CONTENT
|
|
117
116
|
}, /*#__PURE__*/React.createElement(FiltersList, {
|
|
118
|
-
shouldSearch:
|
|
117
|
+
shouldSearch: shouldSearch && isDeviceDesktop(),
|
|
119
118
|
data: data,
|
|
120
119
|
filters: filters.slice(groupAfterMobile, groupAfterDesktop ? groupAfterDesktop - 1 : 0),
|
|
121
120
|
hasUrl: hasUrl,
|
|
@@ -181,13 +180,7 @@ SearchFilter.propTypes = {
|
|
|
181
180
|
groupAfterDesktop: PropTypes.number.isRequired,
|
|
182
181
|
groupAfterMobile: PropTypes.number.isRequired,
|
|
183
182
|
filterValues: PropTypes.object.isRequired,
|
|
184
|
-
setAppliedFilters: PropTypes.func.isRequired
|
|
185
|
-
listComponentName: PropTypes.string,
|
|
186
|
-
query: PropTypes.object
|
|
187
|
-
};
|
|
188
|
-
SearchFilter.defaultProps = {
|
|
189
|
-
listComponentName: '',
|
|
190
|
-
query: {}
|
|
183
|
+
setAppliedFilters: PropTypes.func.isRequired
|
|
191
184
|
};
|
|
192
185
|
export default SearchFilter;
|
|
193
186
|
//# sourceMappingURL=SearchFilter.js.map
|