@wise/dynamic-flow-client 5.28.1 → 5.29.0-experimental-f7c2300
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/build/main.css +24 -0
- package/build/main.js +299 -167
- package/build/main.mjs +299 -167
- package/build/tsconfig.types.tsbuildinfo +1 -1
- package/build/types/domain/components/collectionComponent/CollectionComponent.d.ts +5 -5
- package/build/types/domain/components/collectionComponent/CollectionComponent.d.ts.map +1 -1
- package/build/types/domain/components/collectionComponent/CollectionState.d.ts +19 -0
- package/build/types/domain/components/collectionComponent/CollectionState.d.ts.map +1 -0
- package/build/types/domain/components/collectionComponent/mergeSections.d.ts +3 -0
- package/build/types/domain/components/collectionComponent/mergeSections.d.ts.map +1 -0
- package/build/types/domain/components/collectionComponent/types.d.ts +42 -14
- package/build/types/domain/components/collectionComponent/types.d.ts.map +1 -1
- package/build/types/domain/features/collection/getPerformCollectionQuery.d.ts +2 -2
- package/build/types/domain/features/collection/getPerformCollectionQuery.d.ts.map +1 -1
- package/build/types/domain/mappers/layout/collectionLayoutToComponent.d.ts +3 -3
- package/build/types/domain/mappers/layout/collectionLayoutToComponent.d.ts.map +1 -1
- package/build/types/renderers/mappers/collectionComponentToProps.d.ts.map +1 -1
- package/package.json +6 -5
package/build/main.css
CHANGED
|
@@ -104,6 +104,30 @@
|
|
|
104
104
|
flex-wrap: wrap;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
+
.df-filter-loader .np-chip {
|
|
108
|
+
background: linear-gradient(
|
|
109
|
+
-45deg,
|
|
110
|
+
var(--color-background-neutral) 40%,
|
|
111
|
+
var(--color-background-elevated) 50%,
|
|
112
|
+
var(--color-background-neutral) 60%
|
|
113
|
+
);
|
|
114
|
+
background-size: 300%;
|
|
115
|
+
background-position-x: 100%;
|
|
116
|
+
animation: shimmer 1s infinite linear;
|
|
117
|
+
transition: background 200ms;
|
|
118
|
+
border-color: var(--color-border-neutral);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.df-filter-loader .np-chip > * {
|
|
122
|
+
visibility: hidden;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
@keyframes shimmer {
|
|
126
|
+
to {
|
|
127
|
+
background-position-x: 0%;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
107
131
|
.df-columns-renderer-container {
|
|
108
132
|
display: flex;
|
|
109
133
|
gap: var(--size-4);
|
package/build/main.js
CHANGED
|
@@ -861,6 +861,7 @@ function findRendererPropsByType(root, type, predicate = () => true) {
|
|
|
861
861
|
}
|
|
862
862
|
var isType = (node, type) => node.type === type;
|
|
863
863
|
var getChildren = (node) => {
|
|
864
|
+
var _a;
|
|
864
865
|
switch (node.type) {
|
|
865
866
|
case "root":
|
|
866
867
|
case "box":
|
|
@@ -882,9 +883,16 @@ var getChildren = (node) => {
|
|
|
882
883
|
return node.childrenProps ? [node.childrenProps] : [];
|
|
883
884
|
case "tabs":
|
|
884
885
|
return node.tabs.flatMap((c) => c.childrenProps);
|
|
886
|
+
case "collection": {
|
|
887
|
+
const { beforeSectionsProps, afterSectionsProps, sections, search } = node.state;
|
|
888
|
+
return [
|
|
889
|
+
...beforeSectionsProps,
|
|
890
|
+
...afterSectionsProps,
|
|
891
|
+
...[...sections, ...(_a = search == null ? void 0 : search.initialSections) != null ? _a : []].filter((section) => section.type === "layout").flatMap((section) => section.childrenProps)
|
|
892
|
+
];
|
|
893
|
+
}
|
|
885
894
|
case "alert":
|
|
886
895
|
case "button":
|
|
887
|
-
case "collection":
|
|
888
896
|
case "input-checkbox":
|
|
889
897
|
case "input-date":
|
|
890
898
|
case "decision":
|
|
@@ -1713,89 +1721,121 @@ function mergeArrays(valueA, valueB) {
|
|
|
1713
1721
|
);
|
|
1714
1722
|
}
|
|
1715
1723
|
|
|
1716
|
-
// src/domain/components/collectionComponent/
|
|
1724
|
+
// src/domain/components/collectionComponent/mergeSections.ts
|
|
1725
|
+
var mergeSections = (existing, incoming) => {
|
|
1726
|
+
const knownIds = new Set(existing.map((section) => section.id));
|
|
1727
|
+
const newSections = incoming.filter((section) => !knownIds.has(section.id));
|
|
1728
|
+
const merged = existing.map((section) => {
|
|
1729
|
+
var _a, _b, _c, _d;
|
|
1730
|
+
const match = incoming.find((s) => s.id === section.id);
|
|
1731
|
+
if (!match) return section;
|
|
1732
|
+
if (section.type !== match.type) return section;
|
|
1733
|
+
const baseProps = {
|
|
1734
|
+
type: section.type,
|
|
1735
|
+
id: match.id,
|
|
1736
|
+
title: (_a = match.title) != null ? _a : section.title,
|
|
1737
|
+
callToAction: (_b = match.callToAction) != null ? _b : section.callToAction,
|
|
1738
|
+
help: (_c = match.help) != null ? _c : section.help,
|
|
1739
|
+
inlineAlert: (_d = match.inlineAlert) != null ? _d : section.inlineAlert
|
|
1740
|
+
};
|
|
1741
|
+
if (section.type === "layout" && match.type === "layout") {
|
|
1742
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
1743
|
+
type: "layout",
|
|
1744
|
+
components: [...section.components, ...match.components]
|
|
1745
|
+
});
|
|
1746
|
+
}
|
|
1747
|
+
if (section.type === "items" && match.type === "items") {
|
|
1748
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
1749
|
+
type: "items",
|
|
1750
|
+
items: [...section.items, ...match.items]
|
|
1751
|
+
});
|
|
1752
|
+
}
|
|
1753
|
+
return section;
|
|
1754
|
+
});
|
|
1755
|
+
return [...merged, ...newSections];
|
|
1756
|
+
};
|
|
1757
|
+
|
|
1758
|
+
// src/domain/components/collectionComponent/CollectionState.ts
|
|
1717
1759
|
var DEBOUNCE_TIME = 800;
|
|
1718
|
-
var
|
|
1719
|
-
|
|
1720
|
-
|
|
1760
|
+
var createCollectionState = ({
|
|
1761
|
+
id,
|
|
1762
|
+
initialState,
|
|
1763
|
+
searchQuery,
|
|
1764
|
+
onComponentUpdate,
|
|
1765
|
+
queryFunction,
|
|
1766
|
+
trackEvent
|
|
1767
|
+
}) => {
|
|
1768
|
+
const _a = initialState, { search, filters } = _a, response = __objRest(_a, ["search", "filters"]);
|
|
1721
1769
|
let abortController = new AbortController();
|
|
1722
|
-
const
|
|
1723
|
-
|
|
1724
|
-
|
|
1770
|
+
const update = (updateFn) => {
|
|
1771
|
+
updateFn(state);
|
|
1772
|
+
onComponentUpdate();
|
|
1773
|
+
};
|
|
1774
|
+
const getIdleStatus = (nextCursor) => ({
|
|
1775
|
+
type: "idle",
|
|
1776
|
+
loadMore: nextCursor ? () => query("pagination") : void 0
|
|
1777
|
+
});
|
|
1778
|
+
const query = (mode) => {
|
|
1779
|
+
var _a2, _b;
|
|
1725
1780
|
abortController.abort();
|
|
1726
1781
|
abortController = new AbortController();
|
|
1727
1782
|
const { signal } = abortController;
|
|
1728
|
-
|
|
1783
|
+
trackEvent(getEventName(mode, "Triggered"), state.analytics);
|
|
1729
1784
|
queryFunction({
|
|
1730
|
-
searchParam: (
|
|
1731
|
-
query: (_b =
|
|
1732
|
-
cursor: mode === "pagination" ?
|
|
1785
|
+
searchParam: (_a2 = state.search) == null ? void 0 : _a2.param,
|
|
1786
|
+
query: (_b = state.search) == null ? void 0 : _b.query,
|
|
1787
|
+
cursor: mode === "pagination" ? state.nextCursor : void 0,
|
|
1733
1788
|
signal,
|
|
1734
|
-
filters:
|
|
1735
|
-
}).then((
|
|
1736
|
-
if (!
|
|
1789
|
+
filters: state.filters
|
|
1790
|
+
}).then((incoming) => {
|
|
1791
|
+
if (!incoming || signal.aborted) {
|
|
1737
1792
|
return;
|
|
1738
1793
|
}
|
|
1739
|
-
update(
|
|
1740
|
-
|
|
1741
|
-
draft.status = {
|
|
1742
|
-
type: "idle",
|
|
1743
|
-
loadMore: response.nextCursor ? paginate : void 0
|
|
1744
|
-
};
|
|
1745
|
-
});
|
|
1746
|
-
trackCollectionEvent(source != null ? source : mode, "Succeeded");
|
|
1794
|
+
update((draft) => mergeResponse(draft, mode, incoming));
|
|
1795
|
+
trackEvent(getEventName(mode, "Succeeded"), state.analytics);
|
|
1747
1796
|
}).catch(() => {
|
|
1748
1797
|
if (!signal.aborted) {
|
|
1749
1798
|
const retry = () => {
|
|
1750
|
-
update(
|
|
1799
|
+
update((draft) => {
|
|
1751
1800
|
draft.status = { type: "loading", reason: mode };
|
|
1752
1801
|
});
|
|
1753
|
-
query(mode
|
|
1802
|
+
query(mode);
|
|
1754
1803
|
};
|
|
1755
|
-
update(
|
|
1756
|
-
if (mode === "search") {
|
|
1757
|
-
draft.
|
|
1804
|
+
update((draft) => {
|
|
1805
|
+
if (mode === "search" || mode === "filter") {
|
|
1806
|
+
draft.sections = [];
|
|
1758
1807
|
}
|
|
1759
1808
|
draft.status = { type: "error", reason: mode, retry };
|
|
1760
1809
|
});
|
|
1761
|
-
|
|
1810
|
+
trackEvent(getEventName(mode, "Failed"), state.analytics);
|
|
1762
1811
|
}
|
|
1763
1812
|
});
|
|
1764
1813
|
};
|
|
1765
1814
|
const debouncedQuery = debounce(query, DEBOUNCE_TIME);
|
|
1766
|
-
const
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
var _a, _b;
|
|
1777
|
-
return {
|
|
1778
|
-
sections: mode === "pagination" ? mergeSections(original.sections, incoming.sections) : incoming.sections,
|
|
1779
|
-
nextCursor: incoming.nextCursor,
|
|
1780
|
-
filters: incoming.filters ? mapFilters(incoming.filters) : original.filters,
|
|
1781
|
-
search: incoming.search ? mapSearch(incoming.search) : original.search,
|
|
1782
|
-
beforeSections: (_a = incoming.beforeSections) != null ? _a : original.beforeSections,
|
|
1783
|
-
afterSections: (_b = incoming.afterSections) != null ? _b : original.afterSections,
|
|
1784
|
-
analytics: mode === "pagination" ? recursiveMerge(original.analytics, incoming.analytics) : incoming.analytics
|
|
1785
|
-
};
|
|
1815
|
+
const mergeResponse = (draft, mode, incoming) => {
|
|
1816
|
+
var _a2, _b, _c, _d;
|
|
1817
|
+
draft.sections = mode === "pagination" ? mergeSections(draft.sections, incoming.sections) : incoming.sections;
|
|
1818
|
+
draft.nextCursor = incoming.nextCursor;
|
|
1819
|
+
draft.analytics = mode === "pagination" ? recursiveMerge(draft.analytics, incoming.analytics) : incoming.analytics;
|
|
1820
|
+
draft.filters = incoming.filters ? mapFilters(incoming.filters) : draft.filters;
|
|
1821
|
+
draft.search = incoming.search ? mapSearch2(incoming.search, (_b = (_a2 = draft.search) == null ? void 0 : _a2.query) != null ? _b : "") : draft.search;
|
|
1822
|
+
draft.beforeSections = (_c = incoming.beforeSections) != null ? _c : draft.beforeSections;
|
|
1823
|
+
draft.afterSections = (_d = incoming.afterSections) != null ? _d : draft.afterSections;
|
|
1824
|
+
draft.status = getIdleStatus(incoming.nextCursor);
|
|
1786
1825
|
};
|
|
1787
1826
|
const selectFilter = (filterIndex, optionIndex) => {
|
|
1788
|
-
var
|
|
1789
|
-
const selected = (
|
|
1827
|
+
var _a2;
|
|
1828
|
+
const selected = (_a2 = state.filters) == null ? void 0 : _a2[filterIndex];
|
|
1790
1829
|
if (!selected) {
|
|
1791
1830
|
return;
|
|
1792
1831
|
}
|
|
1793
1832
|
const currentValue = selected.options[optionIndex].selected;
|
|
1794
|
-
update(
|
|
1795
|
-
|
|
1833
|
+
update((draft) => {
|
|
1834
|
+
var _a3;
|
|
1835
|
+
const draftFilter = (_a3 = draft.filters) == null ? void 0 : _a3[filterIndex];
|
|
1836
|
+
if (!draftFilter) {
|
|
1796
1837
|
return;
|
|
1797
1838
|
}
|
|
1798
|
-
const draftFilter = draft.state.filters[filterIndex];
|
|
1799
1839
|
if (selected.multiSelect) {
|
|
1800
1840
|
draftFilter.options[optionIndex].selected = !currentValue;
|
|
1801
1841
|
} else {
|
|
@@ -1803,35 +1843,86 @@ var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackE
|
|
|
1803
1843
|
draftOption.selected = index === optionIndex ? !currentValue : false;
|
|
1804
1844
|
});
|
|
1805
1845
|
}
|
|
1806
|
-
draft.status = { type: "loading", reason: "
|
|
1846
|
+
draft.status = { type: "loading", reason: "filter" };
|
|
1807
1847
|
});
|
|
1808
|
-
filter
|
|
1848
|
+
debouncedQuery("filter");
|
|
1849
|
+
debouncedQuery.flush();
|
|
1809
1850
|
};
|
|
1810
|
-
const
|
|
1811
|
-
|
|
1851
|
+
const changeQuery = (value) => {
|
|
1852
|
+
update((draft) => {
|
|
1853
|
+
if (draft.search) {
|
|
1854
|
+
draft.search.query = value;
|
|
1855
|
+
draft.status = { type: "loading", reason: "search" };
|
|
1856
|
+
}
|
|
1857
|
+
});
|
|
1858
|
+
abortController.abort();
|
|
1859
|
+
debouncedQuery("search");
|
|
1860
|
+
};
|
|
1861
|
+
const mapFilters = (filtersToMap) => filtersToMap == null ? void 0 : filtersToMap.map((f, filterIndex) => {
|
|
1862
|
+
var _a2;
|
|
1812
1863
|
return __spreadProps(__spreadValues({}, f), {
|
|
1813
|
-
options: (
|
|
1814
|
-
var
|
|
1864
|
+
options: (_a2 = f.options) == null ? void 0 : _a2.map((option, optionIndex) => {
|
|
1865
|
+
var _a3;
|
|
1815
1866
|
return __spreadProps(__spreadValues({}, option), {
|
|
1816
|
-
selected: (
|
|
1867
|
+
selected: (_a3 = option.selected) != null ? _a3 : false,
|
|
1817
1868
|
onSelect: () => selectFilter(filterIndex, optionIndex)
|
|
1818
1869
|
});
|
|
1819
1870
|
})
|
|
1820
1871
|
});
|
|
1821
1872
|
});
|
|
1822
|
-
const
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1873
|
+
const mapSearch2 = (searchConfig, value) => searchConfig ? __spreadProps(__spreadValues({}, searchConfig), { query: value, onChange: changeQuery }) : void 0;
|
|
1874
|
+
const state = __spreadProps(__spreadValues({}, response), {
|
|
1875
|
+
id,
|
|
1876
|
+
status: getIdleStatus(response.nextCursor),
|
|
1877
|
+
filters: mapFilters(filters),
|
|
1878
|
+
search: mapSearch2(search, searchQuery),
|
|
1879
|
+
fork(forkedId) {
|
|
1880
|
+
var _a2, _b;
|
|
1881
|
+
return createCollectionState({
|
|
1882
|
+
id: forkedId,
|
|
1883
|
+
initialState: state,
|
|
1884
|
+
searchQuery: (_b = (_a2 = state.search) == null ? void 0 : _a2.query) != null ? _b : "",
|
|
1885
|
+
onComponentUpdate,
|
|
1886
|
+
queryFunction,
|
|
1887
|
+
trackEvent
|
|
1831
1888
|
});
|
|
1832
|
-
|
|
1889
|
+
},
|
|
1890
|
+
cancel() {
|
|
1891
|
+
debouncedQuery.cancel();
|
|
1892
|
+
abortController.abort();
|
|
1893
|
+
},
|
|
1894
|
+
getChildren() {
|
|
1895
|
+
var _a2, _b, _c, _d;
|
|
1896
|
+
return [
|
|
1897
|
+
...(_a2 = state.beforeSections) != null ? _a2 : [],
|
|
1898
|
+
...getSectionsChildren(state.sections),
|
|
1899
|
+
...getSectionsChildren((_c = (_b = state.search) == null ? void 0 : _b.initialSections) != null ? _c : []),
|
|
1900
|
+
...(_d = state.afterSections) != null ? _d : []
|
|
1901
|
+
];
|
|
1833
1902
|
}
|
|
1834
|
-
})
|
|
1903
|
+
});
|
|
1904
|
+
return state;
|
|
1905
|
+
};
|
|
1906
|
+
var getSectionsChildren = (sections) => sections.filter((section) => section.type === "layout").flatMap((section) => section.components);
|
|
1907
|
+
var getEventName = (mode, state) => {
|
|
1908
|
+
const getMode = () => {
|
|
1909
|
+
switch (mode) {
|
|
1910
|
+
case "pagination":
|
|
1911
|
+
return "Pagination";
|
|
1912
|
+
case "search":
|
|
1913
|
+
return "Search";
|
|
1914
|
+
case "filter":
|
|
1915
|
+
return "Filter";
|
|
1916
|
+
}
|
|
1917
|
+
};
|
|
1918
|
+
return `Collection ${getMode()} ${state}`;
|
|
1919
|
+
};
|
|
1920
|
+
|
|
1921
|
+
// src/domain/components/collectionComponent/CollectionComponent.ts
|
|
1922
|
+
var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackEvent) => {
|
|
1923
|
+
const { uid, analyticsId, control, margin, tags, state } = props;
|
|
1924
|
+
const update = getInputUpdateFunction(onComponentUpdate);
|
|
1925
|
+
let forkCount = 0;
|
|
1835
1926
|
const component = {
|
|
1836
1927
|
type: "collection",
|
|
1837
1928
|
kind: "layout",
|
|
@@ -1840,21 +1931,38 @@ var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackE
|
|
|
1840
1931
|
control,
|
|
1841
1932
|
margin,
|
|
1842
1933
|
tags,
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1934
|
+
stack: [
|
|
1935
|
+
createCollectionState({
|
|
1936
|
+
id: `${uid}-state-0`,
|
|
1937
|
+
initialState: state,
|
|
1938
|
+
searchQuery: "",
|
|
1939
|
+
onComponentUpdate,
|
|
1940
|
+
queryFunction,
|
|
1941
|
+
trackEvent
|
|
1942
|
+
})
|
|
1943
|
+
],
|
|
1944
|
+
fork() {
|
|
1945
|
+
const { stack } = component;
|
|
1946
|
+
forkCount += 1;
|
|
1947
|
+
const forkedState = stack[stack.length - 1].fork(`${uid}-state-${forkCount}`);
|
|
1948
|
+
update(component, (draft) => {
|
|
1949
|
+
draft.stack = [...draft.stack, forkedState];
|
|
1950
|
+
});
|
|
1849
1951
|
},
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1952
|
+
pop() {
|
|
1953
|
+
const [rootState, ...forkedStates] = component.stack;
|
|
1954
|
+
const poppedState = forkedStates.at(-1);
|
|
1955
|
+
if (!poppedState) {
|
|
1956
|
+
return;
|
|
1957
|
+
}
|
|
1958
|
+
poppedState.cancel();
|
|
1959
|
+
update(component, (draft) => {
|
|
1960
|
+
draft.stack = [rootState, ...forkedStates.slice(0, -1)];
|
|
1961
|
+
});
|
|
1962
|
+
},
|
|
1963
|
+
getChildren() {
|
|
1964
|
+
return component.stack[component.stack.length - 1].getChildren();
|
|
1853
1965
|
},
|
|
1854
|
-
state: __spreadProps(__spreadValues({}, state), {
|
|
1855
|
-
filters: mapFilters(state.filters),
|
|
1856
|
-
search: mapSearch(props.search)
|
|
1857
|
-
}),
|
|
1858
1966
|
start() {
|
|
1859
1967
|
component.getChildren().forEach((child) => child.start());
|
|
1860
1968
|
},
|
|
@@ -1864,37 +1972,6 @@ var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackE
|
|
|
1864
1972
|
};
|
|
1865
1973
|
return component;
|
|
1866
1974
|
};
|
|
1867
|
-
var mergeSections = (existing, incoming) => {
|
|
1868
|
-
const knownIds = new Set(existing.map((section) => section.id));
|
|
1869
|
-
const newSections = incoming.filter((section) => !knownIds.has(section.id));
|
|
1870
|
-
const merged = existing.map((section) => {
|
|
1871
|
-
var _a, _b, _c, _d;
|
|
1872
|
-
const match = incoming.find((s) => s.id === section.id);
|
|
1873
|
-
if (!match) return section;
|
|
1874
|
-
return {
|
|
1875
|
-
id: match.id,
|
|
1876
|
-
title: (_a = match.title) != null ? _a : section.title,
|
|
1877
|
-
callToAction: (_b = match.callToAction) != null ? _b : section.callToAction,
|
|
1878
|
-
help: (_c = match.help) != null ? _c : section.help,
|
|
1879
|
-
inlineAlert: (_d = match.inlineAlert) != null ? _d : section.inlineAlert,
|
|
1880
|
-
items: [...section.items, ...match.items]
|
|
1881
|
-
};
|
|
1882
|
-
});
|
|
1883
|
-
return [...merged, ...newSections];
|
|
1884
|
-
};
|
|
1885
|
-
var getEventName = (mode, state) => {
|
|
1886
|
-
const getMode = () => {
|
|
1887
|
-
switch (mode) {
|
|
1888
|
-
case "pagination":
|
|
1889
|
-
return "Pagination";
|
|
1890
|
-
case "search":
|
|
1891
|
-
return "Search";
|
|
1892
|
-
case "filter":
|
|
1893
|
-
return "Filter";
|
|
1894
|
-
}
|
|
1895
|
-
};
|
|
1896
|
-
return `Collection ${getMode()} ${state}`;
|
|
1897
|
-
};
|
|
1898
1975
|
|
|
1899
1976
|
// src/domain/features/collection/getPerformCollectionQuery.ts
|
|
1900
1977
|
var getPerformCollectionQuery = (httpClient, baseRequest, mapState) => {
|
|
@@ -1987,9 +2064,19 @@ var hashRequest = ({
|
|
|
1987
2064
|
}) => JSON.stringify({ query, cursor, filters: getFilterValues(filters != null ? filters : []) });
|
|
1988
2065
|
|
|
1989
2066
|
// src/domain/mappers/layout/collectionLayoutToComponent.ts
|
|
1990
|
-
var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, margin, search, tags, baseRequest }, mapperProps) => {
|
|
2067
|
+
var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, margin, search, tags, baseRequest }, mapperProps, schemaComponents) => {
|
|
2068
|
+
var _a;
|
|
1991
2069
|
const { httpClient, onComponentUpdate, trackEvent } = mapperProps;
|
|
1992
|
-
|
|
2070
|
+
let layoutIndex = 0;
|
|
2071
|
+
const mapLayout = (layout) => {
|
|
2072
|
+
layoutIndex += 1;
|
|
2073
|
+
return mapLayoutToComponent(
|
|
2074
|
+
`${uid}-collection-response-${layoutIndex}`,
|
|
2075
|
+
layout,
|
|
2076
|
+
mapperProps,
|
|
2077
|
+
schemaComponents
|
|
2078
|
+
);
|
|
2079
|
+
};
|
|
1993
2080
|
const mapState = (state) => mapCollectionSpecToDomainState(state, mapperProps, mapLayout);
|
|
1994
2081
|
const queryFunction = getPerformCollectionQuery(httpClient, baseRequest, mapState);
|
|
1995
2082
|
const component = createCollectionComponent(
|
|
@@ -1999,8 +2086,9 @@ var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, ma
|
|
|
1999
2086
|
control,
|
|
2000
2087
|
margin: margin != null ? margin : "md",
|
|
2001
2088
|
tags,
|
|
2002
|
-
state: mapState(initialState),
|
|
2003
|
-
|
|
2089
|
+
state: mapState(__spreadProps(__spreadValues({}, initialState), {
|
|
2090
|
+
search: (_a = initialState.search) != null ? _a : search
|
|
2091
|
+
}))
|
|
2004
2092
|
},
|
|
2005
2093
|
onComponentUpdate,
|
|
2006
2094
|
queryFunction,
|
|
@@ -2010,6 +2098,7 @@ var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, ma
|
|
|
2010
2098
|
};
|
|
2011
2099
|
var mapCollectionSpecToDomainState = (specState, mapperProps, mapLayout) => {
|
|
2012
2100
|
const {
|
|
2101
|
+
search,
|
|
2013
2102
|
sections,
|
|
2014
2103
|
filters,
|
|
2015
2104
|
beforeSections,
|
|
@@ -2018,29 +2107,8 @@ var mapCollectionSpecToDomainState = (specState, mapperProps, mapLayout) => {
|
|
|
2018
2107
|
analytics = {}
|
|
2019
2108
|
} = specState;
|
|
2020
2109
|
return {
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
return __spreadProps(__spreadValues({}, section), {
|
|
2024
|
-
callToAction: getDomainLayerCallToAction(section.callToAction, mapperProps),
|
|
2025
|
-
help: (_a = section.help) == null ? void 0 : _a.markdown,
|
|
2026
|
-
inlineAlert: mapInlineAlert(section.inlineAlert),
|
|
2027
|
-
items: section.items.map((item) => {
|
|
2028
|
-
const behavior = getDomainLayerBehavior(
|
|
2029
|
-
{ behavior: item.primaryBehavior },
|
|
2030
|
-
[],
|
|
2031
|
-
mapperProps.registerSubmissionBehavior
|
|
2032
|
-
);
|
|
2033
|
-
return __spreadProps(__spreadValues({}, item), {
|
|
2034
|
-
id: item.entityId,
|
|
2035
|
-
onClick: item.primaryBehavior ? () => {
|
|
2036
|
-
void mapperProps.onBehavior(behavior);
|
|
2037
|
-
} : void 0,
|
|
2038
|
-
callToAction: getDomainLayerCallToAction(item.callToAction, mapperProps),
|
|
2039
|
-
inlineAlert: mapInlineAlert(item.inlineAlert)
|
|
2040
|
-
});
|
|
2041
|
-
})
|
|
2042
|
-
});
|
|
2043
|
-
}),
|
|
2110
|
+
search: search ? mapSearch(search, mapperProps, mapLayout) : void 0,
|
|
2111
|
+
sections: sections.map((section) => mapSection(section, mapperProps, mapLayout)),
|
|
2044
2112
|
filters: filters == null ? void 0 : filters.map(mapFilter),
|
|
2045
2113
|
beforeSections: beforeSections == null ? void 0 : beforeSections.map(mapLayout),
|
|
2046
2114
|
afterSections: afterSections == null ? void 0 : afterSections.map(mapLayout),
|
|
@@ -2048,6 +2116,49 @@ var mapCollectionSpecToDomainState = (specState, mapperProps, mapLayout) => {
|
|
|
2048
2116
|
analytics
|
|
2049
2117
|
};
|
|
2050
2118
|
};
|
|
2119
|
+
var mapSearch = (search, mapperProps, mapLayout) => {
|
|
2120
|
+
var _a, _b, _c;
|
|
2121
|
+
return search ? __spreadProps(__spreadValues({}, search), {
|
|
2122
|
+
help: (_a = search.help) == null ? void 0 : _a.markdown,
|
|
2123
|
+
hints: (_b = search.hints) != null ? _b : search.hint ? [search.hint] : void 0,
|
|
2124
|
+
initialSections: (_c = search.initialSections) == null ? void 0 : _c.map(
|
|
2125
|
+
(section) => mapSection(section, mapperProps, mapLayout)
|
|
2126
|
+
)
|
|
2127
|
+
}) : void 0;
|
|
2128
|
+
};
|
|
2129
|
+
var mapSection = (section, mapperProps, mapLayout) => {
|
|
2130
|
+
var _a;
|
|
2131
|
+
const baseProps = __spreadProps(__spreadValues({}, section), {
|
|
2132
|
+
callToAction: getDomainLayerCallToAction(section.callToAction, mapperProps),
|
|
2133
|
+
help: (_a = section.help) == null ? void 0 : _a.markdown,
|
|
2134
|
+
inlineAlert: mapInlineAlert(section.inlineAlert)
|
|
2135
|
+
});
|
|
2136
|
+
if (section.type === "layout") {
|
|
2137
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
2138
|
+
type: "layout",
|
|
2139
|
+
components: section.components.map(mapLayout)
|
|
2140
|
+
});
|
|
2141
|
+
}
|
|
2142
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
2143
|
+
type: "items",
|
|
2144
|
+
items: section.items.map((item) => mapResultItem(item, mapperProps))
|
|
2145
|
+
});
|
|
2146
|
+
};
|
|
2147
|
+
var mapResultItem = (item, mapperProps) => {
|
|
2148
|
+
const behavior = getDomainLayerBehavior(
|
|
2149
|
+
{ behavior: item.primaryBehavior },
|
|
2150
|
+
[],
|
|
2151
|
+
mapperProps.registerSubmissionBehavior
|
|
2152
|
+
);
|
|
2153
|
+
return __spreadProps(__spreadValues({}, item), {
|
|
2154
|
+
id: item.entityId,
|
|
2155
|
+
onClick: item.primaryBehavior ? () => {
|
|
2156
|
+
void mapperProps.onBehavior(behavior);
|
|
2157
|
+
} : void 0,
|
|
2158
|
+
callToAction: getDomainLayerCallToAction(item.callToAction, mapperProps),
|
|
2159
|
+
inlineAlert: mapInlineAlert(item.inlineAlert)
|
|
2160
|
+
});
|
|
2161
|
+
};
|
|
2051
2162
|
var mapFilter = (filter) => {
|
|
2052
2163
|
const anySelected = filter.options.some((option) => option.selected);
|
|
2053
2164
|
return __spreadProps(__spreadValues({}, filter), {
|
|
@@ -3310,7 +3421,7 @@ var mapLayoutToComponent = (uid, layout, mapperProps, schemaComponents) => {
|
|
|
3310
3421
|
case "button":
|
|
3311
3422
|
return buttonLayoutToComponent(uid, layout, mapperProps);
|
|
3312
3423
|
case "collection":
|
|
3313
|
-
return collectionLayoutToComponent(uid, layout, mapperProps);
|
|
3424
|
+
return collectionLayoutToComponent(uid, layout, mapperProps, schemaComponents);
|
|
3314
3425
|
case "columns":
|
|
3315
3426
|
return columnsLayoutToComponent(uid, layout, mapperProps, schemaComponents);
|
|
3316
3427
|
case "decision":
|
|
@@ -8971,31 +9082,52 @@ var mapBoxControl = ({
|
|
|
8971
9082
|
|
|
8972
9083
|
// src/renderers/mappers/collectionComponentToProps.ts
|
|
8973
9084
|
var collectionComponentToProps = (component, rendererMapperProps) => {
|
|
9085
|
+
const { stack } = component;
|
|
9086
|
+
return __spreadProps(__spreadValues(__spreadValues({}, pick(component, "uid", "analyticsId", "type", "control", "margin", "tags", "fork", "pop")), rendererMapperProps), {
|
|
9087
|
+
state: mapCollectionState(stack[stack.length - 1], rendererMapperProps),
|
|
9088
|
+
depth: stack.length - 1
|
|
9089
|
+
});
|
|
9090
|
+
};
|
|
9091
|
+
var mapCollectionState = (state, rendererMapperProps) => {
|
|
8974
9092
|
var _a, _b, _c, _d, _e;
|
|
8975
9093
|
const { render } = rendererMapperProps;
|
|
8976
|
-
const
|
|
8977
|
-
|
|
8978
|
-
)) != null ?
|
|
8979
|
-
|
|
8980
|
-
|
|
8981
|
-
|
|
8982
|
-
|
|
8983
|
-
|
|
8984
|
-
|
|
8985
|
-
|
|
8986
|
-
|
|
8987
|
-
|
|
8988
|
-
|
|
8989
|
-
|
|
8990
|
-
|
|
8991
|
-
|
|
8992
|
-
|
|
8993
|
-
|
|
8994
|
-
|
|
8995
|
-
|
|
8996
|
-
|
|
8997
|
-
|
|
8998
|
-
|
|
9094
|
+
const { search } = state;
|
|
9095
|
+
const beforeSectionsProps = (_b = (_a = state.beforeSections) == null ? void 0 : _a.map((child) => componentToRendererProps(child, rendererMapperProps))) != null ? _b : [];
|
|
9096
|
+
const afterSectionsProps = (_d = (_c = state.afterSections) == null ? void 0 : _c.map((child) => componentToRendererProps(child, rendererMapperProps))) != null ? _d : [];
|
|
9097
|
+
return __spreadProps(__spreadValues({}, pick(state, "id", "status")), {
|
|
9098
|
+
sections: mapSections(state.sections, rendererMapperProps),
|
|
9099
|
+
filters: (_e = state.filters) != null ? _e : [],
|
|
9100
|
+
beforeSectionsProps,
|
|
9101
|
+
beforeSections: beforeSectionsProps.map(render),
|
|
9102
|
+
afterSectionsProps,
|
|
9103
|
+
afterSections: afterSectionsProps.map(render),
|
|
9104
|
+
search: search ? __spreadProps(__spreadValues({}, pick(search, "title", "hint", "hints", "query", "onChange")), {
|
|
9105
|
+
initialSections: search.initialSections ? mapSections(search.initialSections, rendererMapperProps) : void 0
|
|
9106
|
+
}) : void 0
|
|
9107
|
+
});
|
|
9108
|
+
};
|
|
9109
|
+
var mapSections = (sections, rendererMapperProps) => sections.map((section) => mapSection2(section, rendererMapperProps));
|
|
9110
|
+
var mapSection2 = (section, rendererMapperProps) => {
|
|
9111
|
+
const baseProps = __spreadProps(__spreadValues({}, section), {
|
|
9112
|
+
callToAction: mapCallToActionOptional(section.callToAction)
|
|
9113
|
+
});
|
|
9114
|
+
if (section.type === "layout") {
|
|
9115
|
+
const childrenProps = section.components.map(
|
|
9116
|
+
(child) => componentToRendererProps(child, rendererMapperProps)
|
|
9117
|
+
);
|
|
9118
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
9119
|
+
type: "layout",
|
|
9120
|
+
childrenProps,
|
|
9121
|
+
children: childrenProps.map(rendererMapperProps.render)
|
|
9122
|
+
});
|
|
9123
|
+
}
|
|
9124
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
9125
|
+
type: "items",
|
|
9126
|
+
items: section.items.map((item) => __spreadProps(__spreadValues({}, item), {
|
|
9127
|
+
callToAction: mapCallToActionOptional(item.callToAction),
|
|
9128
|
+
additionalInfo: mapAdditionalInfo2(item.additionalInfo),
|
|
9129
|
+
disabled: rendererMapperProps.stepLoadingState !== "idle" || item.disabled
|
|
9130
|
+
}))
|
|
8999
9131
|
});
|
|
9000
9132
|
};
|
|
9001
9133
|
|