@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.
Files changed (35) hide show
  1. package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js +10 -9
  2. package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js +88 -36
  4. package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -1
  5. package/dist/cjs/hooks/useEntityPageHeaderTexts.js +48 -9
  6. package/dist/cjs/hooks/useEntityPageHeaderTexts.js.map +1 -1
  7. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  8. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  9. package/dist/cjs/types/EntityPageConfig.js.map +1 -1
  10. package/dist/docs/app_config_structure.md +6 -2
  11. package/dist/docs/auto-patterns-guide.md +347 -16
  12. package/dist/docs/collection_page.md +1 -1
  13. package/dist/docs/collection_page_actions.md +1 -1
  14. package/dist/docs/custom_overrides.md +18 -6
  15. package/dist/docs/entity_page.md +294 -2
  16. package/dist/docs/index.md +8 -0
  17. package/dist/docs/installation.md +25 -2
  18. package/dist/docs/pages_configuration.md +2 -2
  19. package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js +2 -1
  20. package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -1
  21. package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js +45 -18
  22. package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -1
  23. package/dist/esm/hooks/useEntityPageHeaderTexts.js +48 -9
  24. package/dist/esm/hooks/useEntityPageHeaderTexts.js.map +1 -1
  25. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  26. package/dist/esm/types/EntityPageConfig.js.map +1 -1
  27. package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts.map +1 -1
  28. package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts.map +1 -1
  29. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts +10 -1
  30. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -1
  31. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +10 -0
  32. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  33. package/dist/types/types/EntityPageConfig.d.ts +5 -1
  34. package/dist/types/types/EntityPageConfig.d.ts.map +1 -1
  35. 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: 111,
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: 117,
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: 112,
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: 121,
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: 122,
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: 124,
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: 134,
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: 136,
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":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAOA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAEA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,yBAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AAAkD,IAAAS,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,SAAAZ,wBAAAY,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;AAG3C,MAAMW,kBAEX,GAAGA,CAAC;EAAEC;AAAc,CAAC,KAAK;EAAA,IAAAC,gBAAA,EAAAC,mBAAA;EAC1B,MAAM;IACJC,MAAM,EAAEC,UAAU;IAClBC,YAAY;IACZC,KAAK;IACLC,OAAO;IACPC;EACF,CAAC,GAAGR,aAAa;EAEjB,MAAMS,WAAW,GAAGF,OAAO,oBAAPA,OAAO,CAAEE,WAAW;EAExC,MAAMC,IAAI,GAAG,IAAAC,aAAO,EAAM;IACxBC,IAAI,EAAE;EACR,CAAC,CAAC;EACF,MAAMC,MAAM,GAAG,IAAAC,yBAAS,EAAC,CAAC;EAC1B,MAAMC,QAAQ,GAAGF,MAAM,CAACP,KAAK,CAACO,MAAM,CAACG,EAAE,CAAC;EACxC,MAAMC,MAAM,GAAG,IAAAC,wBAAS,EAAC,CAAC;EAC1B,MAAMC,YAAY,GAAG,CAACJ,QAAQ;EAE9B,MAAMK,SAAS,GAAG,IAAAC,aAAM,EAAsC,CAAC,CAAC,CAAC;EAEjE,MAAMC,WAAW,GAAGA,CAACN,EAAU,EAAEO,KAAmB,KAAK;IACvDH,SAAS,CAACI,OAAO,CAACR,EAAE,CAAC,GAAGO,KAAK;EAC/B,CAAC;EAED,MAAME,QAAQ,GAAGA,CAAA,KAAM;IACrB,MAAMC,cAAc,GAAGnC,MAAM,CAACoC,IAAI,CAACP,SAAS,CAACI,OAAO,CAAC,CAACI,IAAI,CAAEC,OAAO,IAAK;MAAA,IAAAC,qBAAA;MACtE,QAAAA,qBAAA,GAAOV,SAAS,CAACI,OAAO,CAACK,OAAO,CAAC,qBAA1BC,qBAAA,CAA4BC,OAAO;IAC5C,CAAC,CAAC;IAEF,IAAIL,cAAc,EAAE;MAAA,IAAAM,qBAAA;MAClB,CAAAA,qBAAA,GAAAZ,SAAS,CAACI,OAAO,CAACE,cAAc,CAAC,aAAjCM,qBAAA,CAAmCC,KAAK,YAAxCD,qBAAA,CAAmCC,KAAK,CAAG,CAAC;MAC5C,MAAM,IAAIC,KAAK,CAAC,cAAc,CAAC;IACjC;EACF,CAAC;EACD,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAC,oBAAa,EAAC,CAAC;EAE7C,MAAMC,UAAU,GAAG,IAAAC,cAAO,EACxB,MAAMH,iBAAiB,CAAC9B,YAAY,CAAC,EACrC,CAACA,YAAY,EAAE8B,iBAAiB,CAClC,CAAC;EAED,MAAMI,KAA2B,GAAG,IAAAC,uBAAa,EAAW;IAC1DH,UAAU;IACV3B,IAAI;IACJ+B,MAAM,EAAE,MAAAA,CAAA,KAAY;MAClBhB,QAAQ,CAAC,CAAC;MAEV,MAAMiB,UAAU,GAAGhC,IAAI,CAACiC,SAAS,CAAC,CAAC;MACnC,MAAMC,UAAU,GAAGL,KAAK,CAACM,MAAM,IAAI,CAAC,CAAC;MACrC,MAAMC,aAAa,GAAG;QACpB,GAAGF,UAAU;QACb,GAAGF;MACL,CAAC;MAED,MAAMK,SAAS,GAAGhC,QAAQ,GACtB,MAAME,MAAM,CAACV,OAAO,CAACyC,MAAM,CAACF,aAAa,CAAC,GAC1C,MAAM7B,MAAM,CAACV,OAAO,CAAC0C,MAAM,CAACH,aAAa,CAAC;MAE9C,OAAO;QAAEA,aAAa,EAAEC;MAAU,CAAC;IACrC,CAAC;IACDG,KAAK,EAAE,MAAAA,CAAA,KAAY;MACjB,IAAI,CAACnC,QAAQ,EAAE;QACb,OAAO;UAAE8B,MAAM,EAAEM;QAAU,CAAC;MAC9B;MACA,MAAMN,MAAM,GAAG,MAAM5B,MAAM,CAACV,OAAO,CAACpB,GAAG,CAAC4B,QAAQ,CAAC;MACjD,OAAO;QAAE8B;MAAO,CAAC;IACnB;EACF,CAAC,CAAC;EAEF,MAAMA,MAAM,GAAG,IAAAO,mBAAS,EAACb,KAAK,CAAC;EAE/B,MAAM;IAAEc,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,+BAAwB,EAAC;IACnDC,MAAM,EAAExD,aAAa;IACrBmB,YAAY;IACZsC,iBAAiB,EAAEZ,MAAM,oBAANA,MAAM,CAAG5B,MAAM,CAACyC,YAAY,CAAC;IAChDb;EACF,CAAC,CAAC;EAEF,MAAMc,GAAG,GAAG,IAAAC,4BAAa,EAAC;IACxBpD;EACF,CAAC,CAAC;EAEF,MAAMqD,mBAAmB,GAAG,IAAAC,kDAAwB,EAClDrD,WAAW,EACXoC,MAAM,EACNc,GAAG,EACHjD,IACF,CAAC;EAED,oBACE3C,MAAA,CAAAkB,OAAA,CAAA8E,aAAA,CAAC7F,SAAA,CAAA8F,UAAU;IAACzB,KAAK,EAAEA,KAAM;IAAC0B,QAAQ,EAAC,2BAA2B;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA1F,YAAA;MAAA2F,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAC5DvG,MAAA,CAAAkB,OAAA,CAAA8E,aAAA,CAAC7F,SAAA,CAAA8F,UAAU,CAACO,MAAM;IAChBlB,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnB7C,WAAW,EACToD,mBAAmB,CAACW,MAAM,GAAG,CAAC,gBAC5BzG,MAAA,CAAAkB,OAAA,CAAA8E,aAAA,CAAC7F,SAAA,CAAAuG,WAAW;MAACC,KAAK,EAAEb,mBAAoB;MAAAK,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAA1F,YAAA;QAAA2F,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAC,GACzCnB,SACL;IAAAe,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA1F,YAAA;MAAA2F,UAAA;MAAAC,YAAA;IAAA;EAAA,CACF,CAAC,eACFvG,MAAA,CAAAkB,OAAA,CAAA8E,aAAA,CAAC7F,SAAA,CAAA8F,UAAU,CAACW,OAAO;IAAAT,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA1F,YAAA;MAAA2F,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACjBvG,MAAA,CAAAkB,OAAA,CAAA8E,aAAA,CAAC7F,SAAA,CAAA8F,UAAU,CAACY,WAAW;IAACX,QAAQ,EAAC,0BAA0B;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA1F,YAAA;MAAA2F,UAAA;MAAAC,YAAA;IAAA;EAAA,GACxDlE,UAAU,aAAAH,gBAAA,GAAVG,UAAU,CAAEyE,IAAI,qBAAhB5E,gBAAA,CAAkB6E,GAAG,CAAC,CAAC3E,MAAM,EAAE4E,WAAW,kBACzChH,MAAA,CAAAkB,OAAA,CAAA8E,aAAA,CAACtF,aAAA,CAAAuG,gBAAgB;IACfC,GAAG,EAAE,qBAAqBF,WAAW,EAAG;IACxC5E,MAAM,EAAEA,MAAO;IACf+E,SAAS,EAAC,MAAM;IAChBC,SAAS,EAAEJ,WAAY;IACvBzD,WAAW,EAAEA,WAAY;IAAA4C,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA1F,YAAA;MAAA2F,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC1B,CACF,CACqB,CAAC,EACxBlE,UAAU,YAAVA,UAAU,CAAEgF,OAAO,gBAClBrH,MAAA,CAAAkB,OAAA,CAAA8E,aAAA,CAAC7F,SAAA,CAAA8F,UAAU,CAACqB,iBAAiB;IAAAnB,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA1F,YAAA;MAAA2F,UAAA;MAAAC,YAAA;IAAA;EAAA,IAAApE,mBAAA,GAC1BE,UAAU,CAACgF,OAAO,qBAAlBlF,mBAAA,CAAoB4E,GAAG,CAAC,CAAC3E,MAAM,EAAE4E,WAAW,kBAC3ChH,MAAA,CAAAkB,OAAA,CAAA8E,aAAA,CAACtF,aAAA,CAAAuG,gBAAgB;IACfC,GAAG,EAAE,wBAAwBF,WAAW,EAAG;IAC3C5E,MAAM,EAAEA,MAAO;IACf+E,SAAS,EAAC,SAAS;IACnBC,SAAS,EAAEJ,WAAY;IACvBzD,WAAW,EAAEA,WAAY;IAAA4C,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA1F,YAAA;MAAA2F,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC1B,CACF,CAC2B,CAAC,GAC7B,IACc,CACV,CAAC;AAEjB,CAAC;AAACgB,OAAA,CAAAvF,kBAAA,GAAAA,kBAAA","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 _providers = require("../../providers");
10
- var _useNavigationUtils = require("../../hooks/useNavigationUtils");
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 _configuration$subtit, _pageLayout$main, _pageLayout$sidebar;
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, _providers.useSchema)();
33
+ const schema = (0, _SchemaContext.useSchema)();
30
34
  const {
31
35
  layout: pageLayout
32
36
  } = configuration;
