@wix/auto-patterns 1.23.0 → 1.24.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.
Files changed (182) hide show
  1. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +12 -323
  2. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js +172 -0
  4. package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -0
  5. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js +78 -0
  6. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js.map +1 -0
  7. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +119 -0
  8. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +1 -0
  9. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js +79 -0
  10. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js.map +1 -0
  11. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/index.js +16 -0
  12. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/index.js.map +1 -0
  13. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js +77 -0
  14. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js.map +1 -0
  15. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +109 -0
  16. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +1 -0
  17. package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js +196 -0
  18. package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -0
  19. package/dist/cjs/components/AutoPatternsEntityPage/index.js +12 -0
  20. package/dist/cjs/components/AutoPatternsEntityPage/index.js.map +1 -1
  21. package/dist/cjs/hooks/useEntityPageActions.js +105 -0
  22. package/dist/cjs/hooks/useEntityPageActions.js.map +1 -0
  23. package/dist/cjs/hooks/useEntityPageMoreActions.js +10 -0
  24. package/dist/cjs/hooks/useEntityPageMoreActions.js.map +1 -1
  25. package/dist/cjs/hooks/useNavigateEditEntityAction.js +50 -0
  26. package/dist/cjs/hooks/useNavigateEditEntityAction.js.map +1 -0
  27. package/dist/cjs/hooks/useNavigationUtils.js +12 -1
  28. package/dist/cjs/hooks/useNavigationUtils.js.map +1 -1
  29. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  30. package/dist/cjs/types/EntityPageConfig.js.map +1 -1
  31. package/dist/cjs/types/actions/entityPageActions.js.map +1 -1
  32. package/dist/cjs/utils/actions/types.js.map +1 -1
  33. package/dist/docs/action_cell.md +6 -2
  34. package/dist/docs/app_config_structure.md +49 -4
  35. package/dist/docs/auto-patterns-guide.md +305 -39
  36. package/dist/docs/bulk_actions.md +6 -2
  37. package/dist/docs/collection_page_actions.md +14 -4
  38. package/dist/docs/entity_page.md +65 -1
  39. package/dist/docs/entity_page_actions.md +13 -11
  40. package/dist/docs/entity_page_view_actions.md +137 -0
  41. package/dist/docs/index.md +6 -2
  42. package/dist/docs/pages_configuration.md +1 -11
  43. package/dist/docs/sdk_utilities.md +11 -4
  44. package/dist/docs/wix_fqdn_custom_data_source.md +25 -5
  45. package/dist/esm/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js +4 -3
  46. package/dist/esm/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js.map +1 -1
  47. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +2 -1
  48. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  49. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +9 -196
  50. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  51. package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js +115 -0
  52. package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -0
  53. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js +10 -6
  54. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  55. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +23 -16
  56. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  57. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +3 -2
  58. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  59. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js +9 -6
  60. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -1
  61. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js +8 -6
  62. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  63. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js +10 -8
  64. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  65. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js +12 -10
  66. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  67. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js +8 -6
  68. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  69. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js +33 -0
  70. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js.map +1 -0
  71. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +70 -0
  72. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +1 -0
  73. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js +48 -0
  74. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js.map +1 -0
  75. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/index.js +3 -0
  76. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/index.js.map +1 -0
  77. package/dist/esm/components/AutoPatternsEntityPage/SkeletonEntity.js +7 -4
  78. package/dist/esm/components/AutoPatternsEntityPage/SkeletonEntity.js.map +1 -1
  79. package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js +31 -0
  80. package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js.map +1 -0
  81. package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +66 -0
  82. package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +1 -0
  83. package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js +109 -0
  84. package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -0
  85. package/dist/esm/components/AutoPatternsEntityPage/index.js +2 -0
  86. package/dist/esm/components/AutoPatternsEntityPage/index.js.map +1 -1
  87. package/dist/esm/components/ModalRenderer.js +2 -1
  88. package/dist/esm/components/ModalRenderer.js.map +1 -1
  89. package/dist/esm/components/modals/actions/BulkDeleteModal.js +12 -7
  90. package/dist/esm/components/modals/actions/BulkDeleteModal.js.map +1 -1
  91. package/dist/esm/components/modals/actions/CreateModal.js +11 -6
  92. package/dist/esm/components/modals/actions/CreateModal.js.map +1 -1
  93. package/dist/esm/components/modals/actions/EditModal.js +11 -6
  94. package/dist/esm/components/modals/actions/EditModal.js.map +1 -1
  95. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +4 -3
  96. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  97. package/dist/esm/dataSourceAdapters/cms/filterUtils.js +2 -1
  98. package/dist/esm/dataSourceAdapters/cms/filterUtils.js.map +1 -1
  99. package/dist/esm/dataSourceAdapters/cms/sortUtils.js +2 -2
  100. package/dist/esm/dataSourceAdapters/cms/sortUtils.js.map +1 -1
  101. package/dist/esm/hooks/useActionCell.js +12 -8
  102. package/dist/esm/hooks/useActionCell.js.map +1 -1
  103. package/dist/esm/hooks/useBaseTableFeatures.js +2 -1
  104. package/dist/esm/hooks/useBaseTableFeatures.js.map +1 -1
  105. package/dist/esm/hooks/useBulkActionToolbar.js +2 -2
  106. package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -1
  107. package/dist/esm/hooks/useCollectionPageActions.js +3 -3
  108. package/dist/esm/hooks/useCollectionPageActions.js.map +1 -1
  109. package/dist/esm/hooks/useCollectionPageOnRowClickActions.js +1 -1
  110. package/dist/esm/hooks/useCollectionPageOnRowClickActions.js.map +1 -1
  111. package/dist/esm/hooks/useColumns.js +12 -7
  112. package/dist/esm/hooks/useColumns.js.map +1 -1
  113. package/dist/esm/hooks/useCommonCollectionFeatures.js +8 -7
  114. package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
  115. package/dist/esm/hooks/useEmptyStates.js +6 -5
  116. package/dist/esm/hooks/useEmptyStates.js.map +1 -1
  117. package/dist/esm/hooks/useEntityPageActions.js +82 -0
  118. package/dist/esm/hooks/useEntityPageActions.js.map +1 -0
  119. package/dist/esm/hooks/useEntityPageMoreActions.js +11 -1
  120. package/dist/esm/hooks/useEntityPageMoreActions.js.map +1 -1
  121. package/dist/esm/hooks/useFilters.js +7 -7
  122. package/dist/esm/hooks/useFilters.js.map +1 -1
  123. package/dist/esm/hooks/useNavigateEditEntityAction.js +46 -0
  124. package/dist/esm/hooks/useNavigateEditEntityAction.js.map +1 -0
  125. package/dist/esm/hooks/useNavigationUtils.js +15 -3
  126. package/dist/esm/hooks/useNavigationUtils.js.map +1 -1
  127. package/dist/esm/hooks/usePagePath.js +4 -3
  128. package/dist/esm/hooks/usePagePath.js.map +1 -1
  129. package/dist/esm/hooks/useTableFeatures.js +2 -1
  130. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  131. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  132. package/dist/esm/providers/SchemaContext.js +3 -2
  133. package/dist/esm/providers/SchemaContext.js.map +1 -1
  134. package/dist/esm/providers/SchemaRegistryContext.js +1 -1
  135. package/dist/esm/providers/SchemaRegistryContext.js.map +1 -1
  136. package/dist/esm/types/EntityPageConfig.js.map +1 -1
  137. package/dist/esm/types/actions/entityPageActions.js.map +1 -1
  138. package/dist/esm/utils/actions/customAction.js +2 -1
  139. package/dist/esm/utils/actions/customAction.js.map +1 -1
  140. package/dist/esm/utils/actions/deleteAction.js +10 -5
  141. package/dist/esm/utils/actions/deleteAction.js.map +1 -1
  142. package/dist/esm/utils/actions/types.js.map +1 -1
  143. package/dist/esm/utils/filterCreators.js +11 -11
  144. package/dist/esm/utils/filterCreators.js.map +1 -1
  145. package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
  146. package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts +6 -0
  147. package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts.map +1 -0
  148. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.d.ts +11 -0
  149. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.d.ts.map +1 -0
  150. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.d.ts +13 -0
  151. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.d.ts.map +1 -0
  152. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.d.ts +8 -0
  153. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.d.ts.map +1 -0
  154. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/index.d.ts +3 -0
  155. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/index.d.ts.map +1 -0
  156. package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.d.ts +8 -0
  157. package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.d.ts.map +1 -0
  158. package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.d.ts +8 -0
  159. package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.d.ts.map +1 -0
  160. package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts +8 -0
  161. package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts.map +1 -0
  162. package/dist/types/components/AutoPatternsEntityPage/index.d.ts +2 -0
  163. package/dist/types/components/AutoPatternsEntityPage/index.d.ts.map +1 -1
  164. package/dist/types/hooks/useEntityPageActions.d.ts +9 -0
  165. package/dist/types/hooks/useEntityPageActions.d.ts.map +1 -0
  166. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -1
  167. package/dist/types/hooks/useEntityPageMoreActions.d.ts +2 -2
  168. package/dist/types/hooks/useEntityPageMoreActions.d.ts.map +1 -1
  169. package/dist/types/hooks/useNavigateEditEntityAction.d.ts +6 -0
  170. package/dist/types/hooks/useNavigateEditEntityAction.d.ts.map +1 -0
  171. package/dist/types/hooks/useNavigationUtils.d.ts +1 -0
  172. package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -1
  173. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +2 -2
  174. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  175. package/dist/types/types/EntityPageConfig.d.ts +20 -4
  176. package/dist/types/types/EntityPageConfig.d.ts.map +1 -1
  177. package/dist/types/types/actions/entityPageActions.d.ts +24 -5
  178. package/dist/types/types/actions/entityPageActions.d.ts.map +1 -1
  179. package/dist/types/utils/actions/types.d.ts +1 -1
  180. package/dist/types/utils/actions/types.d.ts.map +1 -1
  181. package/package.json +15 -15
  182. package/dist/docs/config_schema.md +0 -184
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.ViewModeEntityPage = void 0;
5
+ var _react = _interopRequireWildcard(require("react"));
6
+ var _designSystem = require("@wix/design-system");
7
+ var _RenderViewLayoutCard = require("./ViewEntityPage/RenderViewLayoutCard");
8
+ var _reactRouterDom = require("react-router-dom");
9
+ var _providers = require("../../providers");
10
+ var _useNavigationUtils = require("../../hooks/useNavigationUtils");
11
+ var _patterns = require("@wix/patterns");
12
+ var _useEntityPageActions = require("../../hooks/useEntityPageActions");
13
+ var _useEntityPageMoreActions = require("../../hooks/useEntityPageMoreActions");
14
+ var _useActionsSDK = require("../../hooks/useActionsSDK");
15
+ var _useNavigateEditEntityAction = require("../../hooks/useNavigateEditEntityAction");
16
+ var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.tsx";
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ // TODO: temp solution until we have a proper view mode entity page
20
+ const ViewModeEntityPage = ({
21
+ configuration
22
+ }) => {
23
+ var _configuration$subtit, _pageLayout$main, _pageLayout$sidebar;
24
+ const {
25
+ route
26
+ } = configuration;
27
+ const params = (0, _reactRouterDom.useParams)();
28
+ const entityId = params[route.params.id];
29
+ const schema = (0, _providers.useSchema)();
30
+ const {
31
+ layout: pageLayout
32
+ } = configuration;
33
+ const {
34
+ navigateToCollectionPage
35
+ } = (0, _useNavigationUtils.useNavigation)();
36
+ const [entity, setEntity] = (0, _react.useState)(undefined);
37
+ (0, _react.useEffect)(() => {
38
+ let isMounted = true;
39
+ const fetchEntity = async () => {
40
+ if (!entityId) {
41
+ setEntity(undefined);
42
+ return;
43
+ }
44
+ const fetchedEntity = await schema.actions.get(entityId);
45
+ if (isMounted) {
46
+ setEntity(fetchedEntity);
47
+ }
48
+ };
49
+ fetchEntity();
50
+ return () => {
51
+ isMounted = false;
52
+ };
53
+ }, [entityId, schema]);
54
+ const title = (0, _react.useMemo)(() => {
55
+ if (configuration.title) {
56
+ return configuration.title.text;
57
+ } else {
58
+ return (entity == null ? void 0 : entity[schema.displayField]) ?? 'View Item';
59
+ }
60
+ }, [configuration.title, entity, schema.displayField]);
61
+ const subtitle = (_configuration$subtit = configuration.subtitle) == null ? void 0 : _configuration$subtit.text;
62
+ const sdk = (0, _useActionsSDK.useActionsSDK)({
63
+ collectionId: configuration.collectionId
64
+ });
65
+ const actions = (0, _useEntityPageActions.useEntityPageActions)({
66
+ entityPageActions: configuration.actions,
67
+ entity,
68
+ sdk
69
+ });
70
+
71
+ // add OOTB navigate to edit action
72
+ const moreActions = (0, _useNavigateEditEntityAction.useNavigateEditEntityAction)({
73
+ displayName: entity == null ? void 0 : entity[schema.displayField],
74
+ configuration
75
+ });
76
+ const resolvedMoreActions = (0, _useEntityPageMoreActions.useEntityPageMoreActions)(moreActions, entity, sdk);
77
+ return /*#__PURE__*/_react.default.createElement(_designSystem.Page, {
78
+ dataHook: "view-mode-entity-page",
79
+ __self: void 0,
80
+ __source: {
81
+ fileName: _jsxFileName,
82
+ lineNumber: 82,
83
+ columnNumber: 5
84
+ }
85
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Page.Header, {
86
+ title: /*#__PURE__*/_react.default.createElement(_designSystem.Heading, {
87
+ size: "extraLarge",
88
+ __self: void 0,
89
+ __source: {
90
+ fileName: _jsxFileName,
91
+ lineNumber: 84,
92
+ columnNumber: 16
93
+ }
94
+ }, title),
95
+ subtitle: subtitle,
96
+ showBackButton: true,
97
+ onBackClicked: () => navigateToCollectionPage(configuration.parentPageId),
98
+ actionsBar: /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
99
+ gap: "SP2",
100
+ __self: void 0,
101
+ __source: {
102
+ fileName: _jsxFileName,
103
+ lineNumber: 91,
104
+ columnNumber: 11
105
+ }
106
+ }, resolvedMoreActions.length > 0 ? /*#__PURE__*/_react.default.createElement(_patterns.MoreActions, {
107
+ items: resolvedMoreActions,
108
+ __self: void 0,
109
+ __source: {
110
+ fileName: _jsxFileName,
111
+ lineNumber: 93,
112
+ columnNumber: 15
113
+ }
114
+ }) : undefined, actions),
115
+ __self: void 0,
116
+ __source: {
117
+ fileName: _jsxFileName,
118
+ lineNumber: 83,
119
+ columnNumber: 7
120
+ }
121
+ }), /*#__PURE__*/_react.default.createElement(_designSystem.Page.Content, {
122
+ __self: void 0,
123
+ __source: {
124
+ fileName: _jsxFileName,
125
+ lineNumber: 99,
126
+ columnNumber: 7
127
+ }
128
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Layout, {
129
+ __self: void 0,
130
+ __source: {
131
+ fileName: _jsxFileName,
132
+ lineNumber: 100,
133
+ columnNumber: 9
134
+ }
135
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Cell, {
136
+ span: pageLayout != null && pageLayout.sidebar ? 8 : 12,
137
+ __self: void 0,
138
+ __source: {
139
+ fileName: _jsxFileName,
140
+ lineNumber: 101,
141
+ columnNumber: 11
142
+ }
143
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
144
+ direction: "vertical",
145
+ gap: "SP4",
146
+ __self: void 0,
147
+ __source: {
148
+ fileName: _jsxFileName,
149
+ lineNumber: 102,
150
+ columnNumber: 13
151
+ }
152
+ }, pageLayout == null || (_pageLayout$main = pageLayout.main) == null ? void 0 : _pageLayout$main.map((layout, layoutIndex) => /*#__PURE__*/_react.default.createElement(_RenderViewLayoutCard.RenderViewLayoutCard, {
153
+ key: `main-section-card-${layoutIndex}`,
154
+ entity: entity,
155
+ layout: layout,
156
+ sectionId: "main",
157
+ cardIndex: layoutIndex,
158
+ __self: void 0,
159
+ __source: {
160
+ fileName: _jsxFileName,
161
+ lineNumber: 104,
162
+ columnNumber: 17
163
+ }
164
+ })))), pageLayout != null && pageLayout.sidebar ? /*#__PURE__*/_react.default.createElement(_designSystem.Cell, {
165
+ span: 4,
166
+ __self: void 0,
167
+ __source: {
168
+ fileName: _jsxFileName,
169
+ lineNumber: 115,
170
+ columnNumber: 13
171
+ }
172
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
173
+ direction: "vertical",
174
+ gap: "SP4",
175
+ __self: void 0,
176
+ __source: {
177
+ fileName: _jsxFileName,
178
+ lineNumber: 116,
179
+ columnNumber: 15
180
+ }
181
+ }, (_pageLayout$sidebar = pageLayout.sidebar) == null ? void 0 : _pageLayout$sidebar.map((layout, layoutIndex) => /*#__PURE__*/_react.default.createElement(_RenderViewLayoutCard.RenderViewLayoutCard, {
182
+ key: `sidebar-section-card-${layoutIndex}`,
183
+ entity: entity,
184
+ layout: layout,
185
+ sectionId: "sidebar",
186
+ cardIndex: layoutIndex,
187
+ __self: void 0,
188
+ __source: {
189
+ fileName: _jsxFileName,
190
+ lineNumber: 118,
191
+ columnNumber: 19
192
+ }
193
+ })))) : null)));
194
+ };
195
+ exports.ViewModeEntityPage = ViewModeEntityPage;
196
+ //# sourceMappingURL=ViewModeEntityPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_RenderViewLayoutCard","_reactRouterDom","_providers","_useNavigationUtils","_patterns","_useEntityPageActions","_useEntityPageMoreActions","_useActionsSDK","_useNavigateEditEntityAction","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ViewModeEntityPage","configuration","_configuration$subtit","_pageLayout$main","_pageLayout$sidebar","route","params","useParams","entityId","id","schema","useSchema","layout","pageLayout","navigateToCollectionPage","useNavigation","entity","setEntity","useState","undefined","useEffect","isMounted","fetchEntity","fetchedEntity","actions","title","useMemo","text","displayField","subtitle","sdk","useActionsSDK","collectionId","useEntityPageActions","entityPageActions","moreActions","useNavigateEditEntityAction","displayName","resolvedMoreActions","useEntityPageMoreActions","createElement","Page","dataHook","__self","__source","fileName","lineNumber","columnNumber","Header","Heading","size","showBackButton","onBackClicked","parentPageId","actionsBar","Box","gap","length","MoreActions","items","Content","Layout","Cell","span","sidebar","direction","main","map","layoutIndex","RenderViewLayoutCard","key","sectionId","cardIndex","exports"],"sources":["../../../../src/components/AutoPatternsEntityPage/ViewModeEntityPage.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { ViewEntityPageConfig } from '../../types';\nimport { Box, Cell, Heading, Layout, Page } from '@wix/design-system';\nimport { RenderViewLayoutCard } from './ViewEntityPage/RenderViewLayoutCard';\nimport { useParams } from 'react-router-dom';\nimport { useSchema } from '../../providers';\nimport { useNavigation } from '../../hooks/useNavigationUtils';\nimport { MoreActions } from '@wix/patterns';\nimport { useEntityPageActions } from '../../hooks/useEntityPageActions';\nimport { useEntityPageMoreActions } from '../../hooks/useEntityPageMoreActions';\nimport { useActionsSDK } from '../../hooks/useActionsSDK';\nimport { useNavigateEditEntityAction } from '../../hooks/useNavigateEditEntityAction';\n\ninterface ViewModeEntityPageProps {\n configuration: ViewEntityPageConfig;\n}\n\n// TODO: temp solution until we have a proper view mode entity page\nexport const ViewModeEntityPage: React.FC<ViewModeEntityPageProps> = ({\n configuration,\n}) => {\n const { route } = configuration;\n const params = useParams();\n const entityId = params[route.params.id];\n const schema = useSchema();\n const { layout: pageLayout } = configuration;\n const { navigateToCollectionPage } = useNavigation();\n\n const [entity, setEntity] = useState<any>(undefined);\n\n useEffect(() => {\n let isMounted = true;\n const fetchEntity = async () => {\n if (!entityId) {\n setEntity(undefined);\n return;\n }\n const fetchedEntity = await schema.actions.get(entityId);\n if (isMounted) {\n setEntity(fetchedEntity);\n }\n };\n fetchEntity();\n return () => {\n isMounted = false;\n };\n }, [entityId, schema]);\n\n const title = useMemo(() => {\n if (configuration.title) {\n return configuration.title.text;\n } else {\n return entity?.[schema.displayField] ?? 'View Item';\n }\n }, [configuration.title, entity, schema.displayField]);\n\n const subtitle = configuration.subtitle?.text;\n\n const sdk = useActionsSDK({\n collectionId: configuration.collectionId,\n });\n\n const actions = useEntityPageActions({\n entityPageActions: configuration.actions,\n entity,\n sdk,\n });\n\n // add OOTB navigate to edit action\n const moreActions = useNavigateEditEntityAction({\n displayName: entity?.[schema.displayField],\n configuration,\n });\n\n const resolvedMoreActions = useEntityPageMoreActions(\n moreActions,\n entity,\n sdk,\n );\n\n return (\n <Page dataHook=\"view-mode-entity-page\">\n <Page.Header\n title={<Heading size=\"extraLarge\">{title}</Heading>}\n subtitle={subtitle}\n showBackButton\n onBackClicked={() =>\n navigateToCollectionPage(configuration.parentPageId!)\n }\n actionsBar={\n <Box gap=\"SP2\">\n {resolvedMoreActions.length > 0 ? (\n <MoreActions items={resolvedMoreActions} />\n ) : undefined}\n {actions}\n </Box>\n }\n />\n <Page.Content>\n <Layout>\n <Cell span={pageLayout?.sidebar ? 8 : 12}>\n <Box direction=\"vertical\" gap=\"SP4\">\n {pageLayout?.main?.map((layout, layoutIndex) => (\n <RenderViewLayoutCard\n key={`main-section-card-${layoutIndex}`}\n entity={entity}\n layout={layout}\n sectionId=\"main\"\n cardIndex={layoutIndex}\n />\n ))}\n </Box>\n </Cell>\n {pageLayout?.sidebar ? (\n <Cell span={4}>\n <Box direction=\"vertical\" gap=\"SP4\">\n {pageLayout.sidebar?.map((layout, layoutIndex) => (\n <RenderViewLayoutCard\n key={`sidebar-section-card-${layoutIndex}`}\n entity={entity}\n layout={layout}\n sectionId=\"sidebar\"\n cardIndex={layoutIndex}\n />\n ))}\n </Box>\n </Cell>\n ) : null}\n </Layout>\n </Page.Content>\n </Page>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -7,4 +7,16 @@ Object.keys(_AutoPatternsEntityPage).forEach(function (key) {
7
7
  if (key in exports && exports[key] === _AutoPatternsEntityPage[key]) return;
