@wix/auto-patterns 1.22.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.
- package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +12 -323
- package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js +172 -0
- package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js +78 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +119 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js +79 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/index.js +16 -0
- package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/index.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js +77 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +109 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js +196 -0
- package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -0
- package/dist/cjs/components/AutoPatternsEntityPage/index.js +12 -0
- package/dist/cjs/components/AutoPatternsEntityPage/index.js.map +1 -1
- package/dist/cjs/hooks/useActionCell.js.map +1 -1
- package/dist/cjs/hooks/useEntityPageActions.js +105 -0
- package/dist/cjs/hooks/useEntityPageActions.js.map +1 -0
- package/dist/cjs/hooks/useEntityPageMoreActions.js +10 -0
- package/dist/cjs/hooks/useEntityPageMoreActions.js.map +1 -1
- package/dist/cjs/hooks/useNavigateEditEntityAction.js +50 -0
- package/dist/cjs/hooks/useNavigateEditEntityAction.js.map +1 -0
- package/dist/cjs/hooks/useNavigationUtils.js +12 -1
- package/dist/cjs/hooks/useNavigationUtils.js.map +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/cjs/types/EntityPageConfig.js.map +1 -1
- package/dist/cjs/types/actions/base.js.map +1 -1
- package/dist/cjs/types/actions/entityPageActions.js.map +1 -1
- package/dist/cjs/utils/actions/types.js.map +1 -1
- package/dist/docs/action_cell.md +6 -2
- package/dist/docs/app_config_structure.md +48 -6
- package/dist/docs/auto-patterns-guide.md +391 -60
- package/dist/docs/bulk_actions.md +7 -6
- package/dist/docs/collection_page_actions.md +14 -4
- package/dist/docs/custom_overrides.md +86 -15
- package/dist/docs/entity_page.md +65 -1
- package/dist/docs/entity_page_actions.md +13 -11
- package/dist/docs/entity_page_view_actions.md +137 -0
- package/dist/docs/index.md +6 -2
- package/dist/docs/pages_configuration.md +1 -11
- package/dist/docs/sdk_utilities.md +11 -4
- package/dist/docs/wix_fqdn_custom_data_source.md +25 -5
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +9 -201
- package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js +115 -0
- package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js +33 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +70 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js +48 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/index.js +3 -0
- package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/index.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js +31 -0
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +66 -0
- package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js +109 -0
- package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -0
- package/dist/esm/components/AutoPatternsEntityPage/index.js +2 -0
- package/dist/esm/components/AutoPatternsEntityPage/index.js.map +1 -1
- package/dist/esm/hooks/useActionCell.js.map +1 -1
- package/dist/esm/hooks/useEntityPageActions.js +82 -0
- package/dist/esm/hooks/useEntityPageActions.js.map +1 -0
- package/dist/esm/hooks/useEntityPageMoreActions.js +11 -1
- package/dist/esm/hooks/useEntityPageMoreActions.js.map +1 -1
- package/dist/esm/hooks/useNavigateEditEntityAction.js +46 -0
- package/dist/esm/hooks/useNavigateEditEntityAction.js.map +1 -0
- package/dist/esm/hooks/useNavigationUtils.js +12 -1
- package/dist/esm/hooks/useNavigationUtils.js.map +1 -1
- package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/esm/types/EntityPageConfig.js.map +1 -1
- package/dist/esm/types/actions/base.js.map +1 -1
- package/dist/esm/types/actions/entityPageActions.js.map +1 -1
- package/dist/esm/utils/actions/types.js.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts +6 -0
- package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.d.ts +11 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.d.ts +13 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.d.ts +8 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/index.d.ts +3 -0
- package/dist/types/components/AutoPatternsEntityPage/RenderLayout/index.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.d.ts +8 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.d.ts +8 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts +8 -0
- package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts.map +1 -0
- package/dist/types/components/AutoPatternsEntityPage/index.d.ts +2 -0
- package/dist/types/components/AutoPatternsEntityPage/index.d.ts.map +1 -1
- package/dist/types/hooks/useEntityPageActions.d.ts +9 -0
- package/dist/types/hooks/useEntityPageActions.d.ts.map +1 -0
- package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -1
- package/dist/types/hooks/useEntityPageMoreActions.d.ts +2 -2
- package/dist/types/hooks/useEntityPageMoreActions.d.ts.map +1 -1
- package/dist/types/hooks/useNavigateEditEntityAction.d.ts +6 -0
- package/dist/types/hooks/useNavigateEditEntityAction.d.ts.map +1 -0
- package/dist/types/hooks/useNavigationUtils.d.ts +1 -0
- package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -1
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts +2 -5
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
- package/dist/types/types/EntityPageConfig.d.ts +20 -4
- package/dist/types/types/EntityPageConfig.d.ts.map +1 -1
- package/dist/types/types/actions/base.d.ts +0 -4
- package/dist/types/types/actions/base.d.ts.map +1 -1
- package/dist/types/types/actions/entityPageActions.d.ts +24 -5
- package/dist/types/types/actions/entityPageActions.d.ts.map +1 -1
- package/dist/types/utils/actions/types.d.ts +1 -1
- package/dist/types/utils/actions/types.d.ts.map +1 -1
- package/package.json +15 -15
- 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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_useActionsSDK","_actions","cleanupActionsWithDividers","actions","inlineCount","clean","a","filter","x","i","ar","_ar","divider","length","slice","useActionCell","config","collectionId","sdk","useActionsSDK","buildCellActions","useCallback","item","index","api","_config$primaryAction","_config$primaryAction2","_config$secondaryActi","_config$secondaryActi2","_config$secondaryActi3","_config$secondaryActi4","buildAction","actionConfig","type","actionToResolve","baseParams","actionParams","updateAction","action","deleteAction","customAction","resolvedAction","resolveAction","label","tooltip","resolvedActionProps","text","disabledDescription","primaryAction","undefined","primaryActionProps","alwaysVisible","visibility","rawSecondaryActions","secondaryActions","items","map","Boolean","numOfVisibleSecondaryActions","alwaysShowSecondaryActions","inlineAlwaysVisible","exports"],"sources":["../../../src/hooks/useActionCell.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ActionCellConfig,\n ActionCellItemConfig,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n updateAction,\n customAction,\n resolveAction,\n deleteAction,\n} from '../utils/actions';\nimport { DividerActionConfig } from '../types/actions/base';\n\nexport interface useActionCellParams {\n config?: ActionCellConfig;\n collectionId: string;\n}\n\nconst cleanupActionsWithDividers = (\n actions: any[],\n inlineCount?: number,\n): any[] => {\n const clean = (a: any[]) =>\n a.filter(\n (x, i, ar) =>\n x?.divider !== true ||\n (i > 0 && i < ar.length - 1 && ar[i - 1]?.divider !== true),\n );\n return !actions?.length || !inlineCount || inlineCount >= actions.length\n ? clean(actions || [])\n : [\n
|
|
1
|
+
{"version":3,"names":["_react","require","_useActionsSDK","_actions","cleanupActionsWithDividers","actions","inlineCount","clean","a","filter","x","i","ar","_ar","divider","length","slice","useActionCell","config","collectionId","sdk","useActionsSDK","buildCellActions","useCallback","item","index","api","_config$primaryAction","_config$primaryAction2","_config$secondaryActi","_config$secondaryActi2","_config$secondaryActi3","_config$secondaryActi4","buildAction","actionConfig","type","actionToResolve","baseParams","actionParams","updateAction","action","deleteAction","customAction","resolvedAction","resolveAction","label","tooltip","resolvedActionProps","text","disabledDescription","primaryAction","undefined","primaryActionProps","alwaysVisible","visibility","rawSecondaryActions","secondaryActions","items","map","Boolean","numOfVisibleSecondaryActions","alwaysShowSecondaryActions","inlineAlwaysVisible","exports"],"sources":["../../../src/hooks/useActionCell.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ActionCellConfig,\n ActionCellItemConfig,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n updateAction,\n customAction,\n resolveAction,\n deleteAction,\n} from '../utils/actions';\nimport { DividerActionConfig } from '../types/actions/base';\n\nexport interface useActionCellParams {\n config?: ActionCellConfig;\n collectionId: string;\n}\n\nconst cleanupActionsWithDividers = (\n actions: any[],\n inlineCount?: number,\n): any[] => {\n const clean = (a: any[]) =>\n a.filter(\n (x, i, ar) =>\n x?.divider !== true ||\n (i > 0 && i < ar.length - 1 && ar[i - 1]?.divider !== true),\n );\n return !actions?.length || !inlineCount || inlineCount >= actions.length\n ? clean(actions || [])\n : [\n ...clean(actions.slice(0, inlineCount)),\n ...clean(actions.slice(inlineCount)),\n ];\n};\n\nexport const useActionCell = ({\n config,\n collectionId,\n}: useActionCellParams) => {\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const buildCellActions = useCallback(\n (item, index, api) => {\n const buildAction = (\n actionConfig: ActionCellItemConfig | DividerActionConfig,\n ) => {\n if (actionConfig.type === 'divider') {\n return { divider: true };\n }\n\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: { item, index, api },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'update':\n actionToResolve = updateAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'delete':\n actionToResolve = deleteAction({\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 { label, tooltip, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n text: resolvedAction.label,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const primaryAction = config?.primaryAction?.item\n ? buildAction(config.primaryAction.item)\n : undefined;\n\n const primaryActionProps = {\n ...(config?.primaryAction?.alwaysVisible\n ? { visibility: 'always' }\n : {}),\n };\n\n const rawSecondaryActions = config?.secondaryActions?.items.length\n ? config.secondaryActions.items.map(buildAction).filter(Boolean)\n : [];\n\n // Process secondary actions with inline count consideration\n const secondaryActions = cleanupActionsWithDividers(\n rawSecondaryActions,\n config?.secondaryActions?.inlineCount,\n );\n\n const numOfVisibleSecondaryActions =\n config?.secondaryActions?.inlineCount;\n const alwaysShowSecondaryActions =\n config?.secondaryActions?.inlineAlwaysVisible;\n\n if (!primaryAction && !secondaryActions.length) {\n return {};\n }\n\n return {\n ...(primaryAction\n ? {\n primaryAction: {\n ...primaryAction,\n ...primaryActionProps,\n },\n }\n : { primaryAction: undefined }),\n ...(secondaryActions.length && { secondaryActions }),\n numOfVisibleSecondaryActions,\n alwaysShowSecondaryActions,\n };\n },\n [config, sdk],\n );\n\n return buildCellActions;\n};\n"],"mappings":"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","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","
|
|
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","
|
|
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
|
|
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 {
|
|
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":[]}
|