@wix/auto-patterns 1.25.0 → 1.26.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/EditModeEntityPage.js +10 -9
- package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js +88 -36
- package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -1
- package/dist/cjs/hooks/useEntityPageHeaderTexts.js +48 -9
- package/dist/cjs/hooks/useEntityPageHeaderTexts.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/docs/app_config_structure.md +6 -2
- package/dist/docs/auto-patterns-guide.md +347 -16
- package/dist/docs/collection_page.md +1 -1
- package/dist/docs/collection_page_actions.md +1 -1
- package/dist/docs/custom_overrides.md +18 -6
- package/dist/docs/entity_page.md +294 -2
- package/dist/docs/index.md +8 -0
- package/dist/docs/installation.md +25 -2
- package/dist/docs/pages_configuration.md +2 -2
- package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js +2 -1
- package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js +45 -18
- package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -1
- package/dist/esm/hooks/useEntityPageHeaderTexts.js +48 -9
- package/dist/esm/hooks/useEntityPageHeaderTexts.js.map +1 -1
- package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/esm/types/EntityPageConfig.js.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts.map +1 -1
- package/dist/types/hooks/useEntityPageHeaderTexts.d.ts +10 -1
- package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -1
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts +10 -0
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
- package/dist/types/types/EntityPageConfig.d.ts +5 -1
- package/dist/types/types/EntityPageConfig.d.ts.map +1 -1
- package/package.json +11 -11
|
@@ -87,7 +87,8 @@ const EditModeEntityPage = ({
|
|
|
87
87
|
} = (0, _hooks.useEntityPageHeaderTexts)({
|
|
88
88
|
config: configuration,
|
|
89
89
|
isCreateMode,
|
|
90
|
-
entityDisplayName: entity == null ? void 0 : entity[schema.displayField]
|
|
90
|
+
entityDisplayName: entity == null ? void 0 : entity[schema.displayField],
|
|
91
|
+
entity
|
|
91
92
|
});
|
|
92
93
|
const sdk = (0, _useActionsSDK.useActionsSDK)({
|
|
93
94
|
collectionId
|
|
@@ -99,7 +100,7 @@ const EditModeEntityPage = ({
|
|
|
99
100
|
__self: void 0,
|
|
100
101
|
__source: {
|
|
101
102
|
fileName: _jsxFileName,
|
|
102
|
-
lineNumber:
|
|
103
|
+
lineNumber: 112,
|
|
103
104
|
columnNumber: 5
|
|
104
105
|
}
|
|
105
106
|
}, /*#__PURE__*/_react.default.createElement(_patterns.EntityPage.Header, {
|
|
@@ -110,21 +111,21 @@ const EditModeEntityPage = ({
|
|
|
110
111
|
__self: void 0,
|
|
111
112
|
__source: {
|
|
112
113
|
fileName: _jsxFileName,
|
|
113
|
-
lineNumber:
|
|
114
|
+
lineNumber: 118,
|
|
114
115
|
columnNumber: 13
|
|
115
116
|
}
|
|
116
117
|
}) : undefined,
|
|
117
118
|
__self: void 0,
|
|
118
119
|
__source: {
|
|
119
120
|
fileName: _jsxFileName,
|
|
120
|
-
lineNumber:
|
|
121
|
+
lineNumber: 113,
|
|
121
122
|
columnNumber: 7
|
|
122
123
|
}
|
|
123
124
|
}), /*#__PURE__*/_react.default.createElement(_patterns.EntityPage.Content, {
|
|
124
125
|
__self: void 0,
|
|
125
126
|
__source: {
|
|
126
127
|
fileName: _jsxFileName,
|
|
127
|
-
lineNumber:
|
|
128
|
+
lineNumber: 122,
|
|
128
129
|
columnNumber: 7
|
|
129
130
|
}
|
|
130
131
|
}, /*#__PURE__*/_react.default.createElement(_patterns.EntityPage.MainContent, {
|
|
@@ -132,7 +133,7 @@ const EditModeEntityPage = ({
|
|
|
132
133
|
__self: void 0,
|
|
133
134
|
__source: {
|
|
134
135
|
fileName: _jsxFileName,
|
|
135
|
-
lineNumber:
|
|
136
|
+
lineNumber: 123,
|
|
136
137
|
columnNumber: 9
|
|
137
138
|
}
|
|
138
139
|
}, pageLayout == null || (_pageLayout$main = pageLayout.main) == null ? void 0 : _pageLayout$main.map((layout, layoutIndex) => /*#__PURE__*/_react.default.createElement(_RenderLayout.RenderLayoutCard, {
|
|
@@ -144,14 +145,14 @@ const EditModeEntityPage = ({
|
|
|
144
145
|
__self: void 0,
|
|
145
146
|
__source: {
|
|
146
147
|
fileName: _jsxFileName,
|
|
147
|
-
lineNumber:
|
|
148
|
+
lineNumber: 125,
|
|
148
149
|
columnNumber: 13
|
|
149
150
|
}
|
|
150
151
|
}))), pageLayout != null && pageLayout.sidebar ? /*#__PURE__*/_react.default.createElement(_patterns.EntityPage.AdditionalContent, {
|
|
151
152
|
__self: void 0,
|
|
152
153
|
__source: {
|
|
153
154
|
fileName: _jsxFileName,
|
|
154
|
-
lineNumber:
|
|
155
|
+
lineNumber: 135,
|
|
155
156
|
columnNumber: 11
|
|
156
157
|
}
|
|
157
158
|
}, (_pageLayout$sidebar = pageLayout.sidebar) == null ? void 0 : _pageLayout$sidebar.map((layout, layoutIndex) => /*#__PURE__*/_react.default.createElement(_RenderLayout.RenderLayoutCard, {
|
|
@@ -163,7 +164,7 @@ const EditModeEntityPage = ({
|
|
|
163
164
|
__self: void 0,
|
|
164
165
|
__source: {
|
|
165
166
|
fileName: _jsxFileName,
|
|
166
|
-
lineNumber:
|
|
167
|
+
lineNumber: 137,
|
|
167
168
|
columnNumber: 15
|
|
168
169
|
}
|
|
169
170
|
}))) : null));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_patterns","_form","_reactRouterDom","_SchemaContext","_hooks","_useEntityPageMoreActions","_useActionsSDK","_RenderLayout","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","EditModeEntityPage","configuration","_pageLayout$main","_pageLayout$sidebar","layout","pageLayout","parentPageId","route","actions","collectionId","moreActions","form","useForm","mode","params","useParams","entityId","id","schema","useSchema","isCreateMode","inputRefs","useRef","setInputRef","input","current","validate","invalidFieldId","keys","find","fieldId","_inputRefs$current$fi","invalid","_inputRefs$current$in","focus","Error","getParentPagePath","useNavigation","parentPath","useMemo","state","useEntityPage","onSave","formValues","getValues","baseEntity","entity","updatedEntity","newEntity","update","create","fetch","undefined","useEntity","title","subtitle","useEntityPageHeaderTexts","config","entityDisplayName","displayField","sdk","useActionsSDK","resolvedMoreActions","useEntityPageMoreActions","createElement","EntityPage","dataHook","__self","__source","fileName","lineNumber","columnNumber","Header","length","MoreActions","items","Content","MainContent","main","map","layoutIndex","RenderLayoutCard","key","sectionId","cardIndex","sidebar","AdditionalContent","exports"],"sources":["../../../../src/components/AutoPatternsEntityPage/EditModeEntityPage.tsx"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\nimport {\n EntityPage,\n EntityPageState,\n useEntity,\n useEntityPage,\n MoreActions,\n} from '@wix/patterns';\nimport { useForm } from '@wix/patterns/form';\nimport { useParams } from 'react-router-dom';\nimport { useSchema } from '../../providers/SchemaContext';\nimport { BaseInputRef } from './Fields/types';\nimport { useEntityPageHeaderTexts, useNavigation } from '../../hooks';\nimport { useEntityPageMoreActions } from '../../hooks/useEntityPageMoreActions';\nimport { useActionsSDK } from '../../hooks/useActionsSDK';\nimport { RenderLayoutCard } from './RenderLayout';\nimport { EditEntityPageConfig } from '../../types';\n\nexport const EditModeEntityPage: React.FC<{\n configuration: EditEntityPageConfig;\n}> = ({ configuration }) => {\n const {\n layout: pageLayout,\n parentPageId,\n route,\n actions,\n collectionId,\n } = configuration;\n\n const moreActions = actions?.moreActions;\n\n const form = useForm<any>({\n mode: 'onChange',\n });\n const params = useParams();\n const entityId = params[route.params.id];\n const schema = useSchema();\n const isCreateMode = !entityId;\n\n const inputRefs = useRef<{ [fieldId: string]: BaseInputRef }>({});\n\n const setInputRef = (id: string, input: BaseInputRef) => {\n inputRefs.current[id] = input;\n };\n\n const validate = () => {\n const invalidFieldId = Object.keys(inputRefs.current).find((fieldId) => {\n return inputRefs.current[fieldId]?.invalid;\n });\n\n if (invalidFieldId) {\n inputRefs.current[invalidFieldId]?.focus?.();\n throw new Error('Invalid form');\n }\n };\n const { getParentPagePath } = useNavigation();\n\n const parentPath = useMemo(\n () => getParentPagePath(parentPageId),\n [parentPageId, getParentPagePath],\n );\n\n const state: EntityPageState<any> = useEntityPage<any, any>({\n parentPath,\n form,\n onSave: async () => {\n validate();\n\n const formValues = form.getValues();\n const baseEntity = state.entity || {};\n const updatedEntity = {\n ...baseEntity,\n ...formValues,\n };\n\n const newEntity = entityId\n ? await schema.actions.update(updatedEntity)\n : await schema.actions.create(updatedEntity);\n\n return { updatedEntity: newEntity };\n },\n fetch: async () => {\n if (!entityId) {\n return { entity: undefined };\n }\n const entity = await schema.actions.get(entityId);\n return { entity };\n },\n });\n\n const entity = useEntity(state);\n\n const { title, subtitle } = useEntityPageHeaderTexts({\n config: configuration,\n isCreateMode,\n entityDisplayName: entity?.[schema.displayField],\n });\n\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const resolvedMoreActions = useEntityPageMoreActions(\n moreActions,\n entity,\n sdk,\n form,\n );\n\n return (\n <EntityPage state={state} dataHook=\"auto-patterns-entity-page\">\n <EntityPage.Header\n title={title}\n subtitle={subtitle}\n moreActions={\n resolvedMoreActions.length > 0 ? (\n <MoreActions items={resolvedMoreActions} />\n ) : undefined\n }\n />\n <EntityPage.Content>\n <EntityPage.MainContent dataHook=\"entity-page-main-content\">\n {pageLayout?.main?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`main-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"main\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.MainContent>\n {pageLayout?.sidebar ? (\n <EntityPage.AdditionalContent>\n {pageLayout.sidebar?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`sidebar-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"sidebar\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.AdditionalContent>\n ) : null}\n </EntityPage.Content>\n </EntityPage>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_patterns","_form","_reactRouterDom","_SchemaContext","_hooks","_useEntityPageMoreActions","_useActionsSDK","_RenderLayout","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","EditModeEntityPage","configuration","_pageLayout$main","_pageLayout$sidebar","layout","pageLayout","parentPageId","route","actions","collectionId","moreActions","form","useForm","mode","params","useParams","entityId","id","schema","useSchema","isCreateMode","inputRefs","useRef","setInputRef","input","current","validate","invalidFieldId","keys","find","fieldId","_inputRefs$current$fi","invalid","_inputRefs$current$in","focus","Error","getParentPagePath","useNavigation","parentPath","useMemo","state","useEntityPage","onSave","formValues","getValues","baseEntity","entity","updatedEntity","newEntity","update","create","fetch","undefined","useEntity","title","subtitle","useEntityPageHeaderTexts","config","entityDisplayName","displayField","sdk","useActionsSDK","resolvedMoreActions","useEntityPageMoreActions","createElement","EntityPage","dataHook","__self","__source","fileName","lineNumber","columnNumber","Header","length","MoreActions","items","Content","MainContent","main","map","layoutIndex","RenderLayoutCard","key","sectionId","cardIndex","sidebar","AdditionalContent","exports"],"sources":["../../../../src/components/AutoPatternsEntityPage/EditModeEntityPage.tsx"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\nimport {\n EntityPage,\n EntityPageState,\n useEntity,\n useEntityPage,\n MoreActions,\n} from '@wix/patterns';\nimport { useForm } from '@wix/patterns/form';\nimport { useParams } from 'react-router-dom';\nimport { useSchema } from '../../providers/SchemaContext';\nimport { BaseInputRef } from './Fields/types';\nimport { useEntityPageHeaderTexts, useNavigation } from '../../hooks';\nimport { useEntityPageMoreActions } from '../../hooks/useEntityPageMoreActions';\nimport { useActionsSDK } from '../../hooks/useActionsSDK';\nimport { RenderLayoutCard } from './RenderLayout';\nimport { EditEntityPageConfig } from '../../types';\n\nexport const EditModeEntityPage: React.FC<{\n configuration: EditEntityPageConfig;\n}> = ({ configuration }) => {\n const {\n layout: pageLayout,\n parentPageId,\n route,\n actions,\n collectionId,\n } = configuration;\n\n const moreActions = actions?.moreActions;\n\n const form = useForm<any>({\n mode: 'onChange',\n });\n const params = useParams();\n const entityId = params[route.params.id];\n const schema = useSchema();\n const isCreateMode = !entityId;\n\n const inputRefs = useRef<{ [fieldId: string]: BaseInputRef }>({});\n\n const setInputRef = (id: string, input: BaseInputRef) => {\n inputRefs.current[id] = input;\n };\n\n const validate = () => {\n const invalidFieldId = Object.keys(inputRefs.current).find((fieldId) => {\n return inputRefs.current[fieldId]?.invalid;\n });\n\n if (invalidFieldId) {\n inputRefs.current[invalidFieldId]?.focus?.();\n throw new Error('Invalid form');\n }\n };\n const { getParentPagePath } = useNavigation();\n\n const parentPath = useMemo(\n () => getParentPagePath(parentPageId),\n [parentPageId, getParentPagePath],\n );\n\n const state: EntityPageState<any> = useEntityPage<any, any>({\n parentPath,\n form,\n onSave: async () => {\n validate();\n\n const formValues = form.getValues();\n const baseEntity = state.entity || {};\n const updatedEntity = {\n ...baseEntity,\n ...formValues,\n };\n\n const newEntity = entityId\n ? await schema.actions.update(updatedEntity)\n : await schema.actions.create(updatedEntity);\n\n return { updatedEntity: newEntity };\n },\n fetch: async () => {\n if (!entityId) {\n return { entity: undefined };\n }\n const entity = await schema.actions.get(entityId);\n return { entity };\n },\n });\n\n const entity = useEntity(state);\n\n const { title, subtitle } = useEntityPageHeaderTexts({\n config: configuration,\n isCreateMode,\n entityDisplayName: entity?.[schema.displayField],\n entity,\n });\n\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const resolvedMoreActions = useEntityPageMoreActions(\n moreActions,\n entity,\n sdk,\n form,\n );\n\n return (\n <EntityPage state={state} dataHook=\"auto-patterns-entity-page\">\n <EntityPage.Header\n title={title}\n subtitle={subtitle}\n moreActions={\n resolvedMoreActions.length > 0 ? (\n <MoreActions items={resolvedMoreActions} />\n ) : undefined\n }\n />\n <EntityPage.Content>\n <EntityPage.MainContent dataHook=\"entity-page-main-content\">\n {pageLayout?.main?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`main-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"main\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.MainContent>\n {pageLayout?.sidebar ? (\n <EntityPage.AdditionalContent>\n {pageLayout.sidebar?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`sidebar-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"sidebar\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.AdditionalContent>\n ) : null}\n </EntityPage.Content>\n </EntityPage>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
exports.__esModule = true;
|
|
4
5
|
exports.ViewModeEntityPage = void 0;
|
|
6
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
5
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
6
8
|
var _designSystem = require("@wix/design-system");
|
|
7
|
-
var _RenderViewLayoutCard = require("./ViewEntityPage/RenderViewLayoutCard");
|
|
8
9
|
var _reactRouterDom = require("react-router-dom");
|
|
9
|
-
var
|
|
10
|
-
var
|
|
10
|
+
var _RenderViewLayoutCard = require("./ViewEntityPage/RenderViewLayoutCard");
|
|
11
|
+
var _SchemaContext = require("../../providers/SchemaContext");
|
|
12
|
+
var _hooks = require("../../hooks");
|
|
11
13
|
var _patterns = require("@wix/patterns");
|
|
12
14
|
var _useEntityPageActions = require("../../hooks/useEntityPageActions");
|
|
13
15
|
var _useEntityPageMoreActions = require("../../hooks/useEntityPageMoreActions");
|
|
14
16
|
var _useActionsSDK = require("../../hooks/useActionsSDK");
|
|
15
17
|
var _useNavigateEditEntityAction = require("../../hooks/useNavigateEditEntityAction");
|
|
18
|
+
var _useEntityPageHeaderTexts = require("../../hooks/useEntityPageHeaderTexts");
|
|
19
|
+
var _SkeletonEntity = require("./SkeletonEntity");
|
|
16
20
|
var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.tsx";
|
|
17
21
|
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
22
|
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; }
|
|
@@ -20,19 +24,19 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
20
24
|
const ViewModeEntityPage = ({
|
|
21
25
|
configuration
|
|
22
26
|
}) => {
|
|
23
|
-
var
|
|
27
|
+
var _pageLayout$main, _pageLayout$sidebar;
|
|
24
28
|
const {
|
|
25
29
|
route
|
|
26
30
|
} = configuration;
|
|
27
31
|
const params = (0, _reactRouterDom.useParams)();
|
|
28
32
|
const entityId = params[route.params.id];
|
|
29
|
-
const schema = (0,
|
|
33
|
+
const schema = (0, _SchemaContext.useSchema)();
|
|
30
34
|
const {
|
|
31
35
|
layout: pageLayout
|
|
32
36
|
} = configuration;
|
|
33
37
|
const {
|
|
34
38
|
navigateToCollectionPage
|
|
35
|
-
} = (0,
|
|
39
|
+
} = (0, _hooks.useNavigation)();
|
|
36
40
|
const [entity, setEntity] = (0, _react.useState)(undefined);
|
|
37
41
|
(0, _react.useEffect)(() => {
|
|
38
42
|
let isMounted = true;
|
|
@@ -51,14 +55,16 @@ const ViewModeEntityPage = ({
|
|
|
51
55
|
isMounted = false;
|
|
52
56
|
};
|
|
53
57
|
}, [entityId, schema]);
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
const {
|
|
59
|
+
title,
|
|
60
|
+
subtitle
|
|
61
|
+
} = (0, _useEntityPageHeaderTexts.useEntityPageHeaderTexts)({
|
|
62
|
+
config: configuration,
|
|
63
|
+
isCreateMode: false,
|
|
64
|
+
isViewMode: true,
|
|
65
|
+
entityDisplayName: entity == null ? void 0 : entity[schema.displayField],
|
|
66
|
+
entity
|
|
67
|
+
});
|
|
62
68
|
const sdk = (0, _useActionsSDK.useActionsSDK)({
|
|
63
69
|
collectionId: configuration.collectionId
|
|
64
70
|
});
|
|
@@ -74,26 +80,72 @@ const ViewModeEntityPage = ({
|
|
|
74
80
|
configuration
|
|
75
81
|
});
|
|
76
82
|
const resolvedMoreActions = (0, _useEntityPageMoreActions.useEntityPageMoreActions)(moreActions, entity, sdk);
|
|
83
|
+
const renderTitle = () => {
|
|
84
|
+
const {
|
|
85
|
+
text,
|
|
86
|
+
badges
|
|
87
|
+
} = title;
|
|
88
|
+
return /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
89
|
+
gap: "SP2",
|
|
90
|
+
verticalAlign: "middle",
|
|
91
|
+
alignContent: "center",
|
|
92
|
+
__self: void 0,
|
|
93
|
+
__source: {
|
|
94
|
+
fileName: _jsxFileName,
|
|
95
|
+
lineNumber: 85,
|
|
96
|
+
columnNumber: 7
|
|
97
|
+
}
|
|
98
|
+
}, /*#__PURE__*/_react.default.createElement(_designSystem.Heading, {
|
|
99
|
+
size: "extraLarge",
|
|
100
|
+
__self: void 0,
|
|
101
|
+
__source: {
|
|
102
|
+
fileName: _jsxFileName,
|
|
103
|
+
lineNumber: 86,
|
|
104
|
+
columnNumber: 9
|
|
105
|
+
}
|
|
106
|
+
}, text), badges && badges.length > 0 && /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
107
|
+
gap: "SP2",
|
|
108
|
+
__self: void 0,
|
|
109
|
+
__source: {
|
|
110
|
+
fileName: _jsxFileName,
|
|
111
|
+
lineNumber: 88,
|
|
112
|
+
columnNumber: 11
|
|
113
|
+
}
|
|
114
|
+
}, badges.map((badge, index) => /*#__PURE__*/_react.default.createElement(_designSystem.Badge, (0, _extends2.default)({
|
|
115
|
+
key: index
|
|
116
|
+
}, badge, {
|
|
117
|
+
dataHook: `form-page-header-badge-${index}`,
|
|
118
|
+
__self: void 0,
|
|
119
|
+
__source: {
|
|
120
|
+
fileName: _jsxFileName,
|
|
121
|
+
lineNumber: 90,
|
|
122
|
+
columnNumber: 15
|
|
123
|
+
}
|
|
124
|
+
}), badge.text))));
|
|
125
|
+
};
|
|
126
|
+
if (!entity) {
|
|
127
|
+
return /*#__PURE__*/_react.default.createElement(_SkeletonEntity.SkeletonEntity, {
|
|
128
|
+
entityPage: configuration,
|
|
129
|
+
__self: void 0,
|
|
130
|
+
__source: {
|
|
131
|
+
fileName: _jsxFileName,
|
|
132
|
+
lineNumber: 105,
|
|
133
|
+
columnNumber: 12
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
77
137
|
return /*#__PURE__*/_react.default.createElement(_designSystem.Page, {
|
|
78
138
|
dataHook: "view-mode-entity-page",
|
|
79
139
|
__self: void 0,
|
|
80
140
|
__source: {
|
|
81
141
|
fileName: _jsxFileName,
|
|
82
|
-
lineNumber:
|
|
142
|
+
lineNumber: 108,
|
|
83
143
|
columnNumber: 5
|
|
84
144
|
}
|
|
85
145
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Page.Header, {
|
|
86
146
|
dataHook: "view-mode-entity-page-header",
|
|
87
|
-
title:
|
|
88
|
-
|
|
89
|
-
__self: void 0,
|
|
90
|
-
__source: {
|
|
91
|
-
fileName: _jsxFileName,
|
|
92
|
-
lineNumber: 85,
|
|
93
|
-
columnNumber: 16
|
|
94
|
-
}
|
|
95
|
-
}, title),
|
|
96
|
-
subtitle: subtitle,
|
|
147
|
+
title: renderTitle(),
|
|
148
|
+
subtitle: subtitle == null ? void 0 : subtitle.text,
|
|
97
149
|
showBackButton: true,
|
|
98
150
|
onBackClicked: () => navigateToCollectionPage(configuration.parentPageId),
|
|
99
151
|
actionsBar: /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
@@ -101,7 +153,7 @@ const ViewModeEntityPage = ({
|
|
|
101
153
|
__self: void 0,
|
|
102
154
|
__source: {
|
|
103
155
|
fileName: _jsxFileName,
|
|
104
|
-
lineNumber:
|
|
156
|
+
lineNumber: 118,
|
|
105
157
|
columnNumber: 11
|
|
106
158
|
}
|
|
107
159
|
}, resolvedMoreActions.length > 0 ? /*#__PURE__*/_react.default.createElement(_patterns.MoreActions, {
|
|
@@ -110,28 +162,28 @@ const ViewModeEntityPage = ({
|
|
|
110
162
|
__self: void 0,
|
|
111
163
|
__source: {
|
|
112
164
|
fileName: _jsxFileName,
|
|
113
|
-
lineNumber:
|
|
165
|
+
lineNumber: 120,
|
|
114
166
|
columnNumber: 15
|
|
115
167
|
}
|
|
116
168
|
}) : undefined, actions),
|
|
117
169
|
__self: void 0,
|
|
118
170
|
__source: {
|
|
119
171
|
fileName: _jsxFileName,
|
|
120
|
-
lineNumber:
|
|
172
|
+
lineNumber: 109,
|
|
121
173
|
columnNumber: 7
|
|
122
174
|
}
|
|
123
175
|
}), /*#__PURE__*/_react.default.createElement(_designSystem.Page.Content, {
|
|
124
176
|
__self: void 0,
|
|
125
177
|
__source: {
|
|
126
178
|
fileName: _jsxFileName,
|
|
127
|
-
lineNumber:
|
|
179
|
+
lineNumber: 129,
|
|
128
180
|
columnNumber: 7
|
|
129
181
|
}
|
|
130
182
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Layout, {
|
|
131
183
|
__self: void 0,
|
|
132
184
|
__source: {
|
|
133
185
|
fileName: _jsxFileName,
|
|
134
|
-
lineNumber:
|
|
186
|
+
lineNumber: 130,
|
|
135
187
|
columnNumber: 9
|
|
136
188
|
}
|
|
137
189
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Cell, {
|
|
@@ -139,7 +191,7 @@ const ViewModeEntityPage = ({
|
|
|
139
191
|
__self: void 0,
|
|
140
192
|
__source: {
|
|
141
193
|
fileName: _jsxFileName,
|
|
142
|
-
lineNumber:
|
|
194
|
+
lineNumber: 131,
|
|
143
195
|
columnNumber: 11
|
|
144
196
|
}
|
|
145
197
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
@@ -148,7 +200,7 @@ const ViewModeEntityPage = ({
|
|
|
148
200
|
__self: void 0,
|
|
149
201
|
__source: {
|
|
150
202
|
fileName: _jsxFileName,
|
|
151
|
-
lineNumber:
|
|
203
|
+
lineNumber: 132,
|
|
152
204
|
columnNumber: 13
|
|
153
205
|
}
|
|
154
206
|
}, pageLayout == null || (_pageLayout$main = pageLayout.main) == null ? void 0 : _pageLayout$main.map((layout, layoutIndex) => /*#__PURE__*/_react.default.createElement(_RenderViewLayoutCard.RenderViewLayoutCard, {
|
|
@@ -160,7 +212,7 @@ const ViewModeEntityPage = ({
|
|
|
160
212
|
__self: void 0,
|
|
161
213
|
__source: {
|
|
162
214
|
fileName: _jsxFileName,
|
|
163
|
-
lineNumber:
|
|
215
|
+
lineNumber: 134,
|
|
164
216
|
columnNumber: 17
|
|
165
217
|
}
|
|
166
218
|
})))), pageLayout != null && pageLayout.sidebar ? /*#__PURE__*/_react.default.createElement(_designSystem.Cell, {
|
|
@@ -168,7 +220,7 @@ const ViewModeEntityPage = ({
|
|
|
168
220
|
__self: void 0,
|
|
169
221
|
__source: {
|
|
170
222
|
fileName: _jsxFileName,
|
|
171
|
-
lineNumber:
|
|
223
|
+
lineNumber: 145,
|
|
172
224
|
columnNumber: 13
|
|
173
225
|
}
|
|
174
226
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
@@ -177,7 +229,7 @@ const ViewModeEntityPage = ({
|
|
|
177
229
|
__self: void 0,
|
|
178
230
|
__source: {
|
|
179
231
|
fileName: _jsxFileName,
|
|
180
|
-
lineNumber:
|
|
232
|
+
lineNumber: 146,
|
|
181
233
|
columnNumber: 15
|
|
182
234
|
}
|
|
183
235
|
}, (_pageLayout$sidebar = pageLayout.sidebar) == null ? void 0 : _pageLayout$sidebar.map((layout, layoutIndex) => /*#__PURE__*/_react.default.createElement(_RenderViewLayoutCard.RenderViewLayoutCard, {
|
|
@@ -189,7 +241,7 @@ const ViewModeEntityPage = ({
|
|
|
189
241
|
__self: void 0,
|
|
190
242
|
__source: {
|
|
191
243
|
fileName: _jsxFileName,
|
|
192
|
-
lineNumber:
|
|
244
|
+
lineNumber: 148,
|
|
193
245
|
columnNumber: 19
|
|
194
246
|
}
|
|
195
247
|
})))) : null)));
|
|
@@ -1 +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 dataHook=\"view-mode-entity-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\n dataHook=\"view-mode-entity-page-more-actions\"\n items={resolvedMoreActions}\n />\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":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_reactRouterDom","_RenderViewLayoutCard","_SchemaContext","_hooks","_patterns","_useEntityPageActions","_useEntityPageMoreActions","_useActionsSDK","_useNavigateEditEntityAction","_useEntityPageHeaderTexts","_SkeletonEntity","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ViewModeEntityPage","configuration","_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","subtitle","useEntityPageHeaderTexts","config","isCreateMode","isViewMode","entityDisplayName","displayField","sdk","useActionsSDK","collectionId","useEntityPageActions","entityPageActions","moreActions","useNavigateEditEntityAction","displayName","resolvedMoreActions","useEntityPageMoreActions","renderTitle","text","badges","createElement","Box","gap","verticalAlign","alignContent","__self","__source","fileName","lineNumber","columnNumber","Heading","size","length","map","badge","index","Badge","_extends2","key","dataHook","SkeletonEntity","entityPage","Page","Header","showBackButton","onBackClicked","parentPageId","actionsBar","MoreActions","items","Content","Layout","Cell","span","sidebar","direction","main","layoutIndex","RenderViewLayoutCard","sectionId","cardIndex","exports"],"sources":["../../../../src/components/AutoPatternsEntityPage/ViewModeEntityPage.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { Page, Heading, Box, Layout, Cell, Badge } from '@wix/design-system';\nimport { useParams } from 'react-router-dom';\nimport { RenderViewLayoutCard } from './ViewEntityPage/RenderViewLayoutCard';\nimport { useSchema } from '../../providers/SchemaContext';\nimport { useNavigation } from '../../hooks';\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';\nimport { useEntityPageHeaderTexts } from '../../hooks/useEntityPageHeaderTexts';\nimport { ViewEntityPageConfig } from '../../types';\nimport { SkeletonEntity } from './SkeletonEntity';\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, subtitle } = useEntityPageHeaderTexts({\n config: configuration,\n isCreateMode: false,\n isViewMode: true,\n entityDisplayName: entity?.[schema.displayField],\n entity,\n });\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 const renderTitle = () => {\n const { text, badges } = title;\n\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\" alignContent=\"center\">\n <Heading size=\"extraLarge\">{text}</Heading>\n {badges && badges.length > 0 && (\n <Box gap=\"SP2\">\n {badges.map((badge, index) => (\n <Badge\n key={index}\n {...badge}\n dataHook={`form-page-header-badge-${index}`}\n >\n {badge.text}\n </Badge>\n ))}\n </Box>\n )}\n </Box>\n );\n };\n\n if (!entity) {\n return <SkeletonEntity entityPage={configuration} />;\n }\n return (\n <Page dataHook=\"view-mode-entity-page\">\n <Page.Header\n dataHook=\"view-mode-entity-page-header\"\n title={renderTitle()}\n subtitle={subtitle?.text}\n showBackButton\n onBackClicked={() =>\n navigateToCollectionPage(configuration.parentPageId!)\n }\n actionsBar={\n <Box gap=\"SP2\">\n {resolvedMoreActions.length > 0 ? (\n <MoreActions\n dataHook=\"view-mode-entity-page-more-actions\"\n items={resolvedMoreActions}\n />\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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AACA,IAAAQ,yBAAA,GAAAR,OAAA;AACA,IAAAS,cAAA,GAAAT,OAAA;AACA,IAAAU,4BAAA,GAAAV,OAAA;AACA,IAAAW,yBAAA,GAAAX,OAAA;AAEA,IAAAY,eAAA,GAAAZ,OAAA;AAAkD,IAAAa,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,SAAAhB,wBAAAgB,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;AAMlD;AACO,MAAMW,kBAAqD,GAAGA,CAAC;EACpEC;AACF,CAAC,KAAK;EAAA,IAAAC,gBAAA,EAAAC,mBAAA;EACJ,MAAM;IAAEC;EAAM,CAAC,GAAGH,aAAa;EAC/B,MAAMI,MAAM,GAAG,IAAAC,yBAAS,EAAC,CAAC;EAC1B,MAAMC,QAAQ,GAAGF,MAAM,CAACD,KAAK,CAACC,MAAM,CAACG,EAAE,CAAC;EACxC,MAAMC,MAAM,GAAG,IAAAC,wBAAS,EAAC,CAAC;EAC1B,MAAM;IAAEC,MAAM,EAAEC;EAAW,CAAC,GAAGX,aAAa;EAC5C,MAAM;IAAEY;EAAyB,CAAC,GAAG,IAAAC,oBAAa,EAAC,CAAC;EAEpD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAMC,SAAS,CAAC;EAEpD,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,SAAS,GAAG,IAAI;IACpB,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAAY;MAC9B,IAAI,CAACd,QAAQ,EAAE;QACbS,SAAS,CAACE,SAAS,CAAC;QACpB;MACF;MACA,MAAMI,aAAa,GAAG,MAAMb,MAAM,CAACc,OAAO,CAACnC,GAAG,CAACmB,QAAQ,CAAC;MACxD,IAAIa,SAAS,EAAE;QACbJ,SAAS,CAACM,aAAa,CAAC;MAC1B;IACF,CAAC;IACDD,WAAW,CAAC,CAAC;IACb,OAAO,MAAM;MACXD,SAAS,GAAG,KAAK;IACnB,CAAC;EACH,CAAC,EAAE,CAACb,QAAQ,EAAEE,MAAM,CAAC,CAAC;EAEtB,MAAM;IAAEe,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,kDAAwB,EAAC;IACnDC,MAAM,EAAE1B,aAAa;IACrB2B,YAAY,EAAE,KAAK;IACnBC,UAAU,EAAE,IAAI;IAChBC,iBAAiB,EAAEf,MAAM,oBAANA,MAAM,CAAGN,MAAM,CAACsB,YAAY,CAAC;IAChDhB;EACF,CAAC,CAAC;EAEF,MAAMiB,GAAG,GAAG,IAAAC,4BAAa,EAAC;IACxBC,YAAY,EAAEjC,aAAa,CAACiC;EAC9B,CAAC,CAAC;EAEF,MAAMX,OAAO,GAAG,IAAAY,0CAAoB,EAAC;IACnCC,iBAAiB,EAAEnC,aAAa,CAACsB,OAAO;IACxCR,MAAM;IACNiB;EACF,CAAC,CAAC;;EAEF;EACA,MAAMK,WAAW,GAAG,IAAAC,wDAA2B,EAAC;IAC9CC,WAAW,EAAExB,MAAM,oBAANA,MAAM,CAAGN,MAAM,CAACsB,YAAY,CAAC;IAC1C9B;EACF,CAAC,CAAC;EAEF,MAAMuC,mBAAmB,GAAG,IAAAC,kDAAwB,EAClDJ,WAAW,EACXtB,MAAM,EACNiB,GACF,CAAC;EAED,MAAMU,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAM;MAAEC,IAAI;MAAEC;IAAO,CAAC,GAAGpB,KAAK;IAE9B,oBACE5D,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAA+E,GAAG;MAACC,GAAG,EAAC,KAAK;MAACC,aAAa,EAAC,QAAQ;MAACC,YAAY,EAAC,QAAQ;MAAAC,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzE,YAAA;QAAA0E,UAAA;QAAAC,YAAA;MAAA;IAAA,gBACzD1F,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAAwF,OAAO;MAACC,IAAI,EAAC,YAAY;MAAAN,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzE,YAAA;QAAA0E,UAAA;QAAAC,YAAA;MAAA;IAAA,GAAEX,IAAc,CAAC,EAC1CC,MAAM,IAAIA,MAAM,CAACa,MAAM,GAAG,CAAC,iBAC1B7F,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAA+E,GAAG;MAACC,GAAG,EAAC,KAAK;MAAAG,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzE,YAAA;QAAA0E,UAAA;QAAAC,YAAA;MAAA;IAAA,GACXV,MAAM,CAACc,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,kBACvBhG,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAA8F,KAAK,MAAAC,SAAA,CAAA5E,OAAA;MACJ6E,GAAG,EAAEH;IAAM,GACPD,KAAK;MACTK,QAAQ,EAAE,0BAA0BJ,KAAK,EAAG;MAAAV,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzE,YAAA;QAAA0E,UAAA;QAAAC,YAAA;MAAA;IAAA,IAE3CK,KAAK,CAAChB,IACF,CACR,CACE,CAEJ,CAAC;EAEV,CAAC;EAED,IAAI,CAAC5B,MAAM,EAAE;IACX,oBAAOnD,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAACnE,eAAA,CAAAuF,cAAc;MAACC,UAAU,EAAEjE,aAAc;MAAAiD,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzE,YAAA;QAAA0E,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAC;EACtD;EACA,oBACE1F,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAAoG,IAAI;IAACH,QAAQ,EAAC,uBAAuB;IAAAd,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzE,YAAA;MAAA0E,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACpC1F,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAAoG,IAAI,CAACC,MAAM;IACVJ,QAAQ,EAAC,8BAA8B;IACvCxC,KAAK,EAAEkB,WAAW,CAAC,CAAE;IACrBjB,QAAQ,EAAEA,QAAQ,oBAARA,QAAQ,CAAEkB,IAAK;IACzB0B,cAAc;IACdC,aAAa,EAAEA,CAAA,KACbzD,wBAAwB,CAACZ,aAAa,CAACsE,YAAa,CACrD;IACDC,UAAU,eACR5G,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAA+E,GAAG;MAACC,GAAG,EAAC,KAAK;MAAAG,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzE,YAAA;QAAA0E,UAAA;QAAAC,YAAA;MAAA;IAAA,GACXd,mBAAmB,CAACiB,MAAM,GAAG,CAAC,gBAC7B7F,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAACzE,SAAA,CAAAqG,WAAW;MACVT,QAAQ,EAAC,oCAAoC;MAC7CU,KAAK,EAAElC,mBAAoB;MAAAU,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzE,YAAA;QAAA0E,UAAA;QAAAC,YAAA;MAAA;IAAA,CAC5B,CAAC,GACApC,SAAS,EACZK,OACE,CACN;IAAA2B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzE,YAAA;MAAA0E,UAAA;MAAAC,YAAA;IAAA;EAAA,CACF,CAAC,eACF1F,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAAoG,IAAI,CAACQ,OAAO;IAAAzB,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzE,YAAA;MAAA0E,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACX1F,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAA6G,MAAM;IAAA1B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzE,YAAA;MAAA0E,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACL1F,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAA8G,IAAI;IAACC,IAAI,EAAElE,UAAU,YAAVA,UAAU,CAAEmE,OAAO,GAAG,CAAC,GAAG,EAAG;IAAA7B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzE,YAAA;MAAA0E,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACvC1F,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAA+E,GAAG;IAACkC,SAAS,EAAC,UAAU;IAACjC,GAAG,EAAC,KAAK;IAAAG,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzE,YAAA;MAAA0E,UAAA;MAAAC,YAAA;IAAA;EAAA,GAChC1C,UAAU,aAAAV,gBAAA,GAAVU,UAAU,CAAEqE,IAAI,qBAAhB/E,gBAAA,CAAkBwD,GAAG,CAAC,CAAC/C,MAAM,EAAEuE,WAAW,kBACzCtH,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC5E,qBAAA,CAAAkH,oBAAoB;IACnBpB,GAAG,EAAE,qBAAqBmB,WAAW,EAAG;IACxCnE,MAAM,EAAEA,MAAO;IACfJ,MAAM,EAAEA,MAAO;IACfyE,SAAS,EAAC,MAAM;IAChBC,SAAS,EAAEH,WAAY;IAAAhC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzE,YAAA;MAAA0E,UAAA;MAAAC,YAAA;IAAA;EAAA,CACxB,CACF,CACE,CACD,CAAC,EACN1C,UAAU,YAAVA,UAAU,CAAEmE,OAAO,gBAClBnH,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAA8G,IAAI;IAACC,IAAI,EAAE,CAAE;IAAA5B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzE,YAAA;MAAA0E,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACZ1F,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC9E,aAAA,CAAA+E,GAAG;IAACkC,SAAS,EAAC,UAAU;IAACjC,GAAG,EAAC,KAAK;IAAAG,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzE,YAAA;MAAA0E,UAAA;MAAAC,YAAA;IAAA;EAAA,IAAAnD,mBAAA,GAChCS,UAAU,CAACmE,OAAO,qBAAlB5E,mBAAA,CAAoBuD,GAAG,CAAC,CAAC/C,MAAM,EAAEuE,WAAW,kBAC3CtH,MAAA,CAAAsB,OAAA,CAAA2D,aAAA,CAAC5E,qBAAA,CAAAkH,oBAAoB;IACnBpB,GAAG,EAAE,wBAAwBmB,WAAW,EAAG;IAC3CnE,MAAM,EAAEA,MAAO;IACfJ,MAAM,EAAEA,MAAO;IACfyE,SAAS,EAAC,SAAS;IACnBC,SAAS,EAAEH,WAAY;IAAAhC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzE,YAAA;MAAA0E,UAAA;MAAAC,YAAA;IAAA;EAAA,CACxB,CACF,CACE,CACD,CAAC,GACL,IACE,CACI,CACV,CAAC;AAEX,CAAC;AAACgC,OAAA,CAAAtF,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -3,23 +3,62 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.useEntityPageHeaderTexts = void 0;
|
|
5
5
|
var _react = require("react");
|
|
6
|
+
var _PatternsWizardOverridesContext = require("../providers/PatternsWizardOverridesContext");
|
|
6
7
|
const useEntityPageHeaderTexts = ({
|
|
7
8
|
config,
|
|
8
9
|
isCreateMode,
|
|
9
|
-
|
|
10
|
+
isViewMode,
|
|
11
|
+
entityDisplayName,
|
|
12
|
+
entity
|
|
10
13
|
}) => {
|
|
11
|
-
|
|
14
|
+
var _config$title2;
|
|
15
|
+
const overrides = (0, _PatternsWizardOverridesContext.usePatternsWizardOverridesContext)();
|
|
16
|
+
const titleText = (0, _react.useMemo)(() => {
|
|
12
17
|
if (config.title) {
|
|
13
|
-
return config.title;
|
|
18
|
+
return config.title.text;
|
|
14
19
|
} else {
|
|
15
|
-
return
|
|
16
|
-
text: isCreateMode ? 'Create New Item' : entityDisplayName ?? 'Edit Item'
|
|
17
|
-
};
|
|
20
|
+
return isCreateMode ? 'Create New Item' : isViewMode ? entityDisplayName ?? 'View Item' : entityDisplayName ?? 'Edit Item';
|
|
18
21
|
}
|
|
19
|
-
}, [config.title, entityDisplayName, isCreateMode]);
|
|
20
|
-
const subtitle = (0, _react.useMemo)(() =>
|
|
22
|
+
}, [config.title, entityDisplayName, isCreateMode, isViewMode]);
|
|
23
|
+
const subtitle = (0, _react.useMemo)(() => {
|
|
24
|
+
if (!config.subtitle) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
if (entity && overrides != null && overrides.entityPageHeaderSubtitle && config.subtitle.id) {
|
|
28
|
+
const subtitleOverride = overrides.entityPageHeaderSubtitle[config.subtitle.id];
|
|
29
|
+
if (subtitleOverride) {
|
|
30
|
+
const overrideResult = subtitleOverride(entity);
|
|
31
|
+
return {
|
|
32
|
+
...config.subtitle,
|
|
33
|
+
...overrideResult
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
...config.subtitle,
|
|
39
|
+
text: config.subtitle.text ?? ''
|
|
40
|
+
};
|
|
41
|
+
}, [config.subtitle, entity, overrides == null ? void 0 : overrides.entityPageHeaderSubtitle]);
|
|
42
|
+
const badges = (0, _react.useMemo)(() => {
|
|
43
|
+
var _config$title;
|
|
44
|
+
if (!((_config$title = config.title) != null && _config$title.badges)) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
// If badges has an id, try to resolve it dynamically
|
|
48
|
+
if (entity && overrides != null && overrides.entityPageHeaderBadges && config.title.badges.id) {
|
|
49
|
+
const badgesOverride = overrides.entityPageHeaderBadges[config.title.badges.id];
|
|
50
|
+
if (badgesOverride) {
|
|
51
|
+
const overrideBadges = badgesOverride(entity);
|
|
52
|
+
return overrideBadges;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
}, [(_config$title2 = config.title) == null ? void 0 : _config$title2.badges, entity, overrides == null ? void 0 : overrides.entityPageHeaderBadges]);
|
|
21
57
|
return {
|
|
22
|
-
title
|
|
58
|
+
title: {
|
|
59
|
+
text: titleText,
|
|
60
|
+
badges
|
|
61
|
+
},
|
|
23
62
|
subtitle
|
|
24
63
|
};
|
|
25
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","useEntityPageHeaderTexts","config","isCreateMode","entityDisplayName","
|
|
1
|
+
{"version":3,"names":["_react","require","_PatternsWizardOverridesContext","useEntityPageHeaderTexts","config","isCreateMode","isViewMode","entityDisplayName","entity","_config$title2","overrides","usePatternsWizardOverridesContext","titleText","useMemo","title","text","subtitle","undefined","entityPageHeaderSubtitle","id","subtitleOverride","overrideResult","badges","_config$title","entityPageHeaderBadges","badgesOverride","overrideBadges","exports"],"sources":["../../../src/hooks/useEntityPageHeaderTexts.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { EntityPageConfig } from '../types';\nimport { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';\n\nexport const useEntityPageHeaderTexts = ({\n config,\n isCreateMode,\n isViewMode,\n entityDisplayName,\n entity,\n}: {\n config: EntityPageConfig;\n isCreateMode: boolean;\n isViewMode?: boolean;\n entityDisplayName?: string;\n entity?: Record<string, any>;\n}) => {\n const overrides = usePatternsWizardOverridesContext();\n\n const titleText = useMemo(() => {\n if (config.title) {\n return config.title.text;\n } else {\n return isCreateMode\n ? 'Create New Item'\n : isViewMode\n ? entityDisplayName ?? 'View Item'\n : entityDisplayName ?? 'Edit Item';\n }\n }, [config.title, entityDisplayName, isCreateMode, isViewMode]);\n\n const subtitle = useMemo(() => {\n if (!config.subtitle) {\n return undefined;\n }\n\n if (entity && overrides?.entityPageHeaderSubtitle && config.subtitle.id) {\n const subtitleOverride =\n overrides.entityPageHeaderSubtitle[config.subtitle.id];\n if (subtitleOverride) {\n const overrideResult = subtitleOverride(entity);\n return {\n ...config.subtitle,\n ...overrideResult,\n };\n }\n }\n\n return {\n ...config.subtitle,\n text: config.subtitle.text ?? '',\n };\n }, [config.subtitle, entity, overrides?.entityPageHeaderSubtitle]);\n\n const badges = useMemo(() => {\n if (!config.title?.badges) {\n return undefined;\n }\n // If badges has an id, try to resolve it dynamically\n if (entity && overrides?.entityPageHeaderBadges && config.title.badges.id) {\n const badgesOverride =\n overrides.entityPageHeaderBadges[config.title.badges.id];\n if (badgesOverride) {\n const overrideBadges = badgesOverride(entity);\n return overrideBadges;\n }\n }\n\n return undefined;\n }, [config.title?.badges, entity, overrides?.entityPageHeaderBadges]);\n\n return { title: { text: titleText, badges }, subtitle };\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,+BAAA,GAAAD,OAAA;AAEO,MAAME,wBAAwB,GAAGA,CAAC;EACvCC,MAAM;EACNC,YAAY;EACZC,UAAU;EACVC,iBAAiB;EACjBC;AAOF,CAAC,KAAK;EAAA,IAAAC,cAAA;EACJ,MAAMC,SAAS,GAAG,IAAAC,iEAAiC,EAAC,CAAC;EAErD,MAAMC,SAAS,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC9B,IAAIT,MAAM,CAACU,KAAK,EAAE;MAChB,OAAOV,MAAM,CAACU,KAAK,CAACC,IAAI;IAC1B,CAAC,MAAM;MACL,OAAOV,YAAY,GACf,iBAAiB,GACjBC,UAAU,GACVC,iBAAiB,IAAI,WAAW,GAChCA,iBAAiB,IAAI,WAAW;IACtC;EACF,CAAC,EAAE,CAACH,MAAM,CAACU,KAAK,EAAEP,iBAAiB,EAAEF,YAAY,EAAEC,UAAU,CAAC,CAAC;EAE/D,MAAMU,QAAQ,GAAG,IAAAH,cAAO,EAAC,MAAM;IAC7B,IAAI,CAACT,MAAM,CAACY,QAAQ,EAAE;MACpB,OAAOC,SAAS;IAClB;IAEA,IAAIT,MAAM,IAAIE,SAAS,YAATA,SAAS,CAAEQ,wBAAwB,IAAId,MAAM,CAACY,QAAQ,CAACG,EAAE,EAAE;MACvE,MAAMC,gBAAgB,GACpBV,SAAS,CAACQ,wBAAwB,CAACd,MAAM,CAACY,QAAQ,CAACG,EAAE,CAAC;MACxD,IAAIC,gBAAgB,EAAE;QACpB,MAAMC,cAAc,GAAGD,gBAAgB,CAACZ,MAAM,CAAC;QAC/C,OAAO;UACL,GAAGJ,MAAM,CAACY,QAAQ;UAClB,GAAGK;QACL,CAAC;MACH;IACF;IAEA,OAAO;MACL,GAAGjB,MAAM,CAACY,QAAQ;MAClBD,IAAI,EAAEX,MAAM,CAACY,QAAQ,CAACD,IAAI,IAAI;IAChC,CAAC;EACH,CAAC,EAAE,CAACX,MAAM,CAACY,QAAQ,EAAER,MAAM,EAAEE,SAAS,oBAATA,SAAS,CAAEQ,wBAAwB,CAAC,CAAC;EAElE,MAAMI,MAAM,GAAG,IAAAT,cAAO,EAAC,MAAM;IAAA,IAAAU,aAAA;IAC3B,IAAI,GAAAA,aAAA,GAACnB,MAAM,CAACU,KAAK,aAAZS,aAAA,CAAcD,MAAM,GAAE;MACzB,OAAOL,SAAS;IAClB;IACA;IACA,IAAIT,MAAM,IAAIE,SAAS,YAATA,SAAS,CAAEc,sBAAsB,IAAIpB,MAAM,CAACU,KAAK,CAACQ,MAAM,CAACH,EAAE,EAAE;MACzE,MAAMM,cAAc,GAClBf,SAAS,CAACc,sBAAsB,CAACpB,MAAM,CAACU,KAAK,CAACQ,MAAM,CAACH,EAAE,CAAC;MAC1D,IAAIM,cAAc,EAAE;QAClB,MAAMC,cAAc,GAAGD,cAAc,CAACjB,MAAM,CAAC;QAC7C,OAAOkB,cAAc;MACvB;IACF;IAEA,OAAOT,SAAS;EAClB,CAAC,EAAE,EAAAR,cAAA,GAACL,MAAM,CAACU,KAAK,qBAAZL,cAAA,CAAca,MAAM,EAAEd,MAAM,EAAEE,SAAS,oBAATA,SAAS,CAAEc,sBAAsB,CAAC,CAAC;EAErE,OAAO;IAAEV,KAAK,EAAE;MAAEC,IAAI,EAAEH,SAAS;MAAEU;IAAO,CAAC;IAAEN;EAAS,CAAC;AACzD,CAAC;AAACW,OAAA,CAAAxB,wBAAA,GAAAA,wBAAA","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 CustomActionCellPrimaryActionResolver,\n CustomActionCellSecondaryActionResolver,\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 | CustomActionCellPrimaryActionResolver\n | CustomActionCellSecondaryActionResolver\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;
|
|
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 CustomActionCellPrimaryActionResolver,\n CustomActionCellSecondaryActionResolver,\n CustomEntityPageActionResolver,\n CustomBulkActionsActionResolver,\n CustomActionCollectionPageActionResolver,\n CustomActionCollectionPageActionOnRowClickResolver,\n IColumnValue,\n SchemaConfig,\n} from '../types';\n\nimport { Section } from '@wix/patterns';\nimport { BadgeSkin, IconElement } from '@wix/design-system';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<\n string,\n | CustomActionCellPrimaryActionResolver\n | CustomActionCellSecondaryActionResolver\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 entityPageHeaderSubtitle?: Record<\n string,\n (entity: Record<string, any>) => { text: string }\n >;\n entityPageHeaderBadges?: Record<\n string,\n (entity: Record<string, any>) => {\n text: string;\n skin?: BadgeSkin;\n prefixIcon?: IconElement;\n suffixIcon?: IconElement;\n }[]\n >;\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;AAmDpE,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 {\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
|
|
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 badges?: {\n id: string;\n };\n };\n subtitle?: {\n text?: string;\n id?: 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,6 +1,6 @@
|
|
|
1
1
|
# AppConfig Structure
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Configuration Rules
|
|
4
4
|
|
|
5
5
|
- **Configuration must come only from a TypeScript file** - never inline or from other sources
|
|
6
6
|
- **Always use proper TypeScript typing**: `export const config: AppConfig = { ... }`
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
- **After each configuration change, verify that the configuration strictly aligns with the structure described below** - any configuration entries not defined in this structure must be removed
|
|
9
9
|
- **When generating config for the first time, select up to 3 columns from the schema that best represent the entity**
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Common Configuration Mistakes to Avoid
|
|
12
12
|
|
|
13
13
|
- Adding more than two pages
|
|
14
14
|
- Mixing page types in a single configuration
|
|
@@ -314,9 +314,13 @@ export interface AppConfig {
|
|
|
314
314
|
};
|
|
315
315
|
title?: {
|
|
316
316
|
text: string; // Entity page title
|
|
317
|
+
badges?: {
|
|
318
|
+
id?: string; // Optional ID that maps to a dynamic badges override function
|
|
319
|
+
};
|
|
317
320
|
};
|
|
318
321
|
subtitle?: {
|
|
319
322
|
text: string; // Entity page subtitle
|
|
323
|
+
id?: string; // Optional ID that maps to a dynamic subtitle override function
|
|
320
324
|
};
|
|
321
325
|
actions?: { // Action configuration varies by mode
|
|
322
326
|
// Edit mode: only moreActions supported
|