8
8
  exports[key] = _AutoPatternsEntityPage[key];
9
9
  });
10
+ var _ViewModeEntityPage = require("./ViewModeEntityPage");
11
+ Object.keys(_ViewModeEntityPage).forEach(function (key) {
12
+ if (key === "default" || key === "__esModule") return;
13
+ if (key in exports && exports[key] === _ViewModeEntityPage[key]) return;
14
+ exports[key] = _ViewModeEntityPage[key];
15
+ });
16
+ var _RenderLayout = require("./RenderLayout");
17
+ Object.keys(_RenderLayout).forEach(function (key) {
18
+ if (key === "default" || key === "__esModule") return;
19
+ if (key in exports && exports[key] === _RenderLayout[key]) return;
20
+ exports[key] = _RenderLayout[key];
21
+ });
10
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_AutoPatternsEntityPage","require","Object","keys","forEach","key","exports"],"sources":["../../../../src/components/AutoPatternsEntityPage/index.ts"],"sourcesContent":["export * from './AutoPatternsEntityPage';\n"],"mappings":";;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,uBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,uBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,uBAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_AutoPatternsEntityPage","require","Object","keys","forEach","key","exports","_ViewModeEntityPage","_RenderLayout"],"sources":["../../../../src/components/AutoPatternsEntityPage/index.ts"],"sourcesContent":["export * from './AutoPatternsEntityPage';\nexport * from './ViewModeEntityPage';\nexport * from './RenderLayout';\n"],"mappings":";;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,uBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,uBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,uBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,mBAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,mBAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,mBAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,mBAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,aAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,aAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,aAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,aAAA,CAAAH,GAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.useEntityPageActions = void 0;
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _actions = require("../utils/actions");
9
+ var _patterns = require("@wix/patterns");
10
+ var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/hooks/useEntityPageActions.tsx";
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ const useEntityPageActions = ({
14
+ entityPageActions,
15
+ entity,
16
+ sdk
17
+ }) => {
18
+ const buildEntityPageActions = (0, _react.useCallback)(() => {
19
+ if (!entityPageActions) {
20
+ return;
21
+ }
22
+ const buildAction = actionConfig => {
23
+ let actionToResolve = null;
24
+ const baseParams = {
25
+ actionParams: {
26
+ entity
27
+ },
28
+ sdk
29
+ };
30
+ switch (actionConfig.type) {
31
+ case 'create':
32
+ actionToResolve = (0, _actions.createAction)({
33
+ action: actionConfig,
34
+ ...baseParams
35
+ });
36
+ break;
37
+ case 'custom':
38
+ actionToResolve = (0, _actions.customAction)({
39
+ action: actionConfig,
40
+ ...baseParams
41
+ });
42
+ break;
43
+ default:
44
+ return null;
45
+ }
46
+ if (!actionToResolve) {
47
+ return null;
48
+ }
49
+ const resolvedAction = (0, _actions.resolveAction)(actionConfig, actionToResolve);
50
+ const {
51
+ tooltip,
52
+ icon,
53
+ ...resolvedActionProps
54
+ } = resolvedAction;
55
+ return {
56
+ ...resolvedActionProps,
57
+ prefixIcon: icon,
58
+ disabledDescription: resolvedAction.tooltip
59
+ };
60
+ };
61
+ const handleActionsType = actions => {
62
+ if (actions.type === 'action') {
63
+ return buildAction(actions.action.item);
64
+ }
65
+ if (actions.type === 'menu') {
66
+ const actionGroups = (0, _actions.groupActions)(actions.menu.items);
67
+ const subItems = actionGroups.map(group => group.map(buildAction).filter(action => action !== null)).filter(group => group.length > 0);
68
+ if (!subItems.length) {
69
+ return null;
70
+ }
71
+ return {
72
+ label: actions.menu.label,
73
+ subItems
74
+ };
75
+ }
76
+ return null;
77
+ };
78
+ const primaryActions = (entityPageActions == null ? void 0 : entityPageActions.primaryActions) && handleActionsType(entityPageActions.primaryActions);
79
+ const secondaryActions = (entityPageActions == null ? void 0 : entityPageActions.secondaryActions) && handleActionsType(entityPageActions.secondaryActions);
80
+ if (!primaryActions && !secondaryActions) {
81
+ return;
82
+ }
83
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, secondaryActions ? /*#__PURE__*/_react.default.createElement(_patterns.SecondaryActions, (0, _extends2.default)({}, secondaryActions, {
84
+ __self: void 0,
85
+ __source: {
86
+ fileName: _jsxFileName,
87
+ lineNumber: 121,
88
+ columnNumber: 11
89
+ }
90
+ })) : undefined, primaryActions ? /*#__PURE__*/_react.default.createElement(_patterns.PrimaryActions, (0, _extends2.default)({}, primaryActions, {
91
+ __self: void 0,
92
+ __source: {
93
+ fileName: _jsxFileName,
94
+ lineNumber: 123,
95
+ columnNumber: 27
96
+ }
97
+ })) : undefined);
98
+ }, [entityPageActions, entity, sdk]);
99
+ if (!(entityPageActions != null && entityPageActions.primaryActions) && !(entityPageActions != null && entityPageActions.secondaryActions)) {
100
+ return null;
101
+ }
102
+ return buildEntityPageActions() ?? null;
103
+ };
104
+ exports.useEntityPageActions = useEntityPageActions;
105
+ //# sourceMappingURL=useEntityPageActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_actions","_patterns","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useEntityPageActions","entityPageActions","entity","sdk","buildEntityPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","createAction","action","customAction","resolvedAction","resolveAction","tooltip","icon","resolvedActionProps","prefixIcon","disabledDescription","handleActionsType","actions","item","actionGroups","groupActions","menu","items","subItems","map","group","filter","length","label","primaryActions","secondaryActions","createElement","Fragment","SecondaryActions","_extends2","__self","__source","fileName","lineNumber","columnNumber","undefined","PrimaryActions","exports"],"sources":["../../../src/hooks/useEntityPageActions.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport {\n ActionsSDK,\n EntityPageActionConfig,\n EntityPageConfig,\n EntityPagePrimaryActions,\n EntityPageSecondaryActions,\n ResolvedAction,\n} from '../types';\nimport {\n createAction,\n customAction,\n resolveAction,\n groupActions,\n} from '../utils/actions';\nimport { IconElement } from '@wix/design-system';\nimport { PrimaryActions, SecondaryActions } from '@wix/patterns';\n\nexport interface UseEntityPageActionsParams {\n entityPageActions: EntityPageConfig['actions'];\n entity: Record<string, any>;\n sdk: ActionsSDK;\n}\n\nexport const useEntityPageActions = ({\n entityPageActions,\n entity,\n sdk,\n}: UseEntityPageActionsParams) => {\n const buildEntityPageActions = useCallback(() => {\n if (!entityPageActions) {\n return;\n }\n\n const buildAction = (actionConfig: EntityPageActionConfig) => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: {\n entity,\n },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'create':\n actionToResolve = createAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { tooltip, icon, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n prefixIcon: icon as IconElement,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const handleActionsType = (\n actions: EntityPagePrimaryActions | EntityPageSecondaryActions,\n ) => {\n if (actions.type === 'action') {\n return buildAction(actions.action.item);\n }\n\n if (actions.type === 'menu') {\n const actionGroups = groupActions(actions.menu.items);\n const subItems = actionGroups\n .map((group) =>\n group.map(buildAction).filter((action) => action !== null),\n )\n .filter((group) => group.length > 0);\n\n if (!subItems.length) {\n return null;\n }\n\n return {\n label: actions.menu.label,\n subItems,\n };\n }\n\n return null;\n };\n\n const primaryActions =\n entityPageActions?.primaryActions &&\n handleActionsType(entityPageActions.primaryActions);\n\n const secondaryActions =\n entityPageActions?.secondaryActions &&\n handleActionsType(entityPageActions.secondaryActions);\n\n if (!primaryActions && !secondaryActions) {\n return;\n }\n\n return (\n <>\n {secondaryActions ? (\n <SecondaryActions {...secondaryActions} />\n ) : undefined}\n {primaryActions ? <PrimaryActions {...primaryActions} /> : undefined}\n </>\n );\n }, [entityPageActions, entity, sdk]);\n\n if (\n !entityPageActions?.primaryActions &&\n !entityPageActions?.secondaryActions\n ) {\n return null;\n }\n\n return buildEntityPageActions() ?? null;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,16 @@ function useEntityPageMoreActions(moreActions, entity, sdk, form) {
19
19
  sdk