33
37
  const {
34
38
  navigateToCollectionPage
35
- } = (0, _useNavigationUtils.useNavigation)();
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 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;
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: 82,
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: /*#__PURE__*/_react.default.createElement(_designSystem.Heading, {
88
- size: "extraLarge",
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: 92,
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: 94,
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: 83,
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: 103,
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: 104,
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: 105,
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: 106,
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: 108,
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: 119,
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: 120,
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: 122,
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":"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","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
- entityDisplayName
10
+ isViewMode,
11
+ entityDisplayName,
12
+ entity
10
13
  }) => {
11
- const title = (0, _react.useMemo)(() => {
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)(() => config.subtitle, [config.subtitle]);
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","title","useMemo","text","subtitle","exports"],"sources":["../../../src/hooks/useEntityPageHeaderTexts.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { EntityPageConfig } from '../types';\n\nexport const useEntityPageHeaderTexts = ({\n config,\n isCreateMode,\n entityDisplayName,\n}: {\n config: EntityPageConfig;\n isCreateMode: boolean;\n entityDisplayName?: string;\n}) => {\n const title = useMemo(() => {\n if (config.title) {\n return config.title;\n } else {\n return {\n text: isCreateMode\n ? 'Create New Item'\n : entityDisplayName ?? 'Edit Item',\n };\n }\n }, [config.title, entityDisplayName, isCreateMode]);\n\n const subtitle = useMemo(() => config.subtitle, [config.subtitle]);\n\n return { title, subtitle };\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,wBAAwB,GAAGA,CAAC;EACvCC,MAAM;EACNC,YAAY;EACZC;AAKF,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC1B,IAAIJ,MAAM,CAACG,KAAK,EAAE;MAChB,OAAOH,MAAM,CAACG,KAAK;IACrB,CAAC,MAAM;MACL,OAAO;QACLE,IAAI,EAAEJ,YAAY,GACd,iBAAiB,GACjBC,iBAAiB,IAAI;MAC3B,CAAC;IACH;EACF,CAAC,EAAE,CAACF,MAAM,CAACG,KAAK,EAAED,iBAAiB,EAAED,YAAY,CAAC,CAAC;EAEnD,MAAMK,QAAQ,GAAG,IAAAF,cAAO,EAAC,MAAMJ,MAAM,CAACM,QAAQ,EAAE,CAACN,MAAM,CAACM,QAAQ,CAAC,CAAC;EAElE,OAAO;IAAEH,KAAK;IAAEG;EAAS,CAAC;AAC5B,CAAC;AAACC,OAAA,CAAAR,wBAAA,GAAAA,wBAAA","ignoreList":[]}
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":[]}
@@ -16,7 +16,7 @@ const PatternsWizardOverridesProvider = ({
16
16
  __self: void 0,
17
17
  __source: {
18
18
  fileName: _jsxFileName,
19
- lineNumber: 47,
19
+ lineNumber: 61,
20
20
  columnNumber: 5
21
21
  }
22
22
  }, children);
@@ -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;AAqCpE,MAAMW,8BAA8B,gBAAG,IAAAC,oBAAa,EAElDC,SAAS,CAAC;AAEL,MAAMC,+BAGX,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC5B,oBACE7B,MAAA,CAAAU,OAAA,CAAAoB,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA,KAAM;IAAAG,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA/B,YAAA;MAAAgC,UAAA;MAAAC,YAAA;IAAA;EAAA,GACnDR,QACsC,CAAC;AAE9C,CAAC;AAACS,OAAA,CAAAV,+BAAA,GAAAA,+BAAA;AAEK,MAAMW,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAO,IAAAC,iBAAU,EAACf,8BAA8B,CAAC;AACnD,CAAC;AAACa,OAAA,CAAAC,iCAAA,GAAAA,iCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PatternsWizardOverridesContext","createContext","undefined","PatternsWizardOverridesProvider","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","exports","usePatternsWizardOverridesContext","useContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport {\n CustomComponentProps,\n 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: 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
+ {"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
- ## ⚠️ Configuration Rules
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
- ## ⚠️ Common Configuration Mistakes to Avoid
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