20
20
  };
21
21
  switch (actionConfig.type) {
22
+ case 'update':
23
+ actionToResolve = (0, _actions.updateAction)({
24
+ action: actionConfig,
25
+ ...baseParams,
26
+ actionParams: {
27
+ ...baseParams.actionParams,
28
+ item: entity
29
+ }
30
+ });
31
+ break;
22
32
  case 'custom':
23
33
  actionToResolve = (0, _actions.customAction)({
24
34
  action: actionConfig,
@@ -1 +1 @@
1
- {"version":3,"names":["_actions","require","_react","useEntityPageMoreActions","moreActions","entity","sdk","form","buildEntityPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","customAction","action","resolved","resolveAction","onClick","text","label","prefixIcon","icon","disabled","actionGroups","groupActions","map","group","filter","Boolean","length"],"sources":["../../../src/hooks/useEntityPageMoreActions.ts"],"sourcesContent":["import { ActionsSDK, ResolvedAction } from '../types';\nimport { EntityPageMoreActions } from '../types/actions';\nimport { customAction, resolveAction, groupActions } from '../utils/actions';\nimport { useCallback } from 'react';\nimport { MoreActionsItem } from '@wix/patterns';\nimport { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport { CustomActionConfig } from '../types/actions/base';\n\nexport function useEntityPageMoreActions(\n moreActions: EntityPageMoreActions | undefined,\n entity: Record<string, any>,\n sdk: ActionsSDK,\n form: UseFormReturn<FieldValues, any, undefined>,\n) {\n const buildEntityPageActions = useCallback(() => {\n if (!moreActions) {\n return;\n }\n\n const buildAction = (\n actionConfig: CustomActionConfig,\n ): MoreActionsItem | null => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n const baseParams = {\n actionParams: { entity, form },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolved = resolveAction(\n actionConfig,\n actionToResolve,\n ) as ResolvedAction;\n\n return {\n onClick: resolved.onClick,\n text: resolved.label,\n prefixIcon: resolved.icon,\n disabled: resolved.disabled,\n };\n };\n\n const actionGroups = groupActions(moreActions);\n return actionGroups\n .map((group) =>\n group\n .map(buildAction)\n .filter((action): action is MoreActionsItem => Boolean(action)),\n )\n .filter((group) => group.length > 0);\n }, [moreActions, sdk, entity, form]);\n\n return buildEntityPageActions() ?? [];\n}\n"],"mappings":";;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKO,SAASE,wBAAwBA,CACtCC,WAA8C,EAC9CC,MAA2B,EAC3BC,GAAe,EACfC,IAAgD,EAChD;EACA,MAAMC,sBAAsB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC/C,IAAI,CAACL,WAAW,EAAE;MAChB;IACF;IAEA,MAAMM,WAAW,GACfC,YAAgC,IACL;MAC3B,IAAIC,eAA+C,GAAG,IAAI;MAC1D,MAAMC,UAAU,GAAG;QACjBC,YAAY,EAAE;UAAET,MAAM;UAAEE;QAAK,CAAC;QAC9BD;MACF,CAAC;MAED,QAAQK,YAAY,CAACI,IAAI;QACvB,KAAK,QAAQ;UACXH,eAAe,GAAG,IAAAI,qBAAY,EAAC;YAC7BC,MAAM,EAAEN,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QACF;UACE,OAAO,IAAI;MACf;MAEA,IAAI,CAACD,eAAe,EAAE;QACpB,OAAO,IAAI;MACb;MAEA,MAAMM,QAAQ,GAAG,IAAAC,sBAAa,EAC5BR,YAAY,EACZC,eACF,CAAmB;MAEnB,OAAO;QACLQ,OAAO,EAAEF,QAAQ,CAACE,OAAO;QACzBC,IAAI,EAAEH,QAAQ,CAACI,KAAK;QACpBC,UAAU,EAAEL,QAAQ,CAACM,IAAI;QACzBC,QAAQ,EAAEP,QAAQ,CAACO;MACrB,CAAC;IACH,CAAC;IAED,MAAMC,YAAY,GAAG,IAAAC,qBAAY,EAACvB,WAAW,CAAC;IAC9C,OAAOsB,YAAY,CAChBE,GAAG,CAAEC,KAAK,IACTA,KAAK,CACFD,GAAG,CAAClB,WAAW,CAAC,CAChBoB,MAAM,CAAEb,MAAM,IAAgCc,OAAO,CAACd,MAAM,CAAC,CAClE,CAAC,CACAa,MAAM,CAAED,KAAK,IAAKA,KAAK,CAACG,MAAM,GAAG,CAAC,CAAC;EACxC,CAAC,EAAE,CAAC5B,WAAW,EAAEE,GAAG,EAAED,MAAM,EAAEE,IAAI,CAAC,CAAC;EAEpC,OAAOC,sBAAsB,CAAC,CAAC,IAAI,EAAE;AACvC","ignoreList":[]}
1
+ {"version":3,"names":["_actions","require","_react","useEntityPageMoreActions","moreActions","entity","sdk","form","buildEntityPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","updateAction","action","item","customAction","resolved","resolveAction","onClick","text","label","prefixIcon","icon","disabled","actionGroups","groupActions","map","group","filter","Boolean","length"],"sources":["../../../src/hooks/useEntityPageMoreActions.ts"],"sourcesContent":["import { ActionsSDK, ResolvedAction } from '../types';\nimport {\n customAction,\n resolveAction,\n groupActions,\n updateAction,\n} from '../utils/actions';\nimport { useCallback } from 'react';\nimport { MoreActionsItem } from '@wix/patterns';\nimport { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport {\n CustomActionConfig,\n DividerActionConfig,\n UpdateActionConfig,\n} from '../types/actions/base';\n\nexport function useEntityPageMoreActions(\n moreActions:\n | (CustomActionConfig | UpdateActionConfig | DividerActionConfig)[]\n | undefined,\n entity: Record<string, any>,\n sdk: ActionsSDK,\n form?: UseFormReturn<FieldValues, any, undefined>,\n) {\n const buildEntityPageActions = useCallback(() => {\n if (!moreActions) {\n return;\n }\n\n const buildAction = (\n actionConfig: CustomActionConfig | UpdateActionConfig,\n ): MoreActionsItem | null => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n const baseParams = {\n actionParams: { entity, form },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'update':\n actionToResolve = updateAction({\n action: actionConfig,\n ...baseParams,\n actionParams: {\n ...baseParams.actionParams,\n item: entity,\n },\n });\n break;\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolved = resolveAction(\n actionConfig,\n actionToResolve,\n ) as ResolvedAction;\n\n return {\n onClick: resolved.onClick,\n text: resolved.label,\n prefixIcon: resolved.icon,\n disabled: resolved.disabled,\n };\n };\n\n const actionGroups = groupActions(moreActions);\n return actionGroups\n .map((group) =>\n group\n .map(buildAction)\n .filter((action): action is MoreActionsItem => Boolean(action)),\n )\n .filter((group) => group.length > 0);\n }, [moreActions, sdk, entity, form]);\n\n return buildEntityPageActions() ?? [];\n}\n"],"mappings":";;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AASO,SAASE,wBAAwBA,CACtCC,WAEa,EACbC,MAA2B,EAC3BC,GAAe,EACfC,IAAiD,EACjD;EACA,MAAMC,sBAAsB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC/C,IAAI,CAACL,WAAW,EAAE;MAChB;IACF;IAEA,MAAMM,WAAW,GACfC,YAAqD,IAC1B;MAC3B,IAAIC,eAA+C,GAAG,IAAI;MAC1D,MAAMC,UAAU,GAAG;QACjBC,YAAY,EAAE;UAAET,MAAM;UAAEE;QAAK,CAAC;QAC9BD;MACF,CAAC;MAED,QAAQK,YAAY,CAACI,IAAI;QACvB,KAAK,QAAQ;UACXH,eAAe,GAAG,IAAAI,qBAAY,EAAC;YAC7BC,MAAM,EAAEN,YAAY;YACpB,GAAGE,UAAU;YACbC,YAAY,EAAE;cACZ,GAAGD,UAAU,CAACC,YAAY;cAC1BI,IAAI,EAAEb;YACR;UACF,CAAC,CAAC;UACF;QACF,KAAK,QAAQ;UACXO,eAAe,GAAG,IAAAO,qBAAY,EAAC;YAC7BF,MAAM,EAAEN,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QACF;UACE,OAAO,IAAI;MACf;MAEA,IAAI,CAACD,eAAe,EAAE;QACpB,OAAO,IAAI;MACb;MAEA,MAAMQ,QAAQ,GAAG,IAAAC,sBAAa,EAC5BV,YAAY,EACZC,eACF,CAAmB;MAEnB,OAAO;QACLU,OAAO,EAAEF,QAAQ,CAACE,OAAO;QACzBC,IAAI,EAAEH,QAAQ,CAACI,KAAK;QACpBC,UAAU,EAAEL,QAAQ,CAACM,IAAI;QACzBC,QAAQ,EAAEP,QAAQ,CAACO;MACrB,CAAC;IACH,CAAC;IAED,MAAMC,YAAY,GAAG,IAAAC,qBAAY,EAACzB,WAAW,CAAC;IAC9C,OAAOwB,YAAY,CAChBE,GAAG,CAAEC,KAAK,IACTA,KAAK,CACFD,GAAG,CAACpB,WAAW,CAAC,CAChBsB,MAAM,CAAEf,MAAM,IAAgCgB,OAAO,CAAChB,MAAM,CAAC,CAClE,CAAC,CACAe,MAAM,CAAED,KAAK,IAAKA,KAAK,CAACG,MAAM,GAAG,CAAC,CAAC;EACxC,CAAC,EAAE,CAAC9B,WAAW,EAAEE,GAAG,EAAED,MAAM,EAAEE,IAAI,CAAC,CAAC;EAEpC,OAAOC,sBAAsB,CAAC,CAAC,IAAI,EAAE;AACvC","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useNavigateEditEntityAction = void 0;
5
+ var _react = require("react");
6
+ var _providers = require("../providers");
7
+ const useNavigateEditEntityAction = ({
8
+ displayName,
9
+ configuration
10
+ }) => {
11
+ var _configuration$action3;
12
+ const appConfig = (0, _providers.useAppConfigContext)();
13
+ const editPageId = (0, _react.useMemo)(() => {
14
+ // Find edit page by matching collectionId and looking for edit mode
15
+ const editPage = appConfig.pages.find(page => {
16
+ if (page.type !== 'entityPage') {
17
+ return false;
18
+ }
19
+ const entityPage = page.entityPage;
20
+ // Check if same collection and is edit mode (either no mode specified or mode: 'edit')
21
+ return entityPage.collectionId === configuration.collectionId && (!entityPage.mode || entityPage.mode === 'edit');
22
+ });
23
+ return editPage == null ? void 0 : editPage.id;
24
+ }, [appConfig.pages, configuration.collectionId]);
25
+ return (0, _react.useMemo)(() => {
26
+ var _configuration$action2;
27
+ // Don't show edit action if no edit page is found
28
+ if (!editPageId) {
29
+ var _configuration$action;
30
+ return ((_configuration$action = configuration.actions) == null ? void 0 : _configuration$action.moreActions) || [];
31
+ }
32
+ const navigateToEditAction = {
33
+ id: 'navigate-to-edit',
34
+ label: `Edit ${displayName}`,
35
+ type: 'update',
36
+ update: {
37
+ mode: 'page',
38
+ page: {
39
+ id: editPageId
40
+ }
41
+ }
42
+ };
43
+ if (!((_configuration$action2 = configuration.actions) != null && _configuration$action2.moreActions)) {
44
+ return [navigateToEditAction];
45
+ }
46
+ return [navigateToEditAction, ...configuration.actions.moreActions];
47
+ }, [(_configuration$action3 = configuration.actions) == null ? void 0 : _configuration$action3.moreActions, displayName, editPageId]);
48
+ };
49
+ exports.useNavigateEditEntityAction = useNavigateEditEntityAction;
50
+ //# sourceMappingURL=useNavigateEditEntityAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_providers","useNavigateEditEntityAction","displayName","configuration","_configuration$action3","appConfig","useAppConfigContext","editPageId","useMemo","editPage","pages","find","page","type","entityPage","collectionId","mode","id","_configuration$action2","_configuration$action","actions","moreActions","navigateToEditAction","label","update","exports"],"sources":["../../../src/hooks/useNavigateEditEntityAction.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { UpdateActionConfig, ViewEntityPageConfig } from '../types';\nimport { useAppConfigContext } from '../providers';\n\nexport const useNavigateEditEntityAction = ({\n displayName,\n configuration,\n}: {\n displayName: string;\n configuration: ViewEntityPageConfig;\n}) => {\n const appConfig = useAppConfigContext();\n\n const editPageId = useMemo(() => {\n // Find edit page by matching collectionId and looking for edit mode\n const editPage = appConfig.pages.find((page) => {\n if (page.type !== 'entityPage') {\n return false;\n }\n\n const entityPage = page.entityPage;\n // Check if same collection and is edit mode (either no mode specified or mode: 'edit')\n return (\n entityPage.collectionId === configuration.collectionId &&\n (!entityPage.mode || entityPage.mode === 'edit')\n );\n });\n\n return editPage?.id;\n }, [appConfig.pages, configuration.collectionId]);\n\n return useMemo(() => {\n // Don't show edit action if no edit page is found\n if (!editPageId) {\n return configuration.actions?.moreActions || [];\n }\n\n const navigateToEditAction: UpdateActionConfig = {\n id: 'navigate-to-edit',\n label: `Edit ${displayName}`,\n type: 'update',\n update: {\n mode: 'page',\n page: {\n id: editPageId,\n },\n },\n };\n\n if (!configuration.actions?.moreActions) {\n return [navigateToEditAction];\n }\n return [navigateToEditAction, ...configuration.actions.moreActions];\n }, [configuration.actions?.moreActions, displayName, editPageId]);\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAEO,MAAME,2BAA2B,GAAGA,CAAC;EAC1CC,WAAW;EACXC;AAIF,CAAC,KAAK;EAAA,IAAAC,sBAAA;EACJ,MAAMC,SAAS,GAAG,IAAAC,8BAAmB,EAAC,CAAC;EAEvC,MAAMC,UAAU,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC/B;IACA,MAAMC,QAAQ,GAAGJ,SAAS,CAACK,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAK;MAC9C,IAAIA,IAAI,CAACC,IAAI,KAAK,YAAY,EAAE;QAC9B,OAAO,KAAK;MACd;MAEA,MAAMC,UAAU,GAAGF,IAAI,CAACE,UAAU;MAClC;MACA,OACEA,UAAU,CAACC,YAAY,KAAKZ,aAAa,CAACY,YAAY,KACrD,CAACD,UAAU,CAACE,IAAI,IAAIF,UAAU,CAACE,IAAI,KAAK,MAAM,CAAC;IAEpD,CAAC,CAAC;IAEF,OAAOP,QAAQ,oBAARA,QAAQ,CAAEQ,EAAE;EACrB,CAAC,EAAE,CAACZ,SAAS,CAACK,KAAK,EAAEP,aAAa,CAACY,YAAY,CAAC,CAAC;EAEjD,OAAO,IAAAP,cAAO,EAAC,MAAM;IAAA,IAAAU,sBAAA;IACnB;IACA,IAAI,CAACX,UAAU,EAAE;MAAA,IAAAY,qBAAA;MACf,OAAO,EAAAA,qBAAA,GAAAhB,aAAa,CAACiB,OAAO,qBAArBD,qBAAA,CAAuBE,WAAW,KAAI,EAAE;IACjD;IAEA,MAAMC,oBAAwC,GAAG;MAC/CL,EAAE,EAAE,kBAAkB;MACtBM,KAAK,EAAE,QAAQrB,WAAW,EAAE;MAC5BW,IAAI,EAAE,QAAQ;MACdW,MAAM,EAAE;QACNR,IAAI,EAAE,MAAM;QACZJ,IAAI,EAAE;UACJK,EAAE,EAAEV;QACN;MACF;IACF,CAAC;IAED,IAAI,GAAAW,sBAAA,GAACf,aAAa,CAACiB,OAAO,aAArBF,sBAAA,CAAuBG,WAAW,GAAE;MACvC,OAAO,CAACC,oBAAoB,CAAC;IAC/B;IACA,OAAO,CAACA,oBAAoB,EAAE,GAAGnB,aAAa,CAACiB,OAAO,CAACC,WAAW,CAAC;EACrE,CAAC,EAAE,EAAAjB,sBAAA,GAACD,aAAa,CAACiB,OAAO,qBAArBhB,sBAAA,CAAuBiB,WAAW,EAAEnB,WAAW,EAAEK,UAAU,CAAC,CAAC;AACnE,CAAC;AAACkB,OAAA,CAAAxB,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -9,7 +9,8 @@ var _reactRouterDom = require("react-router-dom");
9
9
  var _usePagePath = require("./usePagePath");
10
10
  const useNavigation = () => {
11
11
  const {
12
- navigateToEntityPage: navigateToEntityPagePatterns
12
+ navigateToEntityPage: navigateToEntityPagePatterns,
13
+ navigateToCollectionPage: navigateToCollectionPagePatterns
13
14
  } = (0, _router.usePatternsNavigate)();
14
15
  const appConfig = (0, _providers.useAppConfigContext)();
15
16
  const {
@@ -42,11 +43,21 @@ const useNavigation = () => {
42
43
  });
43
44
  }
44
45
  }, [appConfig, navigateToEntityPagePatterns, getSchema]);
46
+ const navigateToCollectionPage = (0, _react.useCallback)(parentPageId => {
47
+ const parentPagePath = getPagePath(parentPageId);
48
+ if (!parentPagePath) {
49
+ return;
50
+ }
51
+ navigateToCollectionPagePatterns({
52
+ path: parentPagePath
53
+ });
54
+ }, [navigateToCollectionPagePatterns, getPagePath]);
45
55
  const getParentPagePath = (0, _react.useCallback)(parentPageId => {
46
56
  return getPagePath(parentPageId);
47
57
  }, [getPagePath]);
48
58
  return {
49
59
  navigateToEntityPage,
60
+ navigateToCollectionPage,
50
61
  getParentPagePath,
51
62
  getPagePath
52
63
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_router","_providers","_reactRouterDom","_usePagePath","useNavigation","navigateToEntityPage","navigateToEntityPagePatterns","usePatternsNavigate","appConfig","useAppConfigContext","getSchema","useSchemaRegistry","getPagePath","usePagePath","useCallback","item","entityPageId","_route$params","entityPage","pages","find","page","id","route","collectionId","schema","path","params","generatePath","idField","entity","getParentPagePath","parentPageId","exports"],"sources":["../../../src/hooks/useNavigationUtils.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { usePatternsNavigate } from '@wix/patterns/router';\nimport { useAppConfigContext, useSchemaRegistry } from '../providers';\nimport { generatePath } from 'react-router-dom';\nimport { EntityPageConfig } from '../types';\nimport { usePagePath } from './usePagePath';\n\nexport type NavigateToEntityPageFunc = (args: {\n item: any;\n entityPageId?: string;\n}) => void;\n\nexport const useNavigation = () => {\n const { navigateToEntityPage: navigateToEntityPagePatterns } =\n usePatternsNavigate();\n const appConfig = useAppConfigContext();\n const { getSchema } = useSchemaRegistry();\n const { getPagePath } = usePagePath(appConfig);\n\n const navigateToEntityPage = useCallback(\n ({ item, entityPageId }) => {\n const entityPage = entityPageId\n ? appConfig.pages.find((page) => page.id === entityPageId)\n : null;\n\n if (!entityPage) {\n return;\n }\n\n const { route, collectionId } = entityPage.entityPage as EntityPageConfig;\n const schema = getSchema(collectionId);\n if (route.path && route.params?.id && schema) {\n const path = generatePath(route.path, {\n [route.params.id]: item?.[schema.idField] ?? '',\n });\n navigateToEntityPagePatterns({\n path,\n entity: item,\n });\n }\n },\n [appConfig, navigateToEntityPagePatterns, getSchema],\n );\n\n const getParentPagePath = useCallback(\n (parentPageId?: string): string | undefined => {\n return getPagePath(parentPageId);\n },\n [getPagePath],\n );\n\n return {\n navigateToEntityPage,\n getParentPagePath,\n getPagePath,\n };\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAJ,OAAA;AAOO,MAAMK,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM;IAAEC,oBAAoB,EAAEC;EAA6B,CAAC,GAC1D,IAAAC,2BAAmB,EAAC,CAAC;EACvB,MAAMC,SAAS,GAAG,IAAAC,8BAAmB,EAAC,CAAC;EACvC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,4BAAiB,EAAC,CAAC;EACzC,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,wBAAW,EAACL,SAAS,CAAC;EAE9C,MAAMH,oBAAoB,GAAG,IAAAS,kBAAW,EACtC,CAAC;IAAEC,IAAI;IAAEC;EAAa,CAAC,KAAK;IAAA,IAAAC,aAAA;IAC1B,MAAMC,UAAU,GAAGF,YAAY,GAC3BR,SAAS,CAACW,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKN,YAAY,CAAC,GACxD,IAAI;IAER,IAAI,CAACE,UAAU,EAAE;MACf;IACF;IAEA,MAAM;MAAEK,KAAK;MAAEC;IAAa,CAAC,GAAGN,UAAU,CAACA,UAA8B;IACzE,MAAMO,MAAM,GAAGf,SAAS,CAACc,YAAY,CAAC;IACtC,IAAID,KAAK,CAACG,IAAI,KAAAT,aAAA,GAAIM,KAAK,CAACI,MAAM,aAAZV,aAAA,CAAcK,EAAE,IAAIG,MAAM,EAAE;MAC5C,MAAMC,IAAI,GAAG,IAAAE,4BAAY,EAACL,KAAK,CAACG,IAAI,EAAE;QACpC,CAACH,KAAK,CAACI,MAAM,CAACL,EAAE,GAAG,CAAAP,IAAI,oBAAJA,IAAI,CAAGU,MAAM,CAACI,OAAO,CAAC,KAAI;MAC/C,CAAC,CAAC;MACFvB,4BAA4B,CAAC;QAC3BoB,IAAI;QACJI,MAAM,EAAEf;MACV,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACP,SAAS,EAAEF,4BAA4B,EAAEI,SAAS,CACrD,CAAC;EAED,MAAMqB,iBAAiB,GAAG,IAAAjB,kBAAW,EAClCkB,YAAqB,IAAyB;IAC7C,OAAOpB,WAAW,CAACoB,YAAY,CAAC;EAClC,CAAC,EACD,CAACpB,WAAW,CACd,CAAC;EAED,OAAO;IACLP,oBAAoB;IACpB0B,iBAAiB;IACjBnB;EACF,CAAC;AACH,CAAC;AAACqB,OAAA,CAAA7B,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_router","_providers","_reactRouterDom","_usePagePath","useNavigation","navigateToEntityPage","navigateToEntityPagePatterns","navigateToCollectionPage","navigateToCollectionPagePatterns","usePatternsNavigate","appConfig","useAppConfigContext","getSchema","useSchemaRegistry","getPagePath","usePagePath","useCallback","item","entityPageId","_route$params","entityPage","pages","find","page","id","route","collectionId","schema","path","params","generatePath","idField","entity","parentPageId","parentPagePath","getParentPagePath","exports"],"sources":["../../../src/hooks/useNavigationUtils.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { usePatternsNavigate } from '@wix/patterns/router';\nimport { useAppConfigContext, useSchemaRegistry } from '../providers';\nimport { generatePath } from 'react-router-dom';\nimport { EntityPageConfig } from '../types';\nimport { usePagePath } from './usePagePath';\n\nexport type NavigateToEntityPageFunc = (args: {\n item: any;\n entityPageId?: string;\n}) => void;\n\nexport const useNavigation = () => {\n const {\n navigateToEntityPage: navigateToEntityPagePatterns,\n navigateToCollectionPage: navigateToCollectionPagePatterns,\n } = usePatternsNavigate();\n const appConfig = useAppConfigContext();\n const { getSchema } = useSchemaRegistry();\n const { getPagePath } = usePagePath(appConfig);\n\n const navigateToEntityPage = useCallback(\n ({ item, entityPageId }) => {\n const entityPage = entityPageId\n ? appConfig.pages.find((page) => page.id === entityPageId)\n : null;\n\n if (!entityPage) {\n return;\n }\n\n const { route, collectionId } = entityPage.entityPage as EntityPageConfig;\n const schema = getSchema(collectionId);\n if (route.path && route.params?.id && schema) {\n const path = generatePath(route.path, {\n [route.params.id]: item?.[schema.idField] ?? '',\n });\n navigateToEntityPagePatterns({\n path,\n entity: item,\n });\n }\n },\n [appConfig, navigateToEntityPagePatterns, getSchema],\n );\n\n const navigateToCollectionPage = useCallback(\n (parentPageId: string) => {\n const parentPagePath = getPagePath(parentPageId);\n if (!parentPagePath) {\n return;\n }\n navigateToCollectionPagePatterns({\n path: parentPagePath,\n });\n },\n [navigateToCollectionPagePatterns, getPagePath],\n );\n\n const getParentPagePath = useCallback(\n (parentPageId?: string): string | undefined => {\n return getPagePath(parentPageId);\n },\n [getPagePath],\n );\n\n return {\n navigateToEntityPage,\n navigateToCollectionPage,\n getParentPagePath,\n getPagePath,\n };\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAJ,OAAA;AAOO,MAAMK,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM;IACJC,oBAAoB,EAAEC,4BAA4B;IAClDC,wBAAwB,EAAEC;EAC5B,CAAC,GAAG,IAAAC,2BAAmB,EAAC,CAAC;EACzB,MAAMC,SAAS,GAAG,IAAAC,8BAAmB,EAAC,CAAC;EACvC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,4BAAiB,EAAC,CAAC;EACzC,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,wBAAW,EAACL,SAAS,CAAC;EAE9C,MAAML,oBAAoB,GAAG,IAAAW,kBAAW,EACtC,CAAC;IAAEC,IAAI;IAAEC;EAAa,CAAC,KAAK;IAAA,IAAAC,aAAA;IAC1B,MAAMC,UAAU,GAAGF,YAAY,GAC3BR,SAAS,CAACW,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKN,YAAY,CAAC,GACxD,IAAI;IAER,IAAI,CAACE,UAAU,EAAE;MACf;IACF;IAEA,MAAM;MAAEK,KAAK;MAAEC;IAAa,CAAC,GAAGN,UAAU,CAACA,UAA8B;IACzE,MAAMO,MAAM,GAAGf,SAAS,CAACc,YAAY,CAAC;IACtC,IAAID,KAAK,CAACG,IAAI,KAAAT,aAAA,GAAIM,KAAK,CAACI,MAAM,aAAZV,aAAA,CAAcK,EAAE,IAAIG,MAAM,EAAE;MAC5C,MAAMC,IAAI,GAAG,IAAAE,4BAAY,EAACL,KAAK,CAACG,IAAI,EAAE;QACpC,CAACH,KAAK,CAACI,MAAM,CAACL,EAAE,GAAG,CAAAP,IAAI,oBAAJA,IAAI,CAAGU,MAAM,CAACI,OAAO,CAAC,KAAI;MAC/C,CAAC,CAAC;MACFzB,4BAA4B,CAAC;QAC3BsB,IAAI;QACJI,MAAM,EAAEf;MACV,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACP,SAAS,EAAEJ,4BAA4B,EAAEM,SAAS,CACrD,CAAC;EAED,MAAML,wBAAwB,GAAG,IAAAS,kBAAW,EACzCiB,YAAoB,IAAK;IACxB,MAAMC,cAAc,GAAGpB,WAAW,CAACmB,YAAY,CAAC;IAChD,IAAI,CAACC,cAAc,EAAE;MACnB;IACF;IACA1B,gCAAgC,CAAC;MAC/BoB,IAAI,EAAEM;IACR,CAAC,CAAC;EACJ,CAAC,EACD,CAAC1B,gCAAgC,EAAEM,WAAW,CAChD,CAAC;EAED,MAAMqB,iBAAiB,GAAG,IAAAnB,kBAAW,EAClCiB,YAAqB,IAAyB;IAC7C,OAAOnB,WAAW,CAACmB,YAAY,CAAC;EAClC,CAAC,EACD,CAACnB,WAAW,CACd,CAAC;EAED,OAAO;IACLT,oBAAoB;IACpBE,wBAAwB;IACxB4B,iBAAiB;IACjBrB;EACF,CAAC;AACH,CAAC;AAACsB,OAAA,CAAAhC,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PatternsWizardOverridesContext","createContext","undefined","PatternsWizardOverridesProvider","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","exports","usePatternsWizardOverridesContext","useContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport {\n CustomComponentProps,\n CustomActionCellActionResolver,\n CustomEntityPageMoreActionsActionResolver,\n CustomBulkActionsActionResolver,\n CustomActionCollectionPageActionResolver,\n CustomActionCollectionPageActionOnRowClickResolver,\n IColumnValue,\n SchemaConfig,\n} from '../types';\n\nimport { Section } from '@wix/patterns';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<\n string,\n | CustomActionCellActionResolver\n | CustomBulkActionsActionResolver\n | CustomEntityPageMoreActionsActionResolver\n | CustomActionCollectionPageActionResolver\n | CustomActionCollectionPageActionOnRowClickResolver\n >;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n modals?: Record<string, React.FC<any>>;\n emptyState?: Record<string, () => void>;\n components?: Record<string, React.FC<CustomComponentProps>>;\n slots?: Record<string, React.FC>;\n customDataSources?: Record<\n string,\n (collectionId: string, context: any) => Promise<SchemaConfig>\n >;\n sections?: Record<string, (item: any) => Section>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoE,IAAAC,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAmCpE,MAAMW,8BAA8B,gBAAG,IAAAC,oBAAa,EAElDC,SAAS,CAAC;AAEL,MAAMC,+BAGX,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC5B,oBACE7B,MAAA,CAAAU,OAAA,CAAAoB,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA,KAAM;IAAAG,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA/B,YAAA;MAAAgC,UAAA;MAAAC,YAAA;IAAA;EAAA,GACnDR,QACsC,CAAC;AAE9C,CAAC;AAACS,OAAA,CAAAV,+BAAA,GAAAA,+BAAA;AAEK,MAAMW,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAO,IAAAC,iBAAU,EAACf,8BAA8B,CAAC;AACnD,CAAC;AAACa,OAAA,CAAAC,iCAAA,GAAAA,iCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PatternsWizardOverridesContext","createContext","undefined","PatternsWizardOverridesProvider","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","exports","usePatternsWizardOverridesContext","useContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport {\n CustomComponentProps,\n CustomActionCellActionResolver,\n CustomEntityPageActionResolver,\n CustomBulkActionsActionResolver,\n CustomActionCollectionPageActionResolver,\n CustomActionCollectionPageActionOnRowClickResolver,\n IColumnValue,\n SchemaConfig,\n} from '../types';\n\nimport { Section } from '@wix/patterns';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<\n string,\n | CustomActionCellActionResolver\n | CustomBulkActionsActionResolver\n | CustomEntityPageActionResolver\n | CustomActionCollectionPageActionResolver\n | CustomActionCollectionPageActionOnRowClickResolver\n >;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n modals?: Record<string, React.FC<any>>;\n emptyState?: Record<string, () => void>;\n components?: Record<string, React.FC<CustomComponentProps>>;\n slots?: Record<string, React.FC>;\n customDataSources?: Record<\n string,\n (collectionId: string, context: any) => Promise<SchemaConfig>\n >;\n sections?: Record<string, (item: any) => Section>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoE,IAAAC,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAmCpE,MAAMW,8BAA8B,gBAAG,IAAAC,oBAAa,EAElDC,SAAS,CAAC;AAEL,MAAMC,+BAGX,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC5B,oBACE7B,MAAA,CAAAU,OAAA,CAAAoB,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA,KAAM;IAAAG,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA/B,YAAA;MAAAgC,UAAA;MAAAC,YAAA;IAAA;EAAA,GACnDR,QACsC,CAAC;AAE9C,CAAC;AAACS,OAAA,CAAAV,+BAAA,GAAAA,+BAAA;AAEK,MAAMW,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAO,IAAAC,iBAAU,EAACf,8BAA8B,CAAC;AACnD,CAAC;AAACa,OAAA,CAAAC,iCAAA,GAAAA,iCAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/EntityPageConfig.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport { EntityPageMoreActions } from './actions/entityPageActions';\nimport { BaseCollectionConfig } from './types';\n\nexport type EntityPageConfig = {\n route: {\n path: string;\n params: {\n id: string;\n };\n };\n title?: {\n text: string;\n };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n parentPageId?: string;\n layout?: {\n main: CardLayout[];\n sidebar?: CardLayout[];\n };\n moreActions?: EntityPageMoreActions;\n} & BaseCollectionConfig;\n\nexport interface CardLayout {\n type: 'card';\n card: {\n title: {\n text: string;\n };\n subtitle?: {\n text: string;\n };\n children: LayoutContent[];\n };\n}\n\nexport type LayoutContent =\n | FieldContent\n | ContainerContent\n | ComponentItemContent;\n\ninterface FieldContent {\n type: 'field';\n field: {\n span?: number;\n fieldId: string;\n };\n}\n\ninterface ContainerContent {\n type: 'container';\n container: {\n span?: number;\n children: LayoutContent[];\n };\n}\n\ninterface ComponentItemContent {\n type: 'component';\n component: {\n span?: number;\n componentId: string;\n };\n}\n\nexport interface CustomComponentProps {\n entity?: Record<string, any>;\n form: UseFormReturn<FieldValues, any, undefined>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/types/EntityPageConfig.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport {\n EntityPageMoreActions,\n EntityPagePrimaryActions,\n EntityPageSecondaryActions,\n} from './actions/entityPageActions';\nimport { BaseCollectionConfig } from './types';\n\nexport type EntityPageBaseConfig = {\n route: {\n path: string;\n params: {\n id: string;\n };\n };\n title?: {\n text: string;\n };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n parentPageId?: string;\n layout?: {\n main: CardLayout[];\n sidebar?: CardLayout[];\n };\n} & BaseCollectionConfig;\n\nexport type EditEntityPageConfig = EntityPageBaseConfig & {\n mode?: 'edit';\n actions?: {\n primaryActions?: never;\n secondaryActions?: never;\n moreActions?: EntityPageMoreActions;\n };\n};\n\nexport type ViewEntityPageConfig = EntityPageBaseConfig & {\n mode: 'view';\n actions?: {\n primaryActions?: EntityPagePrimaryActions;\n secondaryActions?: EntityPageSecondaryActions;\n moreActions?: EntityPageMoreActions;\n };\n};\n\nexport type EntityPageConfig = EditEntityPageConfig | ViewEntityPageConfig;\n\nexport interface CardLayout {\n type: 'card';\n card: {\n title: {\n text: string;\n };\n subtitle?: {\n text: string;\n };\n children: LayoutContent[];\n };\n}\n\nexport type LayoutContent =\n | FieldContent\n | ContainerContent\n | ComponentItemContent;\n\ninterface FieldContent {\n type: 'field';\n field: {\n span?: number;\n fieldId: string;\n };\n}\n\ninterface ContainerContent {\n type: 'container';\n container: {\n span?: number;\n children: LayoutContent[];\n };\n}\n\ninterface ComponentItemContent {\n type: 'component';\n component: {\n span?: number;\n componentId: string;\n };\n}\n\nexport interface CustomComponentProps {\n entity?: Record<string, any>;\n form?: UseFormReturn<FieldValues, any, undefined>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/types/actions/entityPageActions.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport { CustomActionParams, ResolvedAction } from '../..';\nimport { CustomActionConfig, DividerActionConfig } from './base';\n\nexport type EntityPageMoreActions = (\n | CustomActionConfig\n | DividerActionConfig\n)[];\n\nexport interface EntityPageMoreActionsActionParams {\n entity: any;\n form: UseFormReturn<FieldValues, any, undefined>;\n}\n\nexport type CustomEntityPageMoreActionsActionParams =\n CustomActionParams<EntityPageMoreActionsActionParams>;\n\nexport type CustomEntityPageMoreActionsActionResolver = (\n params: CustomEntityPageMoreActionsActionParams,\n) => ResolvedAction;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/entityPageActions.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport { CustomActionParams, ResolvedAction } from '../..';\nimport {\n CreateActionConfig,\n CustomActionConfig,\n DividerActionConfig,\n} from './base';\n\nexport type EntityPageMoreActions = (\n | CustomActionConfig\n | DividerActionConfig\n)[];\n\nexport type EntityPageActionConfig = CreateActionConfig | CustomActionConfig;\n\ntype EntityPageAction = {\n type: 'action';\n action: {\n item: EntityPageActionConfig;\n };\n menu?: never;\n};\n\ntype EntityPageMenu = {\n type: 'menu';\n menu: {\n label: string;\n items: (EntityPageActionConfig | DividerActionConfig)[];\n };\n action?: never;\n};\n\nexport type EntityPagePrimaryActions = EntityPageAction | EntityPageMenu;\nexport type EntityPageSecondaryActions = EntityPageAction | EntityPageMenu;\n\nexport interface EntityPageActionParams {\n entity: any;\n form?: UseFormReturn<FieldValues, any, undefined>;\n}\n\nexport type CustomEntityPageActionParams =\n CustomActionParams<EntityPageActionParams>;\n\nexport type CustomEntityPageActionResolver = (\n params: CustomEntityPageActionParams,\n) => ResolvedAction;\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/utils/actions/types.ts"],"sourcesContent":["import { ActionCellAPI, CollectionOptimisticActions } from '@wix/patterns';\nimport {\n UpdateActionConfig,\n CustomActionConfig,\n SchemaConfig,\n BulkDeleteActionConfig,\n DeleteActionConfig,\n CreateActionConfig,\n BaseSDK,\n} from '../../types';\nimport { IconElement } from '@wix/design-system';\n\nexport interface ResolvedAction {\n label: string;\n icon: IconElement;\n onClick: () => void;\n disabled?: boolean;\n tooltip?: string;\n skin?: string;\n}\n\nexport interface BaseContextParams {\n schema: SchemaConfig;\n}\n\nexport interface ActionsSDK extends BaseSDK {\n getSchema: (collectionId: string) => SchemaConfig | undefined;\n collectionId: string; // TODO: Why collectionId is needed here? getSchema with internal collectionId is enough\n getOptimisticActions: (\n collectionId: string,\n ) => CollectionOptimisticActions<any, any>;\n}\n\nexport interface BaseActionParams<T = Record<string, any>> {\n sdk: ActionsSDK;\n actionParams: T;\n}\n\nexport interface ActionCellBaseParams extends BaseActionParams {\n actionParams: {\n item: any;\n index: number;\n api: ActionCellAPI<any, any>;\n };\n}\n\nexport interface BulkDeleteActionParams extends BaseActionParams {\n action: BulkDeleteActionConfig;\n actionParams: {\n selectedValues: any[];\n total: number;\n };\n}\n\nexport interface DeleteActionParams extends ActionCellBaseParams {\n action: DeleteActionConfig;\n}\n\nexport interface UpdateActionParams extends ActionCellBaseParams {\n action: UpdateActionConfig;\n}\n\nexport interface CreateActionParams extends BaseActionParams {\n action: CreateActionConfig;\n}\n\nexport interface CustomActionParams<T> extends BaseActionParams<T> {\n action: CustomActionConfig;\n}\n\nexport interface ActionModalProps {\n modalParams: Record<string, any>;\n actionParams: Record<string, any>;\n sdk: ActionsSDK;\n}\n\nexport interface CustomActionModalProps extends ActionModalProps {\n modalParams: { id: string };\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/utils/actions/types.ts"],"sourcesContent":["import { ActionCellAPI, CollectionOptimisticActions } from '@wix/patterns';\nimport {\n UpdateActionConfig,\n CustomActionConfig,\n SchemaConfig,\n BulkDeleteActionConfig,\n DeleteActionConfig,\n CreateActionConfig,\n BaseSDK,\n} from '../../types';\nimport { IconElement } from '@wix/design-system';\n\nexport interface ResolvedAction {\n label: string;\n icon: IconElement;\n onClick: () => void;\n disabled?: boolean;\n tooltip?: string;\n skin?: string;\n}\n\nexport interface BaseContextParams {\n schema: SchemaConfig;\n}\n\nexport interface ActionsSDK extends BaseSDK {\n getSchema: (collectionId: string) => SchemaConfig | undefined;\n collectionId: string; // TODO: Why collectionId is needed here? getSchema with internal collectionId is enough\n getOptimisticActions: (\n collectionId: string,\n ) => CollectionOptimisticActions<any, any>;\n}\n\nexport interface BaseActionParams<T = Record<string, any>> {\n sdk: ActionsSDK;\n actionParams: T;\n}\n\nexport interface ActionCellBaseParams extends BaseActionParams {\n actionParams: {\n item: any;\n index: number;\n api: ActionCellAPI<any, any>;\n };\n}\n\nexport interface BulkDeleteActionParams extends BaseActionParams {\n action: BulkDeleteActionConfig;\n actionParams: {\n selectedValues: any[];\n total: number;\n };\n}\n\nexport interface DeleteActionParams extends ActionCellBaseParams {\n action: DeleteActionConfig;\n}\n\nexport interface UpdateActionParams extends BaseActionParams {\n action: UpdateActionConfig;\n}\n\nexport interface CreateActionParams extends BaseActionParams {\n action: CreateActionConfig;\n}\n\nexport interface CustomActionParams<T> extends BaseActionParams<T> {\n action: CustomActionConfig;\n}\n\nexport interface ActionModalProps {\n modalParams: Record<string, any>;\n actionParams: Record<string, any>;\n sdk: ActionsSDK;\n}\n\nexport interface CustomActionModalProps extends ActionModalProps {\n modalParams: { id: string };\n}\n"],"mappings":"","ignoreList":[]}
@@ -131,11 +131,15 @@ Custom actions execute JavaScript code that you define. These actions receive pa
131
131
  optimisticActions.updateOne(updatedItem, {
132
132
  submit: async (items) => {
133
133
  // Your download logic here + update server
134
- return await schema.actions.update(items[0]);
134
+ // Handle potential undefined schema
135
+ if (schema) {
136
+ return await schema.actions.update(items[0]);
137
+ }
138
+ return items[0]; // fallback when schema is unavailable
135
139
  },
136
140
  successToast: 'Pet details downloaded',
137
141
  errorToast: (err, {retry}) => ({
138
- text: 'Download failed',
142
+ message: 'Download failed',
139
143
  action: { text: 'Retry', onClick: retry }
140
144
  })
141
145
  });