@wix/auto-patterns 1.23.0 → 1.25.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 (207) hide show
  1. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +12 -323
  2. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js +172 -0
  4. package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -0
  5. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js +78 -0
  6. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js.map +1 -0
  7. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +119 -0
  8. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +1 -0
  9. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js +79 -0
  10. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js.map +1 -0
  11. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/index.js +16 -0
  12. package/dist/cjs/components/AutoPatternsEntityPage/RenderLayout/index.js.map +1 -0
  13. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js +77 -0
  14. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js.map +1 -0
  15. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +109 -0
  16. package/dist/cjs/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +1 -0
  17. package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js +198 -0
  18. package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -0
  19. package/dist/cjs/components/AutoPatternsEntityPage/index.js +12 -0
  20. package/dist/cjs/components/AutoPatternsEntityPage/index.js.map +1 -1
  21. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +2 -1
  22. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  23. package/dist/cjs/hooks/useActionCell.js +2 -1
  24. package/dist/cjs/hooks/useActionCell.js.map +1 -1
  25. package/dist/cjs/hooks/useBulkActionToolbar.js +2 -1
  26. package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -1
  27. package/dist/cjs/hooks/useCollectionPageActions.js +2 -1
  28. package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -1
  29. package/dist/cjs/hooks/useEntityPageActions.js +106 -0
  30. package/dist/cjs/hooks/useEntityPageActions.js.map +1 -0
  31. package/dist/cjs/hooks/useEntityPageMoreActions.js +11 -1
  32. package/dist/cjs/hooks/useEntityPageMoreActions.js.map +1 -1
  33. package/dist/cjs/hooks/useNavigateEditEntityAction.js +50 -0
  34. package/dist/cjs/hooks/useNavigateEditEntityAction.js.map +1 -0
  35. package/dist/cjs/hooks/useNavigationUtils.js +12 -1
  36. package/dist/cjs/hooks/useNavigationUtils.js.map +1 -1
  37. package/dist/cjs/providers/ErrorContext.js +6 -3
  38. package/dist/cjs/providers/ErrorContext.js.map +1 -1
  39. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  40. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  41. package/dist/cjs/types/EntityPageConfig.js.map +1 -1
  42. package/dist/cjs/types/actions/actionCell.js.map +1 -1
  43. package/dist/cjs/types/actions/entityPageActions.js.map +1 -1
  44. package/dist/cjs/utils/actions/types.js.map +1 -1
  45. package/dist/docs/action_cell.md +11 -6
  46. package/dist/docs/app_config_structure.md +49 -4
  47. package/dist/docs/auto-patterns-guide.md +311 -43
  48. package/dist/docs/bulk_actions.md +7 -2
  49. package/dist/docs/collection_page_actions.md +14 -4
  50. package/dist/docs/entity_page.md +65 -1
  51. package/dist/docs/entity_page_actions.md +13 -11
  52. package/dist/docs/entity_page_view_actions.md +137 -0
  53. package/dist/docs/index.md +6 -2
  54. package/dist/docs/pages_configuration.md +1 -11
  55. package/dist/docs/sdk_utilities.md +11 -4
  56. package/dist/docs/wix_fqdn_custom_data_source.md +25 -5
  57. package/dist/esm/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js +4 -3
  58. package/dist/esm/components/AutoPatternsCollectionComponent/AutoPatternsCollectionComponent.js.map +1 -1
  59. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +2 -1
  60. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  61. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +9 -196
  62. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  63. package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js +115 -0
  64. package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -0
  65. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js +10 -6
  66. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  67. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +23 -16
  68. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  69. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +3 -2
  70. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  71. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js +9 -6
  72. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -1
  73. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js +8 -6
  74. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  75. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js +10 -8
  76. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  77. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js +12 -10
  78. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  79. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js +8 -6
  80. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  81. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js +33 -0
  82. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.js.map +1 -0
  83. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js +70 -0
  84. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.js.map +1 -0
  85. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js +48 -0
  86. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.js.map +1 -0
  87. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/index.js +3 -0
  88. package/dist/esm/components/AutoPatternsEntityPage/RenderLayout/index.js.map +1 -0
  89. package/dist/esm/components/AutoPatternsEntityPage/SkeletonEntity.js +7 -4
  90. package/dist/esm/components/AutoPatternsEntityPage/SkeletonEntity.js.map +1 -1
  91. package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js +31 -0
  92. package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.js.map +1 -0
  93. package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js +66 -0
  94. package/dist/esm/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.js.map +1 -0
  95. package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js +111 -0
  96. package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -0
  97. package/dist/esm/components/AutoPatternsEntityPage/index.js +2 -0
  98. package/dist/esm/components/AutoPatternsEntityPage/index.js.map +1 -1
  99. package/dist/esm/components/ModalRenderer.js +2 -1
  100. package/dist/esm/components/ModalRenderer.js.map +1 -1
  101. package/dist/esm/components/modals/actions/BulkDeleteModal.js +12 -7
  102. package/dist/esm/components/modals/actions/BulkDeleteModal.js.map +1 -1
  103. package/dist/esm/components/modals/actions/CreateModal.js +11 -6
  104. package/dist/esm/components/modals/actions/CreateModal.js.map +1 -1
  105. package/dist/esm/components/modals/actions/EditModal.js +11 -6
  106. package/dist/esm/components/modals/actions/EditModal.js.map +1 -1
  107. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +6 -4
  108. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  109. package/dist/esm/dataSourceAdapters/cms/filterUtils.js +2 -1
  110. package/dist/esm/dataSourceAdapters/cms/filterUtils.js.map +1 -1
  111. package/dist/esm/dataSourceAdapters/cms/sortUtils.js +2 -2
  112. package/dist/esm/dataSourceAdapters/cms/sortUtils.js.map +1 -1
  113. package/dist/esm/hooks/useActionCell.js +14 -9
  114. package/dist/esm/hooks/useActionCell.js.map +1 -1
  115. package/dist/esm/hooks/useBaseTableFeatures.js +2 -1
  116. package/dist/esm/hooks/useBaseTableFeatures.js.map +1 -1
  117. package/dist/esm/hooks/useBulkActionToolbar.js +4 -3
  118. package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -1
  119. package/dist/esm/hooks/useCollectionPageActions.js +5 -4
  120. package/dist/esm/hooks/useCollectionPageActions.js.map +1 -1
  121. package/dist/esm/hooks/useCollectionPageOnRowClickActions.js +1 -1
  122. package/dist/esm/hooks/useCollectionPageOnRowClickActions.js.map +1 -1
  123. package/dist/esm/hooks/useColumns.js +12 -7
  124. package/dist/esm/hooks/useColumns.js.map +1 -1
  125. package/dist/esm/hooks/useCommonCollectionFeatures.js +8 -7
  126. package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
  127. package/dist/esm/hooks/useEmptyStates.js +6 -5
  128. package/dist/esm/hooks/useEmptyStates.js.map +1 -1
  129. package/dist/esm/hooks/useEntityPageActions.js +83 -0
  130. package/dist/esm/hooks/useEntityPageActions.js.map +1 -0
  131. package/dist/esm/hooks/useEntityPageMoreActions.js +12 -2
  132. package/dist/esm/hooks/useEntityPageMoreActions.js.map +1 -1
  133. package/dist/esm/hooks/useFilters.js +7 -7
  134. package/dist/esm/hooks/useFilters.js.map +1 -1
  135. package/dist/esm/hooks/useNavigateEditEntityAction.js +46 -0
  136. package/dist/esm/hooks/useNavigateEditEntityAction.js.map +1 -0
  137. package/dist/esm/hooks/useNavigationUtils.js +15 -3
  138. package/dist/esm/hooks/useNavigationUtils.js.map +1 -1
  139. package/dist/esm/hooks/usePagePath.js +4 -3
  140. package/dist/esm/hooks/usePagePath.js.map +1 -1
  141. package/dist/esm/hooks/useTableFeatures.js +2 -1
  142. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  143. package/dist/esm/providers/ErrorContext.js +4 -1
  144. package/dist/esm/providers/ErrorContext.js.map +1 -1
  145. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  146. package/dist/esm/providers/SchemaContext.js +3 -2
  147. package/dist/esm/providers/SchemaContext.js.map +1 -1
  148. package/dist/esm/providers/SchemaRegistryContext.js +1 -1
  149. package/dist/esm/providers/SchemaRegistryContext.js.map +1 -1
  150. package/dist/esm/types/EntityPageConfig.js.map +1 -1
  151. package/dist/esm/types/actions/actionCell.js.map +1 -1
  152. package/dist/esm/types/actions/entityPageActions.js.map +1 -1
  153. package/dist/esm/utils/actions/customAction.js +2 -1
  154. package/dist/esm/utils/actions/customAction.js.map +1 -1
  155. package/dist/esm/utils/actions/deleteAction.js +10 -5
  156. package/dist/esm/utils/actions/deleteAction.js.map +1 -1
  157. package/dist/esm/utils/actions/types.js.map +1 -1
  158. package/dist/esm/utils/filterCreators.js +11 -11
  159. package/dist/esm/utils/filterCreators.js.map +1 -1
  160. package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
  161. package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts +6 -0
  162. package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts.map +1 -0
  163. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.d.ts +11 -0
  164. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutCard.d.ts.map +1 -0
  165. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.d.ts +13 -0
  166. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderLayoutContent.d.ts.map +1 -0
  167. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.d.ts +8 -0
  168. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/RenderViewField.d.ts.map +1 -0
  169. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/index.d.ts +3 -0
  170. package/dist/types/components/AutoPatternsEntityPage/RenderLayout/index.d.ts.map +1 -0
  171. package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.d.ts +8 -0
  172. package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutCard.d.ts.map +1 -0
  173. package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.d.ts +8 -0
  174. package/dist/types/components/AutoPatternsEntityPage/ViewEntityPage/RenderViewLayoutContent.d.ts.map +1 -0
  175. package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts +8 -0
  176. package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts.map +1 -0
  177. package/dist/types/components/AutoPatternsEntityPage/index.d.ts +2 -0
  178. package/dist/types/components/AutoPatternsEntityPage/index.d.ts.map +1 -1
  179. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
  180. package/dist/types/hooks/useActionCell.d.ts.map +1 -1
  181. package/dist/types/hooks/useEntityPageActions.d.ts +9 -0
  182. package/dist/types/hooks/useEntityPageActions.d.ts.map +1 -0
  183. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -1
  184. package/dist/types/hooks/useEntityPageMoreActions.d.ts +2 -2
  185. package/dist/types/hooks/useEntityPageMoreActions.d.ts.map +1 -1
  186. package/dist/types/hooks/useNavigateEditEntityAction.d.ts +6 -0
  187. package/dist/types/hooks/useNavigateEditEntityAction.d.ts.map +1 -0
  188. package/dist/types/hooks/useNavigationUtils.d.ts +1 -0
  189. package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -1
  190. package/dist/types/providers/ErrorContext.d.ts +7 -0
  191. package/dist/types/providers/ErrorContext.d.ts.map +1 -1
  192. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +2 -2
  193. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  194. package/dist/types/types/EntityPageConfig.d.ts +20 -4
  195. package/dist/types/types/EntityPageConfig.d.ts.map +1 -1
  196. package/dist/types/types/actions/actionCell.d.ts +7 -1
  197. package/dist/types/types/actions/actionCell.d.ts.map +1 -1
  198. package/dist/types/types/actions/entityPageActions.d.ts +24 -5
  199. package/dist/types/types/actions/entityPageActions.d.ts.map +1 -1
  200. package/dist/types/utils/actions/customAction.d.ts +1 -1
  201. package/dist/types/utils/actions/customAction.d.ts.map +1 -1
  202. package/dist/types/utils/actions/resolveAction.d.ts +1 -0
  203. package/dist/types/utils/actions/resolveAction.d.ts.map +1 -1
  204. package/dist/types/utils/actions/types.d.ts +2 -1
  205. package/dist/types/utils/actions/types.d.ts.map +1 -1
  206. package/package.json +16 -15
  207. package/dist/docs/config_schema.md +0 -184
@@ -1 +1 @@
1
- {"version":3,"names":["React","CollectionToolbarFilters","useSchema","useSchemaRegistry","StaticCollectionFilter","DynamicCollectionFilter","createDateTimeFilter","createBooleanFilter","createNumberFilter","createEnumFilter","createReferenceFilter","useFilters","configuration","schema","schemaRegistry","filters","useMemo","currFilters","items","forEach","filter","id","fieldId","fieldDefinition","fields","label","displayName","openByDefault","tagLabel","sectionTitle","baseParams","commonFilterProps","initiallyOpen","accordionItemProps","toolbarItemProps","toolbarTagProps","type","push","config","dateConfig","booleanConfig","numberConfig","referencedCollectionId","referenceMetadata","referencedSchema","getSchema","dynamicOptionsConfig","additionalParams","enumConfig","filterFieldMapping","reduce","acc","collectionToolbarFiltersProps","inline","maxInlineFilters","panelTitle","filtersData","key","components","collectionData","createElement","_extends","component","props","collectionId","componentName","filtersObject","filterComponent","length","undefined"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport {\n CollectionToolbarFilters,\n CollectionToolbarFiltersProps,\n Filter,\n} from '@wix/patterns';\nimport { Filter as SchemaFilterType, FiltersConfig } from '../types';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useSchemaRegistry } from '../providers';\nimport {\n StaticCollectionFilter,\n DynamicCollectionFilter,\n} from '../components/filters';\nimport {\n createDateTimeFilter,\n createBooleanFilter,\n createNumberFilter,\n createEnumFilter,\n createReferenceFilter,\n} from '../utils/filterCreators';\n\nexport interface FilterOptions {\n key: string;\n fieldId: string;\n filter: Filter<any>;\n component: React.ElementType;\n collectionData?: { id: string; name: string }[];\n collectionId?: string;\n componentName?: string;\n props: Record<string, any>;\n}\n\nexport interface ReturnValue {\n filters: { [key: string]: Filter<any> };\n components: React.JSX.Element[];\n collectionToolbarFiltersProps: Pick<\n CollectionToolbarFiltersProps,\n 'inline' | 'panelTitle' | 'useNewFilters'\n >;\n}\n\nexport const useFilters = (configuration?: FiltersConfig) => {\n const schema = useSchema();\n const schemaRegistry = useSchemaRegistry();\n const filters = React.useMemo(() => {\n const currFilters: FilterOptions[] = [];\n configuration?.items.forEach((filter) => {\n const { id, fieldId } = filter;\n const fieldDefinition = schema.fields[fieldId];\n if (!fieldDefinition) {\n return;\n }\n\n const label = filter.displayName || fieldDefinition.displayName;\n const { openByDefault, tagLabel, sectionTitle } = filter;\n\n const baseParams = {\n id,\n fieldId,\n commonFilterProps: {\n sectionTitle,\n initiallyOpen: openByDefault,\n accordionItemProps: { label },\n toolbarItemProps: { label },\n toolbarTagProps: { label: tagLabel },\n },\n };\n\n switch (fieldDefinition.type) {\n case 'DATE':\n case 'DATETIME':\n currFilters.push(\n createDateTimeFilter({\n ...baseParams,\n config: filter.dateConfig,\n }),\n );\n break;\n\n case 'BOOLEAN':\n currFilters.push(\n createBooleanFilter({\n ...baseParams,\n config: filter.booleanConfig,\n }),\n );\n break;\n\n case 'NUMBER':\n currFilters.push(\n createNumberFilter({\n ...baseParams,\n config: filter.numberConfig,\n }),\n );\n break;\n\n case 'REFERENCE': {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const referencedSchema = schemaRegistry.getSchema(\n referencedCollectionId,\n );\n\n if (referencedSchema) {\n currFilters.push(\n createReferenceFilter({\n ...baseParams,\n config: filter.dynamicOptionsConfig,\n additionalParams: {\n referencedSchema,\n },\n }),\n );\n }\n break;\n }\n\n default:\n if (filter?.enumConfig) {\n currFilters.push(\n createEnumFilter({\n ...baseParams,\n config: filter.enumConfig,\n }),\n );\n }\n break;\n }\n });\n return currFilters;\n }, [configuration?.items, schema.fields, schemaRegistry]);\n\n const filterFieldMapping = React.useMemo(() => {\n return configuration?.items.reduce((acc, filter) => {\n acc[filter.id] = filter;\n return acc;\n }, {} as Record<string, SchemaFilterType>);\n }, [configuration?.items]);\n\n const collectionToolbarFiltersProps = React.useMemo<\n Pick<CollectionToolbarFiltersProps, 'inline' | 'panelTitle'>\n >(\n () => ({\n inline: configuration?.maxInlineFilters || 0,\n panelTitle: configuration?.panelTitle,\n }),\n [configuration],\n );\n\n const filtersData = filters.reduce<ReturnValue>(\n (acc, filter) => {\n acc.filters[filter.key] = filter.filter;\n acc.components.push(\n filter.collectionData ? (\n <StaticCollectionFilter\n filter={filter.filter}\n key={filter.key}\n component={filter.component}\n collectionData={filter.collectionData}\n {...filter.props}\n />\n ) : filter.collectionId ? (\n <DynamicCollectionFilter\n filter={filter.filter}\n key={filter.key}\n component={filter.component}\n collectionId={filter.collectionId}\n componentName={filter.props.componentName}\n {...filter.props}\n />\n ) : (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...filter.props}\n />\n ),\n );\n\n return acc;\n },\n { filters: {}, components: [], collectionToolbarFiltersProps },\n );\n\n return {\n filterFieldMapping,\n filtersObject: filtersData.filters,\n filterComponent:\n filtersData.components.length > 0 ? (\n <CollectionToolbarFilters {...collectionToolbarFiltersProps}>\n {filtersData.components}\n </CollectionToolbarFilters>\n ) : undefined,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","CollectionToolbarFilters","useSchema","useSchemaRegistry","StaticCollectionFilter","DynamicCollectionFilter","createDateTimeFilter","createBooleanFilter","createNumberFilter","createEnumFilter","createReferenceFilter","useFilters","configuration","schema","schemaRegistry","filters","useMemo","currFilters","items","forEach","filter","id","fieldId","fieldDefinition","fields","label","displayName","openByDefault","tagLabel","sectionTitle","baseParams","commonFilterProps","initiallyOpen","accordionItemProps","toolbarItemProps","toolbarTagProps","type","push","config","dateConfig","booleanConfig","numberConfig","referencedCollectionId","referenceMetadata","referencedSchema","getSchema","dynamicOptionsConfig","additionalParams","enumConfig","filterFieldMapping","reduce","acc","collectionToolbarFiltersProps","inline","maxInlineFilters","panelTitle","filtersData","key","components","collectionData","createElement","_extends","component","props","collectionId","componentName","filtersObject","filterComponent","length","undefined"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport {\n CollectionToolbarFilters,\n CollectionToolbarFiltersProps,\n Filter,\n} from '@wix/patterns';\nimport { Filter as SchemaFilterType, FiltersConfig } from '../types';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useSchemaRegistry } from '../providers';\nimport {\n StaticCollectionFilter,\n DynamicCollectionFilter,\n} from '../components/filters';\nimport {\n createDateTimeFilter,\n createBooleanFilter,\n createNumberFilter,\n createEnumFilter,\n createReferenceFilter,\n} from '../utils/filterCreators';\n\nexport interface FilterOptions {\n key: string;\n fieldId: string;\n filter: Filter<any>;\n component: React.ElementType;\n collectionData?: { id: string; name: string }[];\n collectionId?: string;\n componentName?: string;\n props: Record<string, any>;\n}\n\nexport interface ReturnValue {\n filters: { [key: string]: Filter<any> };\n components: React.JSX.Element[];\n collectionToolbarFiltersProps: Pick<\n CollectionToolbarFiltersProps,\n 'inline' | 'panelTitle' | 'useNewFilters'\n >;\n}\n\nexport const useFilters = (configuration?: FiltersConfig) => {\n const schema = useSchema();\n const schemaRegistry = useSchemaRegistry();\n const filters = React.useMemo(() => {\n const currFilters: FilterOptions[] = [];\n configuration?.items.forEach((filter) => {\n const { id, fieldId } = filter;\n const fieldDefinition = schema.fields[fieldId];\n if (!fieldDefinition) {\n return;\n }\n\n const label = filter.displayName || fieldDefinition.displayName;\n const { openByDefault, tagLabel, sectionTitle } = filter;\n\n const baseParams = {\n id,\n fieldId,\n commonFilterProps: {\n sectionTitle,\n initiallyOpen: openByDefault,\n accordionItemProps: { label },\n toolbarItemProps: { label },\n toolbarTagProps: { label: tagLabel },\n },\n };\n\n switch (fieldDefinition.type) {\n case 'DATE':\n case 'DATETIME':\n currFilters.push(\n createDateTimeFilter({\n ...baseParams,\n config: filter.dateConfig,\n }),\n );\n break;\n\n case 'BOOLEAN':\n currFilters.push(\n createBooleanFilter({\n ...baseParams,\n config: filter.booleanConfig,\n }),\n );\n break;\n\n case 'NUMBER':\n currFilters.push(\n createNumberFilter({\n ...baseParams,\n config: filter.numberConfig,\n }),\n );\n break;\n\n case 'REFERENCE': {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const referencedSchema = schemaRegistry.getSchema(\n referencedCollectionId,\n );\n\n if (referencedSchema) {\n currFilters.push(\n createReferenceFilter({\n ...baseParams,\n config: filter.dynamicOptionsConfig,\n additionalParams: {\n referencedSchema,\n },\n }),\n );\n }\n break;\n }\n\n default:\n if (filter?.enumConfig) {\n currFilters.push(\n createEnumFilter({\n ...baseParams,\n config: filter.enumConfig,\n }),\n );\n }\n break;\n }\n });\n return currFilters;\n }, [configuration?.items, schema.fields, schemaRegistry]);\n\n const filterFieldMapping = React.useMemo(() => {\n return configuration?.items.reduce((acc, filter) => {\n acc[filter.id] = filter;\n return acc;\n }, {} as Record<string, SchemaFilterType>);\n }, [configuration?.items]);\n\n const collectionToolbarFiltersProps = React.useMemo<\n Pick<CollectionToolbarFiltersProps, 'inline' | 'panelTitle'>\n >(\n () => ({\n inline: configuration?.maxInlineFilters || 0,\n panelTitle: configuration?.panelTitle,\n }),\n [configuration],\n );\n\n const filtersData = filters.reduce<ReturnValue>(\n (acc, filter) => {\n acc.filters[filter.key] = filter.filter;\n acc.components.push(\n filter.collectionData ? (\n <StaticCollectionFilter\n filter={filter.filter}\n key={filter.key}\n component={filter.component}\n collectionData={filter.collectionData}\n {...filter.props}\n />\n ) : filter.collectionId ? (\n <DynamicCollectionFilter\n filter={filter.filter}\n key={filter.key}\n component={filter.component}\n collectionId={filter.collectionId}\n componentName={filter.props.componentName}\n {...filter.props}\n />\n ) : (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...filter.props}\n />\n ),\n );\n\n return acc;\n },\n { filters: {}, components: [], collectionToolbarFiltersProps },\n );\n\n return {\n filterFieldMapping,\n filtersObject: filtersData.filters,\n filterComponent:\n filtersData.components.length > 0 ? (\n <CollectionToolbarFilters {...collectionToolbarFiltersProps}>\n {filtersData.components}\n </CollectionToolbarFilters>\n ) : undefined,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ import { useMemo } from 'react';
2
+ import { useAppConfigContext } from '../providers';
3
+ export const useNavigateEditEntityAction = _ref => {
4
+ var _configuration$action3;
5
+ let {
6
+ displayName,
7
+ configuration
8
+ } = _ref;
9
+ const appConfig = useAppConfigContext();
10
+ const editPageId = useMemo(() => {
11
+ // Find edit page by matching collectionId and looking for edit mode
12
+ const editPage = appConfig.pages.find(page => {
13
+ if (page.type !== 'entityPage') {
14
+ return false;
15
+ }
16
+ const entityPage = page.entityPage;
17
+ // Check if same collection and is edit mode (either no mode specified or mode: 'edit')
18
+ return entityPage.collectionId === configuration.collectionId && (!entityPage.mode || entityPage.mode === 'edit');
19
+ });
20
+ return editPage == null ? void 0 : editPage.id;
21
+ }, [appConfig.pages, configuration.collectionId]);
22
+ return useMemo(() => {
23
+ var _configuration$action2;
24
+ // Don't show edit action if no edit page is found
25
+ if (!editPageId) {
26
+ var _configuration$action;
27
+ return ((_configuration$action = configuration.actions) == null ? void 0 : _configuration$action.moreActions) || [];
28
+ }
29
+ const navigateToEditAction = {
30
+ id: 'navigate-to-edit',
31
+ label: `Edit ${displayName}`,
32
+ type: 'update',
33
+ update: {
34
+ mode: 'page',
35
+ page: {
36
+ id: editPageId
37
+ }
38
+ }
39
+ };
40
+ if (!((_configuration$action2 = configuration.actions) != null && _configuration$action2.moreActions)) {
41
+ return [navigateToEditAction];
42
+ }
43
+ return [navigateToEditAction, ...configuration.actions.moreActions];
44
+ }, [(_configuration$action3 = configuration.actions) == null ? void 0 : _configuration$action3.moreActions, displayName, editPageId]);
45
+ };
46
+ //# sourceMappingURL=useNavigateEditEntityAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useAppConfigContext","useNavigateEditEntityAction","_ref","_configuration$action3","displayName","configuration","appConfig","editPageId","editPage","pages","find","page","type","entityPage","collectionId","mode","id","_configuration$action2","_configuration$action","actions","moreActions","navigateToEditAction","label","update"],"sources":["../../../src/hooks/useNavigateEditEntityAction.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { UpdateActionConfig, ViewEntityPageConfig } from '../types';\nimport { useAppConfigContext } from '../providers';\n\nexport const useNavigateEditEntityAction = ({\n displayName,\n configuration,\n}: {\n displayName: string;\n configuration: ViewEntityPageConfig;\n}) => {\n const appConfig = useAppConfigContext();\n\n const editPageId = useMemo(() => {\n // Find edit page by matching collectionId and looking for edit mode\n const editPage = appConfig.pages.find((page) => {\n if (page.type !== 'entityPage') {\n return false;\n }\n\n const entityPage = page.entityPage;\n // Check if same collection and is edit mode (either no mode specified or mode: 'edit')\n return (\n entityPage.collectionId === configuration.collectionId &&\n (!entityPage.mode || entityPage.mode === 'edit')\n );\n });\n\n return editPage?.id;\n }, [appConfig.pages, configuration.collectionId]);\n\n return useMemo(() => {\n // Don't show edit action if no edit page is found\n if (!editPageId) {\n return configuration.actions?.moreActions || [];\n }\n\n const navigateToEditAction: UpdateActionConfig = {\n id: 'navigate-to-edit',\n label: `Edit ${displayName}`,\n type: 'update',\n update: {\n mode: 'page',\n page: {\n id: editPageId,\n },\n },\n };\n\n if (!configuration.actions?.moreActions) {\n return [navigateToEditAction];\n }\n return [navigateToEditAction, ...configuration.actions.moreActions];\n }, [configuration.actions?.moreActions, displayName, editPageId]);\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAE/B,SAASC,mBAAmB,QAAQ,cAAc;AAElD,OAAO,MAAMC,2BAA2B,GAAGC,IAAA,IAMrC;EAAA,IAAAC,sBAAA;EAAA,IANsC;IAC1CC,WAAW;IACXC;EAIF,CAAC,GAAAH,IAAA;EACC,MAAMI,SAAS,GAAGN,mBAAmB,CAAC,CAAC;EAEvC,MAAMO,UAAU,GAAGR,OAAO,CAAC,MAAM;IAC/B;IACA,MAAMS,QAAQ,GAAGF,SAAS,CAACG,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAK;MAC9C,IAAIA,IAAI,CAACC,IAAI,KAAK,YAAY,EAAE;QAC9B,OAAO,KAAK;MACd;MAEA,MAAMC,UAAU,GAAGF,IAAI,CAACE,UAAU;MAClC;MACA,OACEA,UAAU,CAACC,YAAY,KAAKT,aAAa,CAACS,YAAY,KACrD,CAACD,UAAU,CAACE,IAAI,IAAIF,UAAU,CAACE,IAAI,KAAK,MAAM,CAAC;IAEpD,CAAC,CAAC;IAEF,OAAOP,QAAQ,oBAARA,QAAQ,CAAEQ,EAAE;EACrB,CAAC,EAAE,CAACV,SAAS,CAACG,KAAK,EAAEJ,aAAa,CAACS,YAAY,CAAC,CAAC;EAEjD,OAAOf,OAAO,CAAC,MAAM;IAAA,IAAAkB,sBAAA;IACnB;IACA,IAAI,CAACV,UAAU,EAAE;MAAA,IAAAW,qBAAA;MACf,OAAO,EAAAA,qBAAA,GAAAb,aAAa,CAACc,OAAO,qBAArBD,qBAAA,CAAuBE,WAAW,KAAI,EAAE;IACjD;IAEA,MAAMC,oBAAwC,GAAG;MAC/CL,EAAE,EAAE,kBAAkB;MACtBM,KAAK,EAAE,QAAQlB,WAAW,EAAE;MAC5BQ,IAAI,EAAE,QAAQ;MACdW,MAAM,EAAE;QACNR,IAAI,EAAE,MAAM;QACZJ,IAAI,EAAE;UACJK,EAAE,EAAET;QACN;MACF;IACF,CAAC;IAED,IAAI,GAAAU,sBAAA,GAACZ,aAAa,CAACc,OAAO,aAArBF,sBAAA,CAAuBG,WAAW,GAAE;MACvC,OAAO,CAACC,oBAAoB,CAAC;IAC/B;IACA,OAAO,CAACA,oBAAoB,EAAE,GAAGhB,aAAa,CAACc,OAAO,CAACC,WAAW,CAAC;EACrE,CAAC,EAAE,EAAAjB,sBAAA,GAACE,aAAa,CAACc,OAAO,qBAArBhB,sBAAA,CAAuBiB,WAAW,EAAEhB,WAAW,EAAEG,UAAU,CAAC,CAAC;AACnE,CAAC","ignoreList":[]}
@@ -5,7 +5,8 @@ import { generatePath } from 'react-router-dom';
5
5
  import { usePagePath } from './usePagePath';
6
6
  export const useNavigation = () => {
7
7
  const {
8
- navigateToEntityPage: navigateToEntityPagePatterns
8
+ navigateToEntityPage: navigateToEntityPagePatterns,
9
+ navigateToCollectionPage: navigateToCollectionPagePatterns
9
10
  } = usePatternsNavigate();
10
11
  const appConfig = useAppConfigContext();
11
12
  const {
@@ -15,6 +16,7 @@ export const useNavigation = () => {
15
16
  getPagePath
16
17
  } = usePagePath(appConfig);
17
18
  const navigateToEntityPage = useCallback(_ref => {
19
+ var _route$params;
18
20
  let {
19
21
  item,
20
22
  entityPageId
@@ -28,9 +30,9 @@ export const useNavigation = () => {
28
30
  collectionId
29
31
  } = entityPage.entityPage;
30
32
  const schema = getSchema(collectionId);
31
- if (route.path && route.params?.id && schema) {
33
+ if (route.path && (_route$params = route.params) != null && _route$params.id && schema) {
32
34
  const path = generatePath(route.path, {
33
- [route.params.id]: item?.[schema.idField] ?? ''
35
+ [route.params.id]: (item == null ? void 0 : item[schema.idField]) ?? ''
34
36
  });
35
37
  navigateToEntityPagePatterns({
36
38
  path,
@@ -38,11 +40,21 @@ export const useNavigation = () => {
38
40
  });
39
41
  }
40
42
  }, [appConfig, navigateToEntityPagePatterns, getSchema]);
43
+ const navigateToCollectionPage = useCallback(parentPageId => {
44
+ const parentPagePath = getPagePath(parentPageId);
45
+ if (!parentPagePath) {
46
+ return;
47
+ }
48
+ navigateToCollectionPagePatterns({
49
+ path: parentPagePath
50
+ });
51
+ }, [navigateToCollectionPagePatterns, getPagePath]);
41
52
  const getParentPagePath = useCallback(parentPageId => {
42
53
  return getPagePath(parentPageId);
43
54
  }, [getPagePath]);
44
55
  return {
45
56
  navigateToEntityPage,
57
+ navigateToCollectionPage,
46
58
  getParentPagePath,
47
59
  getPagePath
48
60
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","usePatternsNavigate","useAppConfigContext","useSchemaRegistry","generatePath","usePagePath","useNavigation","navigateToEntityPage","navigateToEntityPagePatterns","appConfig","getSchema","getPagePath","_ref","item","entityPageId","entityPage","pages","find","page","id","route","collectionId","schema","path","params","idField","entity","getParentPagePath","parentPageId"],"sources":["../../../src/hooks/useNavigationUtils.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { usePatternsNavigate } from '@wix/patterns/router';\nimport { useAppConfigContext, useSchemaRegistry } from '../providers';\nimport { generatePath } from 'react-router-dom';\nimport { EntityPageConfig } from '../types';\nimport { usePagePath } from './usePagePath';\n\nexport type NavigateToEntityPageFunc = (args: {\n item: any;\n entityPageId?: string;\n}) => void;\n\nexport const useNavigation = () => {\n const { navigateToEntityPage: navigateToEntityPagePatterns } =\n usePatternsNavigate();\n const appConfig = useAppConfigContext();\n const { getSchema } = useSchemaRegistry();\n const { getPagePath } = usePagePath(appConfig);\n\n const navigateToEntityPage = useCallback(\n ({ item, entityPageId }) => {\n const entityPage = entityPageId\n ? appConfig.pages.find((page) => page.id === entityPageId)\n : null;\n\n if (!entityPage) {\n return;\n }\n\n const { route, collectionId } = entityPage.entityPage as EntityPageConfig;\n const schema = getSchema(collectionId);\n if (route.path && route.params?.id && schema) {\n const path = generatePath(route.path, {\n [route.params.id]: item?.[schema.idField] ?? '',\n });\n navigateToEntityPagePatterns({\n path,\n entity: item,\n });\n }\n },\n [appConfig, navigateToEntityPagePatterns, getSchema],\n );\n\n const getParentPagePath = useCallback(\n (parentPageId?: string): string | undefined => {\n return getPagePath(parentPageId);\n },\n [getPagePath],\n );\n\n return {\n navigateToEntityPage,\n getParentPagePath,\n getPagePath,\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,mBAAmB,EAAEC,iBAAiB,QAAQ,cAAc;AACrE,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,WAAW,QAAQ,eAAe;AAO3C,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM;IAAEC,oBAAoB,EAAEC;EAA6B,CAAC,GAC1DP,mBAAmB,CAAC,CAAC;EACvB,MAAMQ,SAAS,GAAGP,mBAAmB,CAAC,CAAC;EACvC,MAAM;IAAEQ;EAAU,CAAC,GAAGP,iBAAiB,CAAC,CAAC;EACzC,MAAM;IAAEQ;EAAY,CAAC,GAAGN,WAAW,CAACI,SAAS,CAAC;EAE9C,MAAMF,oBAAoB,GAAGP,WAAW,CACtCY,IAAA,IAA4B;IAAA,IAA3B;MAAEC,IAAI;MAAEC;IAAa,CAAC,GAAAF,IAAA;IACrB,MAAMG,UAAU,GAAGD,YAAY,GAC3BL,SAAS,CAACO,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKL,YAAY,CAAC,GACxD,IAAI;IAER,IAAI,CAACC,UAAU,EAAE;MACf;IACF;IAEA,MAAM;MAAEK,KAAK;MAAEC;IAAa,CAAC,GAAGN,UAAU,CAACA,UAA8B;IACzE,MAAMO,MAAM,GAAGZ,SAAS,CAACW,YAAY,CAAC;IACtC,IAAID,KAAK,CAACG,IAAI,IAAIH,KAAK,CAACI,MAAM,EAAEL,EAAE,IAAIG,MAAM,EAAE;MAC5C,MAAMC,IAAI,GAAGnB,YAAY,CAACgB,KAAK,CAACG,IAAI,EAAE;QACpC,CAACH,KAAK,CAACI,MAAM,CAACL,EAAE,GAAGN,IAAI,GAAGS,MAAM,CAACG,OAAO,CAAC,IAAI;MAC/C,CAAC,CAAC;MACFjB,4BAA4B,CAAC;QAC3Be,IAAI;QACJG,MAAM,EAAEb;MACV,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACJ,SAAS,EAAED,4BAA4B,EAAEE,SAAS,CACrD,CAAC;EAED,MAAMiB,iBAAiB,GAAG3B,WAAW,CAClC4B,YAAqB,IAAyB;IAC7C,OAAOjB,WAAW,CAACiB,YAAY,CAAC;EAClC,CAAC,EACD,CAACjB,WAAW,CACd,CAAC;EAED,OAAO;IACLJ,oBAAoB;IACpBoB,iBAAiB;IACjBhB;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","usePatternsNavigate","useAppConfigContext","useSchemaRegistry","generatePath","usePagePath","useNavigation","navigateToEntityPage","navigateToEntityPagePatterns","navigateToCollectionPage","navigateToCollectionPagePatterns","appConfig","getSchema","getPagePath","_ref","_route$params","item","entityPageId","entityPage","pages","find","page","id","route","collectionId","schema","path","params","idField","entity","parentPageId","parentPagePath","getParentPagePath"],"sources":["../../../src/hooks/useNavigationUtils.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { usePatternsNavigate } from '@wix/patterns/router';\nimport { useAppConfigContext, useSchemaRegistry } from '../providers';\nimport { generatePath } from 'react-router-dom';\nimport { EntityPageConfig } from '../types';\nimport { usePagePath } from './usePagePath';\n\nexport type NavigateToEntityPageFunc = (args: {\n item: any;\n entityPageId?: string;\n}) => void;\n\nexport const useNavigation = () => {\n const {\n navigateToEntityPage: navigateToEntityPagePatterns,\n navigateToCollectionPage: navigateToCollectionPagePatterns,\n } = usePatternsNavigate();\n const appConfig = useAppConfigContext();\n const { getSchema } = useSchemaRegistry();\n const { getPagePath } = usePagePath(appConfig);\n\n const navigateToEntityPage = useCallback(\n ({ item, entityPageId }) => {\n const entityPage = entityPageId\n ? appConfig.pages.find((page) => page.id === entityPageId)\n : null;\n\n if (!entityPage) {\n return;\n }\n\n const { route, collectionId } = entityPage.entityPage as EntityPageConfig;\n const schema = getSchema(collectionId);\n if (route.path && route.params?.id && schema) {\n const path = generatePath(route.path, {\n [route.params.id]: item?.[schema.idField] ?? '',\n });\n navigateToEntityPagePatterns({\n path,\n entity: item,\n });\n }\n },\n [appConfig, navigateToEntityPagePatterns, getSchema],\n );\n\n const navigateToCollectionPage = useCallback(\n (parentPageId: string) => {\n const parentPagePath = getPagePath(parentPageId);\n if (!parentPagePath) {\n return;\n }\n navigateToCollectionPagePatterns({\n path: parentPagePath,\n });\n },\n [navigateToCollectionPagePatterns, getPagePath],\n );\n\n const getParentPagePath = useCallback(\n (parentPageId?: string): string | undefined => {\n return getPagePath(parentPageId);\n },\n [getPagePath],\n );\n\n return {\n navigateToEntityPage,\n navigateToCollectionPage,\n getParentPagePath,\n getPagePath,\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,mBAAmB,EAAEC,iBAAiB,QAAQ,cAAc;AACrE,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,WAAW,QAAQ,eAAe;AAO3C,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM;IACJC,oBAAoB,EAAEC,4BAA4B;IAClDC,wBAAwB,EAAEC;EAC5B,CAAC,GAAGT,mBAAmB,CAAC,CAAC;EACzB,MAAMU,SAAS,GAAGT,mBAAmB,CAAC,CAAC;EACvC,MAAM;IAAEU;EAAU,CAAC,GAAGT,iBAAiB,CAAC,CAAC;EACzC,MAAM;IAAEU;EAAY,CAAC,GAAGR,WAAW,CAACM,SAAS,CAAC;EAE9C,MAAMJ,oBAAoB,GAAGP,WAAW,CACtCc,IAAA,IAA4B;IAAA,IAAAC,aAAA;IAAA,IAA3B;MAAEC,IAAI;MAAEC;IAAa,CAAC,GAAAH,IAAA;IACrB,MAAMI,UAAU,GAAGD,YAAY,GAC3BN,SAAS,CAACQ,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKL,YAAY,CAAC,GACxD,IAAI;IAER,IAAI,CAACC,UAAU,EAAE;MACf;IACF;IAEA,MAAM;MAAEK,KAAK;MAAEC;IAAa,CAAC,GAAGN,UAAU,CAACA,UAA8B;IACzE,MAAMO,MAAM,GAAGb,SAAS,CAACY,YAAY,CAAC;IACtC,IAAID,KAAK,CAACG,IAAI,KAAAX,aAAA,GAAIQ,KAAK,CAACI,MAAM,aAAZZ,aAAA,CAAcO,EAAE,IAAIG,MAAM,EAAE;MAC5C,MAAMC,IAAI,GAAGtB,YAAY,CAACmB,KAAK,CAACG,IAAI,EAAE;QACpC,CAACH,KAAK,CAACI,MAAM,CAACL,EAAE,GAAG,CAAAN,IAAI,oBAAJA,IAAI,CAAGS,MAAM,CAACG,OAAO,CAAC,KAAI;MAC/C,CAAC,CAAC;MACFpB,4BAA4B,CAAC;QAC3BkB,IAAI;QACJG,MAAM,EAAEb;MACV,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACL,SAAS,EAAEH,4BAA4B,EAAEI,SAAS,CACrD,CAAC;EAED,MAAMH,wBAAwB,GAAGT,WAAW,CACzC8B,YAAoB,IAAK;IACxB,MAAMC,cAAc,GAAGlB,WAAW,CAACiB,YAAY,CAAC;IAChD,IAAI,CAACC,cAAc,EAAE;MACnB;IACF;IACArB,gCAAgC,CAAC;MAC/BgB,IAAI,EAAEK;IACR,CAAC,CAAC;EACJ,CAAC,EACD,CAACrB,gCAAgC,EAAEG,WAAW,CAChD,CAAC;EAED,MAAMmB,iBAAiB,GAAGhC,WAAW,CAClC8B,YAAqB,IAAyB;IAC7C,OAAOjB,WAAW,CAACiB,YAAY,CAAC;EAClC,CAAC,EACD,CAACjB,WAAW,CACd,CAAC;EAED,OAAO;IACLN,oBAAoB;IACpBE,wBAAwB;IACxBuB,iBAAiB;IACjBnB;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,17 +1,18 @@
1
1
  import { useCallback } from 'react';
2
2
  export const usePagePath = configuration => {
3
3
  const getPagePath = useCallback(pageId => {
4
+ var _currentPage$collecti, _currentPage$entityPa;
4
5
  if (!pageId) {
5
6
  return '/';
6
7
  }
7
8
  const currentPage = configuration.pages.find(page => page.id === pageId);
8
9
  let path;
9
- switch (currentPage?.type) {
10
+ switch (currentPage == null ? void 0 : currentPage.type) {
10
11
  case 'collectionPage':
11
- path = currentPage.collectionPage?.route.path;
12
+ path = (_currentPage$collecti = currentPage.collectionPage) == null ? void 0 : _currentPage$collecti.route.path;
12
13
  break;
13
14
  case 'entityPage':
14
- path = `${currentPage.entityPage?.route.path}?`;
15
+ path = `${(_currentPage$entityPa = currentPage.entityPage) == null ? void 0 : _currentPage$entityPa.route.path}?`;
15
16
  break;
16
17
  default:
17
18
  path = undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","usePagePath","configuration","getPagePath","pageId","currentPage","pages","find","page","id","path","type","collectionPage","route","entityPage","undefined","process","env","NODE_ENV"],"sources":["../../../src/hooks/usePagePath.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { AppConfig } from '../types';\n\nexport const usePagePath = (configuration: AppConfig) => {\n const getPagePath = useCallback(\n (pageId?: string) => {\n if (!pageId) {\n return '/';\n }\n\n const currentPage = configuration.pages.find(\n (page) => page.id === pageId,\n );\n\n let path;\n switch (currentPage?.type) {\n case 'collectionPage':\n path = currentPage.collectionPage?.route.path;\n break;\n case 'entityPage':\n path = `${currentPage.entityPage?.route.path}?`;\n break;\n default:\n path = undefined;\n }\n\n if (process.env.NODE_ENV === 'test') {\n // in test mode we sometime override pages so we need to return the path or '/'\n return path || '/';\n }\n\n return path;\n },\n [configuration],\n );\n\n return { getPagePath };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AAGnC,OAAO,MAAMC,WAAW,GAAIC,aAAwB,IAAK;EACvD,MAAMC,WAAW,GAAGH,WAAW,CAC5BI,MAAe,IAAK;IACnB,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,GAAG;IACZ;IAEA,MAAMC,WAAW,GAAGH,aAAa,CAACI,KAAK,CAACC,IAAI,CACzCC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKL,MACxB,CAAC;IAED,IAAIM,IAAI;IACR,QAAQL,WAAW,EAAEM,IAAI;MACvB,KAAK,gBAAgB;QACnBD,IAAI,GAAGL,WAAW,CAACO,cAAc,EAAEC,KAAK,CAACH,IAAI;QAC7C;MACF,KAAK,YAAY;QACfA,IAAI,GAAG,GAAGL,WAAW,CAACS,UAAU,EAAED,KAAK,CAACH,IAAI,GAAG;QAC/C;MACF;QACEA,IAAI,GAAGK,SAAS;IACpB;IAEA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MACnC;MACA,OAAOR,IAAI,IAAI,GAAG;IACpB;IAEA,OAAOA,IAAI;EACb,CAAC,EACD,CAACR,aAAa,CAChB,CAAC;EAED,OAAO;IAAEC;EAAY,CAAC;AACxB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","usePagePath","configuration","getPagePath","pageId","_currentPage$collecti","_currentPage$entityPa","currentPage","pages","find","page","id","path","type","collectionPage","route","entityPage","undefined","process","env","NODE_ENV"],"sources":["../../../src/hooks/usePagePath.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { AppConfig } from '../types';\n\nexport const usePagePath = (configuration: AppConfig) => {\n const getPagePath = useCallback(\n (pageId?: string) => {\n if (!pageId) {\n return '/';\n }\n\n const currentPage = configuration.pages.find(\n (page) => page.id === pageId,\n );\n\n let path;\n switch (currentPage?.type) {\n case 'collectionPage':\n path = currentPage.collectionPage?.route.path;\n break;\n case 'entityPage':\n path = `${currentPage.entityPage?.route.path}?`;\n break;\n default:\n path = undefined;\n }\n\n if (process.env.NODE_ENV === 'test') {\n // in test mode we sometime override pages so we need to return the path or '/'\n return path || '/';\n }\n\n return path;\n },\n [configuration],\n );\n\n return { getPagePath };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AAGnC,OAAO,MAAMC,WAAW,GAAIC,aAAwB,IAAK;EACvD,MAAMC,WAAW,GAAGH,WAAW,CAC5BI,MAAe,IAAK;IAAA,IAAAC,qBAAA,EAAAC,qBAAA;IACnB,IAAI,CAACF,MAAM,EAAE;MACX,OAAO,GAAG;IACZ;IAEA,MAAMG,WAAW,GAAGL,aAAa,CAACM,KAAK,CAACC,IAAI,CACzCC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKP,MACxB,CAAC;IAED,IAAIQ,IAAI;IACR,QAAQL,WAAW,oBAAXA,WAAW,CAAEM,IAAI;MACvB,KAAK,gBAAgB;QACnBD,IAAI,IAAAP,qBAAA,GAAGE,WAAW,CAACO,cAAc,qBAA1BT,qBAAA,CAA4BU,KAAK,CAACH,IAAI;QAC7C;MACF,KAAK,YAAY;QACfA,IAAI,GAAG,IAAAN,qBAAA,GAAGC,WAAW,CAACS,UAAU,qBAAtBV,qBAAA,CAAwBS,KAAK,CAACH,IAAI,GAAG;QAC/C;MACF;QACEA,IAAI,GAAGK,SAAS;IACpB;IAEA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MACnC;MACA,OAAOR,IAAI,IAAI,GAAG;IACpB;IAEA,OAAOA,IAAI;EACb,CAAC,EACD,CAACV,aAAa,CAChB,CAAC;EAED,OAAO;IAAEC;EAAY,CAAC;AACxB,CAAC","ignoreList":[]}
@@ -7,6 +7,7 @@ import { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticAct
7
7
  import { useBaseTableFeatures } from './useBaseTableFeatures';
8
8
  import { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';
9
9
  export const useTableFeatures = configuration => {
10
+ var _configuration$sectio, _overrides$sections;
10
11
  const {
11
12
  collectionId,
12
13
  limit,
@@ -59,7 +60,7 @@ export const useTableFeatures = configuration => {
59
60
  ...configuration,
60
61
  optimisticActions
61
62
  });
62
- const sections = configuration.sections?.id && overrides?.sections?.[configuration.sections.id] ? {
63
+ const sections = (_configuration$sectio = configuration.sections) != null && _configuration$sectio.id && overrides != null && (_overrides$sections = overrides.sections) != null && _overrides$sections[configuration.sections.id] ? {
63
64
  renderSection: overrides.sections[configuration.sections.id],
64
65
  TableSections
65
66
  } : undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["useFetchData","TableSections","useTableCollection","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useBaseTableFeatures","usePatternsWizardOverridesContext","useTableFeatures","configuration","collectionId","limit","reflectQueryInUrl","selectAllScope","selectionUpdateMode","collection","filterComponent","filtersObject","filterFieldMapping","filters","customColumns","visibleFieldIds","columns","onRowClick","stickyColumns","stickySelectionColumn","showTitleBar","fetchData","searchableFieldIds","schema","overrides","state","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","optimisticActions","commonFeatures","sections","id","renderSection","undefined"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import { TableConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { TableSections, useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { useBaseTableFeatures } from './useBaseTableFeatures';\nimport { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const {\n collectionId,\n limit,\n reflectQueryInUrl,\n selectAllScope,\n selectionUpdateMode,\n } = configuration.collection;\n\n const { filterComponent, filtersObject, filterFieldMapping } = useFilters(\n configuration.filters,\n );\n const {\n customColumns,\n visibleFieldIds,\n columns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n } = useBaseTableFeatures(configuration);\n\n const { fetchData } = useFetchData({\n searchableFieldIds: visibleFieldIds,\n filterFieldMapping,\n });\n\n const schema = useSchema();\n const overrides = usePatternsWizardOverridesContext();\n\n const state = useTableCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (item) => item[schema.idField],\n itemName: (item) => item[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl: reflectQueryInUrl,\n disableAutoSelectAllCount: selectAllScope === 'page',\n selectionConsistencyMode: selectionUpdateMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n });\n\n const sections =\n configuration.sections?.id &&\n overrides?.sections?.[configuration.sections.id]\n ? {\n renderSection: overrides.sections[configuration.sections.id],\n TableSections,\n }\n : undefined;\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n optimisticActions,\n customColumns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n sections,\n };\n};\n"],"mappings":"AACA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,eAAe;AACjE,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAASC,gCAAgC,QAAQ,oCAAoC;AACrF,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,iCAAiC,QAAQ,6CAA6C;AAE/F,OAAO,MAAMC,gBAAgB,GAAIC,aAA0B,IAAK;EAC9D,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,cAAc;IACdC;EACF,CAAC,GAAGL,aAAa,CAACM,UAAU;EAE5B,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAmB,CAAC,GAAGf,UAAU,CACvEM,aAAa,CAACU,OAChB,CAAC;EACD,MAAM;IACJC,aAAa;IACbC,eAAe;IACfC,OAAO;IACPC,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC;EACF,CAAC,GAAGpB,oBAAoB,CAACG,aAAa,CAAC;EAEvC,MAAM;IAAEkB;EAAU,CAAC,GAAG5B,YAAY,CAAC;IACjC6B,kBAAkB,EAAEP,eAAe;IACnCH;EACF,CAAC,CAAC;EAEF,MAAMW,MAAM,GAAGzB,SAAS,CAAC,CAAC;EAC1B,MAAM0B,SAAS,GAAGvB,iCAAiC,CAAC,CAAC;EAErD,MAAMwB,KAAK,GAAG9B,kBAAkB,CAAM;IACpC+B,SAAS,EAAE,GAAGtB,YAAY,EAAE;IAC5BuB,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACL,MAAM,CAACM,OAAO,CAAC;IACvCC,QAAQ,EAAGF,IAAI,IAAKA,IAAI,CAACL,MAAM,CAACQ,YAAY,CAAC;IAC7ClB,OAAO,EAAEF,aAAa;IACtBqB,gBAAgB,EAAGJ,IAAI,IAAKA,IAAI,CAACK,cAAc;IAC/CC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3Cf,SAAS;IACThB,KAAK;IACLiC,iBAAiB,EAAEhC,iBAAiB;IACpCiC,yBAAyB,EAAEhC,cAAc,KAAK,MAAM;IACpDiC,wBAAwB,EAAEhC;EAC5B,CAAC,CAAC;EAEF,MAAMiC,iBAAiB,GAAG1C,gCAAgC,CACxDK,YAAY,EACZqB,KAAK,CAAChB,UACR,CAAC;EAED,MAAMiC,cAAc,GAAG9C,2BAA2B,CAAC;IACjD,GAAGO,aAAa;IAChBsC;EACF,CAAC,CAAC;EAEF,MAAME,QAAQ,GACZxC,aAAa,CAACwC,QAAQ,EAAEC,EAAE,IAC1BpB,SAAS,EAAEmB,QAAQ,GAAGxC,aAAa,CAACwC,QAAQ,CAACC,EAAE,CAAC,GAC5C;IACEC,aAAa,EAAErB,SAAS,CAACmB,QAAQ,CAACxC,aAAa,CAACwC,QAAQ,CAACC,EAAE,CAAC;IAC5DlD;EACF,CAAC,GACDoD,SAAS;EAEf,OAAO;IACL,GAAGJ,cAAc;IACjBjB,KAAK;IACLT,OAAO;IACPH,OAAO,EAAEH,eAAe;IACxB+B,iBAAiB;IACjB3B,aAAa;IACbG,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC,YAAY;IACZuB;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useFetchData","TableSections","useTableCollection","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useBaseTableFeatures","usePatternsWizardOverridesContext","useTableFeatures","configuration","_configuration$sectio","_overrides$sections","collectionId","limit","reflectQueryInUrl","selectAllScope","selectionUpdateMode","collection","filterComponent","filtersObject","filterFieldMapping","filters","customColumns","visibleFieldIds","columns","onRowClick","stickyColumns","stickySelectionColumn","showTitleBar","fetchData","searchableFieldIds","schema","overrides","state","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","optimisticActions","commonFeatures","sections","id","renderSection","undefined"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import { TableConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { TableSections, useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { useBaseTableFeatures } from './useBaseTableFeatures';\nimport { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const {\n collectionId,\n limit,\n reflectQueryInUrl,\n selectAllScope,\n selectionUpdateMode,\n } = configuration.collection;\n\n const { filterComponent, filtersObject, filterFieldMapping } = useFilters(\n configuration.filters,\n );\n const {\n customColumns,\n visibleFieldIds,\n columns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n } = useBaseTableFeatures(configuration);\n\n const { fetchData } = useFetchData({\n searchableFieldIds: visibleFieldIds,\n filterFieldMapping,\n });\n\n const schema = useSchema();\n const overrides = usePatternsWizardOverridesContext();\n\n const state = useTableCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (item) => item[schema.idField],\n itemName: (item) => item[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl: reflectQueryInUrl,\n disableAutoSelectAllCount: selectAllScope === 'page',\n selectionConsistencyMode: selectionUpdateMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n });\n\n const sections =\n configuration.sections?.id &&\n overrides?.sections?.[configuration.sections.id]\n ? {\n renderSection: overrides.sections[configuration.sections.id],\n TableSections,\n }\n : undefined;\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n optimisticActions,\n customColumns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n sections,\n };\n};\n"],"mappings":"AACA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,eAAe;AACjE,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAASC,gCAAgC,QAAQ,oCAAoC;AACrF,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,iCAAiC,QAAQ,6CAA6C;AAE/F,OAAO,MAAMC,gBAAgB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA,EAAAC,mBAAA;EAC9D,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,cAAc;IACdC;EACF,CAAC,GAAGP,aAAa,CAACQ,UAAU;EAE5B,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAmB,CAAC,GAAGjB,UAAU,CACvEM,aAAa,CAACY,OAChB,CAAC;EACD,MAAM;IACJC,aAAa;IACbC,eAAe;IACfC,OAAO;IACPC,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC;EACF,CAAC,GAAGtB,oBAAoB,CAACG,aAAa,CAAC;EAEvC,MAAM;IAAEoB;EAAU,CAAC,GAAG9B,YAAY,CAAC;IACjC+B,kBAAkB,EAAEP,eAAe;IACnCH;EACF,CAAC,CAAC;EAEF,MAAMW,MAAM,GAAG3B,SAAS,CAAC,CAAC;EAC1B,MAAM4B,SAAS,GAAGzB,iCAAiC,CAAC,CAAC;EAErD,MAAM0B,KAAK,GAAGhC,kBAAkB,CAAM;IACpCiC,SAAS,EAAE,GAAGtB,YAAY,EAAE;IAC5BuB,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACL,MAAM,CAACM,OAAO,CAAC;IACvCC,QAAQ,EAAGF,IAAI,IAAKA,IAAI,CAACL,MAAM,CAACQ,YAAY,CAAC;IAC7ClB,OAAO,EAAEF,aAAa;IACtBqB,gBAAgB,EAAGJ,IAAI,IAAKA,IAAI,CAACK,cAAc;IAC/CC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3Cf,SAAS;IACThB,KAAK;IACLiC,iBAAiB,EAAEhC,iBAAiB;IACpCiC,yBAAyB,EAAEhC,cAAc,KAAK,MAAM;IACpDiC,wBAAwB,EAAEhC;EAC5B,CAAC,CAAC;EAEF,MAAMiC,iBAAiB,GAAG5C,gCAAgC,CACxDO,YAAY,EACZqB,KAAK,CAAChB,UACR,CAAC;EAED,MAAMiC,cAAc,GAAGhD,2BAA2B,CAAC;IACjD,GAAGO,aAAa;IAChBwC;EACF,CAAC,CAAC;EAEF,MAAME,QAAQ,GACZ,CAAAzC,qBAAA,GAAAD,aAAa,CAAC0C,QAAQ,aAAtBzC,qBAAA,CAAwB0C,EAAE,IAC1BpB,SAAS,aAAArB,mBAAA,GAATqB,SAAS,CAAEmB,QAAQ,aAAnBxC,mBAAA,CAAsBF,aAAa,CAAC0C,QAAQ,CAACC,EAAE,CAAC,GAC5C;IACEC,aAAa,EAAErB,SAAS,CAACmB,QAAQ,CAAC1C,aAAa,CAAC0C,QAAQ,CAACC,EAAE,CAAC;IAC5DpD;EACF,CAAC,GACDsD,SAAS;EAEf,OAAO;IACL,GAAGJ,cAAc;IACjBjB,KAAK;IACLT,OAAO;IACPH,OAAO,EAAEH,eAAe;IACxB+B,iBAAiB;IACjB3B,aAAa;IACbG,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrBC,YAAY;IACZuB;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import React, { createContext, useContext, useState, useCallback } from 'react';
2
2
  import { PageErrorState } from '@wix/patterns';
3
+ import { errorHandler } from '@wix/essentials';
3
4
  const ErrorContext = /*#__PURE__*/createContext(undefined);
4
5
  export const ErrorProvider = _ref => {
5
6
  let {
@@ -23,8 +24,10 @@ export const ErrorProvider = _ref => {
23
24
  });
24
25
  }, []);
25
26
  if (errorState.hasError && errorState.error) {
27
+ const subtitle = errorHandler.getResolvedError(errorState.error).message;
26
28
  return /*#__PURE__*/React.createElement(PageErrorState, {
27
- subtitle: errorState.error.message
29
+ subtitle: subtitle,
30
+ dataHook: "error-page"
28
31
  });
29
32
  }
30
33
  return /*#__PURE__*/React.createElement(ErrorContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","useState","useCallback","PageErrorState","ErrorContext","undefined","ErrorProvider","_ref","children","errorState","setErrorState","hasError","error","showError","errorObj","Error","clearError","createElement","subtitle","message","Provider","value","useError","context"],"sources":["../../../src/providers/ErrorContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useCallback,\n ReactNode,\n} from 'react';\nimport { PageErrorState } from '@wix/patterns';\n\ninterface ErrorState {\n hasError: boolean;\n error: Error | null;\n}\n\ninterface ErrorContextType {\n showError: (error: Error) => void;\n clearError: () => void;\n}\n\nconst ErrorContext = createContext<ErrorContextType | undefined>(undefined);\n\nexport const ErrorProvider: React.FC<{ children: ReactNode }> = ({\n children,\n}) => {\n const [errorState, setErrorState] = useState<ErrorState>({\n hasError: false,\n error: null,\n });\n\n const showError = useCallback((error: Error | string) => {\n const errorObj = typeof error === 'string' ? new Error(error) : error;\n setErrorState({\n hasError: true,\n error: errorObj,\n });\n }, []);\n\n const clearError = useCallback(() => {\n setErrorState({\n hasError: false,\n error: null,\n });\n }, []);\n\n if (errorState.hasError && errorState.error) {\n return <PageErrorState subtitle={errorState.error.message} />;\n }\n\n return (\n <ErrorContext.Provider value={{ showError, clearError }}>\n {children}\n </ErrorContext.Provider>\n );\n};\n\nexport const useError = (): ErrorContextType => {\n const context = useContext(ErrorContext);\n if (!context) {\n throw new Error('useError must be used within an ErrorProvider');\n }\n return context;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,aAAa,EACbC,UAAU,EACVC,QAAQ,EACRC,WAAW,QAEN,OAAO;AACd,SAASC,cAAc,QAAQ,eAAe;AAY9C,MAAMC,YAAY,gBAAGL,aAAa,CAA+BM,SAAS,CAAC;AAE3E,OAAO,MAAMC,aAAgD,GAAGC,IAAA,IAE1D;EAAA,IAF2D;IAC/DC;EACF,CAAC,GAAAD,IAAA;EACC,MAAM,CAACE,UAAU,EAAEC,aAAa,CAAC,GAAGT,QAAQ,CAAa;IACvDU,QAAQ,EAAE,KAAK;IACfC,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAGX,WAAW,CAAEU,KAAqB,IAAK;IACvD,MAAME,QAAQ,GAAG,OAAOF,KAAK,KAAK,QAAQ,GAAG,IAAIG,KAAK,CAACH,KAAK,CAAC,GAAGA,KAAK;IACrEF,aAAa,CAAC;MACZC,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAEE;IACT,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,UAAU,GAAGd,WAAW,CAAC,MAAM;IACnCQ,aAAa,CAAC;MACZC,QAAQ,EAAE,KAAK;MACfC,KAAK,EAAE;IACT,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIH,UAAU,CAACE,QAAQ,IAAIF,UAAU,CAACG,KAAK,EAAE;IAC3C,oBAAOd,KAAA,CAAAmB,aAAA,CAACd,cAAc;MAACe,QAAQ,EAAET,UAAU,CAACG,KAAK,CAACO;IAAQ,CAAE,CAAC;EAC/D;EAEA,oBACErB,KAAA,CAAAmB,aAAA,CAACb,YAAY,CAACgB,QAAQ;IAACC,KAAK,EAAE;MAAER,SAAS;MAAEG;IAAW;EAAE,GACrDR,QACoB,CAAC;AAE5B,CAAC;AAED,OAAO,MAAMc,QAAQ,GAAGA,CAAA,KAAwB;EAC9C,MAAMC,OAAO,GAAGvB,UAAU,CAACI,YAAY,CAAC;EACxC,IAAI,CAACmB,OAAO,EAAE;IACZ,MAAM,IAAIR,KAAK,CAAC,+CAA+C,CAAC;EAClE;EACA,OAAOQ,OAAO;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","useState","useCallback","PageErrorState","errorHandler","ErrorContext","undefined","ErrorProvider","_ref","children","errorState","setErrorState","hasError","error","showError","errorObj","Error","clearError","subtitle","getResolvedError","message","createElement","dataHook","Provider","value","useError","context"],"sources":["../../../src/providers/ErrorContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useCallback,\n ReactNode,\n} from 'react';\nimport { PageErrorState } from '@wix/patterns';\nimport { errorHandler } from '@wix/essentials';\n\nexport interface ErrorResponse extends Error {\n details: {\n applicationError: {\n description: string;\n };\n };\n}\n\ninterface ErrorState {\n hasError: boolean;\n error: Error | null;\n}\n\ninterface ErrorContextType {\n showError: (error: Error) => void;\n clearError: () => void;\n}\n\nconst ErrorContext = createContext<ErrorContextType | undefined>(undefined);\n\nexport const ErrorProvider: React.FC<{ children: ReactNode }> = ({\n children,\n}) => {\n const [errorState, setErrorState] = useState<ErrorState>({\n hasError: false,\n error: null,\n });\n\n const showError = useCallback((error: Error | string) => {\n const errorObj = typeof error === 'string' ? new Error(error) : error;\n setErrorState({\n hasError: true,\n error: errorObj,\n });\n }, []);\n\n const clearError = useCallback(() => {\n setErrorState({\n hasError: false,\n error: null,\n });\n }, []);\n\n if (errorState.hasError && errorState.error) {\n const subtitle = errorHandler.getResolvedError(errorState.error).message;\n\n return <PageErrorState subtitle={subtitle} dataHook=\"error-page\" />;\n }\n\n return (\n <ErrorContext.Provider value={{ showError, clearError }}>\n {children}\n </ErrorContext.Provider>\n );\n};\n\nexport const useError = (): ErrorContextType => {\n const context = useContext(ErrorContext);\n if (!context) {\n throw new Error('useError must be used within an ErrorProvider');\n }\n return context;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,aAAa,EACbC,UAAU,EACVC,QAAQ,EACRC,WAAW,QAEN,OAAO;AACd,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,YAAY,QAAQ,iBAAiB;AAoB9C,MAAMC,YAAY,gBAAGN,aAAa,CAA+BO,SAAS,CAAC;AAE3E,OAAO,MAAMC,aAAgD,GAAGC,IAAA,IAE1D;EAAA,IAF2D;IAC/DC;EACF,CAAC,GAAAD,IAAA;EACC,MAAM,CAACE,UAAU,EAAEC,aAAa,CAAC,GAAGV,QAAQ,CAAa;IACvDW,QAAQ,EAAE,KAAK;IACfC,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAGZ,WAAW,CAAEW,KAAqB,IAAK;IACvD,MAAME,QAAQ,GAAG,OAAOF,KAAK,KAAK,QAAQ,GAAG,IAAIG,KAAK,CAACH,KAAK,CAAC,GAAGA,KAAK;IACrEF,aAAa,CAAC;MACZC,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAEE;IACT,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,UAAU,GAAGf,WAAW,CAAC,MAAM;IACnCS,aAAa,CAAC;MACZC,QAAQ,EAAE,KAAK;MACfC,KAAK,EAAE;IACT,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIH,UAAU,CAACE,QAAQ,IAAIF,UAAU,CAACG,KAAK,EAAE;IAC3C,MAAMK,QAAQ,GAAGd,YAAY,CAACe,gBAAgB,CAACT,UAAU,CAACG,KAAK,CAAC,CAACO,OAAO;IAExE,oBAAOtB,KAAA,CAAAuB,aAAA,CAAClB,cAAc;MAACe,QAAQ,EAAEA,QAAS;MAACI,QAAQ,EAAC;IAAY,CAAE,CAAC;EACrE;EAEA,oBACExB,KAAA,CAAAuB,aAAA,CAAChB,YAAY,CAACkB,QAAQ;IAACC,KAAK,EAAE;MAAEV,SAAS;MAAEG;IAAW;EAAE,GACrDR,QACoB,CAAC;AAE5B,CAAC;AAED,OAAO,MAAMgB,QAAQ,GAAGA,CAAA,KAAwB;EAC9C,MAAMC,OAAO,GAAG1B,UAAU,CAACK,YAAY,CAAC;EACxC,IAAI,CAACqB,OAAO,EAAE;IACZ,MAAM,IAAIV,KAAK,CAAC,+CAA+C,CAAC;EAClE;EACA,OAAOU,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport {\n CustomComponentProps,\n CustomActionCellActionResolver,\n CustomEntityPageMoreActionsActionResolver,\n CustomBulkActionsActionResolver,\n CustomActionCollectionPageActionResolver,\n CustomActionCollectionPageActionOnRowClickResolver,\n IColumnValue,\n SchemaConfig,\n} from '../types';\n\nimport { Section } from '@wix/patterns';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<\n string,\n | CustomActionCellActionResolver\n | CustomBulkActionsActionResolver\n | CustomEntityPageMoreActionsActionResolver\n | CustomActionCollectionPageActionResolver\n | CustomActionCollectionPageActionOnRowClickResolver\n >;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n modals?: Record<string, React.FC<any>>;\n emptyState?: Record<string, () => void>;\n components?: Record<string, React.FC<CustomComponentProps>>;\n slots?: Record<string, React.FC>;\n customDataSources?: Record<\n string,\n (collectionId: string, context: any) => Promise<SchemaConfig>\n >;\n sections?: Record<string, (item: any) => Section>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAmCnE,MAAMC,8BAA8B,gBAAGF,aAAa,CAElDG,SAAS,CAAC;AAEZ,OAAO,MAAMC,+BAGX,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACvB,oBACEN,KAAA,CAAAS,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GACnDD,QACsC,CAAC;AAE9C,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAOT,UAAU,CAACC,8BAA8B,CAAC;AACnD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"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,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAqCnE,MAAMC,8BAA8B,gBAAGF,aAAa,CAElDG,SAAS,CAAC;AAEZ,OAAO,MAAMC,+BAGX,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACvB,oBACEN,KAAA,CAAAS,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GACnDD,QACsC,CAAC;AAE9C,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAOT,UAAU,CAACC,8BAA8B,CAAC;AACnD,CAAC","ignoreList":[]}
@@ -6,6 +6,7 @@ import { useWixPatternsContainer } from '@wix/patterns';
6
6
  import { useError } from './ErrorContext';
7
7
  const SchemaContext = /*#__PURE__*/createContext(null);
8
8
  export const SchemaProvider = _ref => {
9
+ var _collection$custom;
9
10
  let {
10
11
  collection,
11
12
  children,
@@ -15,7 +16,7 @@ export const SchemaProvider = _ref => {
15
16
  collectionId,
16
17
  entityTypeSource
17
18
  } = collection;
18
- const customDataSourceId = collection.entityTypeSource === 'custom' && 'custom' in collection ? collection.custom?.id : undefined;
19
+ const customDataSourceId = collection.entityTypeSource === 'custom' && 'custom' in collection ? (_collection$custom = collection.custom) == null ? void 0 : _collection$custom.id : undefined;
19
20
  const {
20
21
  getSchema: getSchemaFromRegistry,
21
22
  addSchema: addSchemaToRegistry
@@ -31,7 +32,7 @@ export const SchemaProvider = _ref => {
31
32
  } = useWixPatternsContainer();
32
33
  useEffect(() => {
33
34
  const fetchSchemaForCollection = async (targetCollectionId, targetCustomDataSourceId) => {
34
- if (entityTypeSource === 'custom' && targetCustomDataSourceId && overrides?.customDataSources) {
35
+ if (entityTypeSource === 'custom' && targetCustomDataSourceId && overrides != null && overrides.customDataSources) {
35
36
  const customSchemaProvider = overrides.customDataSources[targetCustomDataSourceId];
36
37
  if (customSchemaProvider) {
37
38
  return customSchemaProvider(targetCollectionId, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","useEffect","useState","getSchema","useSchemaRegistry","usePatternsWizardOverridesContext","useWixPatternsContainer","useError","SchemaContext","SchemaProvider","_ref","collection","children","skeleton","collectionId","entityTypeSource","customDataSourceId","custom","id","undefined","getSchemaFromRegistry","addSchema","addSchemaToRegistry","showError","schema","setSchema","isLoading","setIsLoading","overrides","httpClient","fetchSchemaForCollection","targetCollectionId","targetCustomDataSourceId","customDataSources","customSchemaProvider","Error","fetchReferencedSchemas","referencedSchema","referencedCollectionIds","Set","Object","values","fields","forEach","field","type","referenceMetadata","referencedCollectionId","add","size","fetchPromises","Array","from","map","refCollectionId","refSchema","error","console","Promise","all","cachedSchema","then","fetchedSchema","catch","finally","createElement","Provider","value","useSchema","context"],"sources":["../../../src/providers/SchemaContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useEffect,\n useState,\n ReactNode,\n} from 'react';\n\nimport { SchemaConfig, BaseCollectionConfig } from '../types';\nimport { getSchema } from '../dataSourceAdapters/factory';\nimport { useSchemaRegistry } from './SchemaRegistryContext';\nimport { usePatternsWizardOverridesContext } from './PatternsWizardOverridesContext';\nimport { useWixPatternsContainer } from '@wix/patterns';\nimport { useError } from './ErrorContext';\n\nconst SchemaContext = createContext<SchemaConfig | null>(null);\n\ninterface SchemaProviderProps {\n collection: BaseCollectionConfig;\n children: ReactNode;\n skeleton: JSX.Element;\n}\n\nexport const SchemaProvider = ({\n collection,\n children,\n skeleton,\n}: SchemaProviderProps) => {\n const { collectionId, entityTypeSource } = collection;\n const customDataSourceId =\n collection.entityTypeSource === 'custom' && 'custom' in collection\n ? collection.custom?.id\n : undefined;\n const { getSchema: getSchemaFromRegistry, addSchema: addSchemaToRegistry } =\n useSchemaRegistry();\n const { showError } = useError();\n const [schema, setSchema] = useState<SchemaConfig | null>(null);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const overrides = usePatternsWizardOverridesContext();\n const { httpClient } = useWixPatternsContainer();\n\n useEffect(() => {\n const fetchSchemaForCollection = async (\n targetCollectionId: string,\n targetCustomDataSourceId?: string,\n ): Promise<SchemaConfig> => {\n if (\n entityTypeSource === 'custom' &&\n targetCustomDataSourceId &&\n overrides?.customDataSources\n ) {\n const customSchemaProvider =\n overrides.customDataSources[targetCustomDataSourceId];\n if (customSchemaProvider) {\n return customSchemaProvider(targetCollectionId, { httpClient });\n }\n throw new Error(\n `Custom schema provider '${targetCustomDataSourceId}' not found`,\n );\n }\n\n return getSchema(targetCollectionId, entityTypeSource);\n };\n\n const fetchReferencedSchemas = async (referencedSchema: SchemaConfig) => {\n const referencedCollectionIds = new Set<string>();\n\n Object.values(referencedSchema.fields).forEach((field) => {\n if (field && field.type === 'REFERENCE' && field.referenceMetadata) {\n const { referencedCollectionId } = field.referenceMetadata;\n if (\n referencedCollectionId &&\n !getSchemaFromRegistry(referencedCollectionId)\n ) {\n referencedCollectionIds.add(referencedCollectionId);\n }\n }\n });\n\n if (referencedCollectionIds.size === 0) {\n return;\n }\n\n const fetchPromises = Array.from(referencedCollectionIds).map(\n async (refCollectionId) => {\n try {\n const refSchema = await fetchSchemaForCollection(refCollectionId);\n\n addSchemaToRegistry(refCollectionId, refSchema);\n\n await fetchReferencedSchemas(refSchema);\n } catch (error) {\n console.error(\n `Error fetching referenced schema ${refCollectionId}:`,\n error,\n );\n }\n },\n );\n\n await Promise.all(fetchPromises);\n };\n\n const cachedSchema = getSchemaFromRegistry(collectionId);\n if (cachedSchema) {\n setSchema(cachedSchema);\n return;\n }\n setIsLoading(true);\n fetchSchemaForCollection(collectionId, customDataSourceId)\n .then(async (fetchedSchema) => {\n setSchema(fetchedSchema);\n addSchemaToRegistry(collectionId, fetchedSchema);\n\n await fetchReferencedSchemas(fetchedSchema);\n })\n .catch((error) => {\n console.error('Error fetching schema config:', error);\n showError(error);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, [\n collectionId,\n entityTypeSource,\n customDataSourceId,\n addSchemaToRegistry,\n getSchemaFromRegistry,\n overrides,\n httpClient,\n showError,\n ]);\n if (!schema || isLoading) {\n return skeleton;\n }\n\n return (\n <SchemaContext.Provider value={schema}>{children}</SchemaContext.Provider>\n );\n};\n\nexport const useSchema = (): SchemaConfig => {\n const context = useContext(SchemaContext);\n if (!context) {\n throw new Error('useSchema must be used within a SchemaProvider');\n }\n return context;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","useEffect","useState","getSchema","useSchemaRegistry","usePatternsWizardOverridesContext","useWixPatternsContainer","useError","SchemaContext","SchemaProvider","_ref","_collection$custom","collection","children","skeleton","collectionId","entityTypeSource","customDataSourceId","custom","id","undefined","getSchemaFromRegistry","addSchema","addSchemaToRegistry","showError","schema","setSchema","isLoading","setIsLoading","overrides","httpClient","fetchSchemaForCollection","targetCollectionId","targetCustomDataSourceId","customDataSources","customSchemaProvider","Error","fetchReferencedSchemas","referencedSchema","referencedCollectionIds","Set","Object","values","fields","forEach","field","type","referenceMetadata","referencedCollectionId","add","size","fetchPromises","Array","from","map","refCollectionId","refSchema","error","console","Promise","all","cachedSchema","then","fetchedSchema","catch","finally","createElement","Provider","value","useSchema","context"],"sources":["../../../src/providers/SchemaContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useEffect,\n useState,\n ReactNode,\n} from 'react';\n\nimport { SchemaConfig, BaseCollectionConfig } from '../types';\nimport { getSchema } from '../dataSourceAdapters/factory';\nimport { useSchemaRegistry } from './SchemaRegistryContext';\nimport { usePatternsWizardOverridesContext } from './PatternsWizardOverridesContext';\nimport { useWixPatternsContainer } from '@wix/patterns';\nimport { useError } from './ErrorContext';\n\nconst SchemaContext = createContext<SchemaConfig | null>(null);\n\ninterface SchemaProviderProps {\n collection: BaseCollectionConfig;\n children: ReactNode;\n skeleton: JSX.Element;\n}\n\nexport const SchemaProvider = ({\n collection,\n children,\n skeleton,\n}: SchemaProviderProps) => {\n const { collectionId, entityTypeSource } = collection;\n const customDataSourceId =\n collection.entityTypeSource === 'custom' && 'custom' in collection\n ? collection.custom?.id\n : undefined;\n const { getSchema: getSchemaFromRegistry, addSchema: addSchemaToRegistry } =\n useSchemaRegistry();\n const { showError } = useError();\n const [schema, setSchema] = useState<SchemaConfig | null>(null);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const overrides = usePatternsWizardOverridesContext();\n const { httpClient } = useWixPatternsContainer();\n\n useEffect(() => {\n const fetchSchemaForCollection = async (\n targetCollectionId: string,\n targetCustomDataSourceId?: string,\n ): Promise<SchemaConfig> => {\n if (\n entityTypeSource === 'custom' &&\n targetCustomDataSourceId &&\n overrides?.customDataSources\n ) {\n const customSchemaProvider =\n overrides.customDataSources[targetCustomDataSourceId];\n if (customSchemaProvider) {\n return customSchemaProvider(targetCollectionId, { httpClient });\n }\n throw new Error(\n `Custom schema provider '${targetCustomDataSourceId}' not found`,\n );\n }\n\n return getSchema(targetCollectionId, entityTypeSource);\n };\n\n const fetchReferencedSchemas = async (referencedSchema: SchemaConfig) => {\n const referencedCollectionIds = new Set<string>();\n\n Object.values(referencedSchema.fields).forEach((field) => {\n if (field && field.type === 'REFERENCE' && field.referenceMetadata) {\n const { referencedCollectionId } = field.referenceMetadata;\n if (\n referencedCollectionId &&\n !getSchemaFromRegistry(referencedCollectionId)\n ) {\n referencedCollectionIds.add(referencedCollectionId);\n }\n }\n });\n\n if (referencedCollectionIds.size === 0) {\n return;\n }\n\n const fetchPromises = Array.from(referencedCollectionIds).map(\n async (refCollectionId) => {\n try {\n const refSchema = await fetchSchemaForCollection(refCollectionId);\n\n addSchemaToRegistry(refCollectionId, refSchema);\n\n await fetchReferencedSchemas(refSchema);\n } catch (error) {\n console.error(\n `Error fetching referenced schema ${refCollectionId}:`,\n error,\n );\n }\n },\n );\n\n await Promise.all(fetchPromises);\n };\n\n const cachedSchema = getSchemaFromRegistry(collectionId);\n if (cachedSchema) {\n setSchema(cachedSchema);\n return;\n }\n setIsLoading(true);\n fetchSchemaForCollection(collectionId, customDataSourceId)\n .then(async (fetchedSchema) => {\n setSchema(fetchedSchema);\n addSchemaToRegistry(collectionId, fetchedSchema);\n\n await fetchReferencedSchemas(fetchedSchema);\n })\n .catch((error) => {\n console.error('Error fetching schema config:', error);\n showError(error);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, [\n collectionId,\n entityTypeSource,\n customDataSourceId,\n addSchemaToRegistry,\n getSchemaFromRegistry,\n overrides,\n httpClient,\n showError,\n ]);\n if (!schema || isLoading) {\n return skeleton;\n }\n\n return (\n <SchemaContext.Provider value={schema}>{children}</SchemaContext.Provider>\n );\n};\n\nexport const useSchema = (): SchemaConfig => {\n const context = useContext(SchemaContext);\n if (!context) {\n throw new Error('useSchema must be used within a SchemaProvider');\n }\n return context;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,7 @@ export const SchemaRegistryProvider = _ref => {
15
15
  }));
16
16
  }, []);
17
17
  const getSchema = useCallback(collectionId => {
18
- return registry?.[collectionId];
18
+ return registry == null ? void 0 : registry[collectionId];
19
19
  }, [registry]);
20
20
  const contextValue = useMemo(() => ({
21
21
  getSchema,
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","useState","useCallback","useMemo","SchemaRegistryContext","getSchema","undefined","addSchema","SchemaRegistryProvider","_ref","children","registry","setRegistry","collectionId","schema","prevRegistry","contextValue","createElement","Provider","value","useSchemaRegistry","context","Error"],"sources":["../../../src/providers/SchemaRegistryContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n ReactNode,\n useCallback,\n useMemo,\n} from 'react';\n\nimport { SchemaConfig } from '../types';\n\nexport interface SchemaRegistryContextValue {\n getSchema: (collectionId: string) => SchemaConfig | undefined;\n addSchema: (collectionId: string, schema: SchemaConfig) => void;\n}\n\nexport type SchemaRegistry = Record<string, SchemaConfig>;\n\nconst SchemaRegistryContext = createContext<SchemaRegistryContextValue>({\n getSchema: () => undefined,\n addSchema: () => {},\n});\n\nexport interface SchemaRegistryProviderProps {\n children: ReactNode;\n}\n\nexport const SchemaRegistryProvider = ({\n children,\n}: SchemaRegistryProviderProps) => {\n const [registry, setRegistry] = useState<SchemaRegistry>({});\n\n const addSchema = useCallback(\n (collectionId: string, schema: SchemaConfig) => {\n setRegistry((prevRegistry) => ({\n ...prevRegistry,\n [collectionId]: schema,\n }));\n },\n [],\n );\n\n const getSchema = useCallback(\n (collectionId: string) => {\n return registry?.[collectionId];\n },\n [registry],\n );\n\n const contextValue = useMemo(\n () => ({\n getSchema,\n addSchema,\n }),\n [getSchema, addSchema],\n );\n\n return (\n <SchemaRegistryContext.Provider value={contextValue}>\n {children}\n </SchemaRegistryContext.Provider>\n );\n};\n\nexport const useSchemaRegistry = (): SchemaRegistryContextValue => {\n const context = useContext(SchemaRegistryContext);\n if (!context) {\n throw new Error(\n 'useSchemaRegistry must be used within a UseRegistryProvider',\n );\n }\n return context;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,aAAa,EACbC,UAAU,EACVC,QAAQ,EAERC,WAAW,EACXC,OAAO,QACF,OAAO;AAWd,MAAMC,qBAAqB,gBAAGL,aAAa,CAA6B;EACtEM,SAAS,EAAEA,CAAA,KAAMC,SAAS;EAC1BC,SAAS,EAAEA,CAAA,KAAM,CAAC;AACpB,CAAC,CAAC;AAMF,OAAO,MAAMC,sBAAsB,GAAGC,IAAA,IAEH;EAAA,IAFI;IACrCC;EAC2B,CAAC,GAAAD,IAAA;EAC5B,MAAM,CAACE,QAAQ,EAAEC,WAAW,CAAC,GAAGX,QAAQ,CAAiB,CAAC,CAAC,CAAC;EAE5D,MAAMM,SAAS,GAAGL,WAAW,CAC3B,CAACW,YAAoB,EAAEC,MAAoB,KAAK;IAC9CF,WAAW,CAAEG,YAAY,KAAM;MAC7B,GAAGA,YAAY;MACf,CAACF,YAAY,GAAGC;IAClB,CAAC,CAAC,CAAC;EACL,CAAC,EACD,EACF,CAAC;EAED,MAAMT,SAAS,GAAGH,WAAW,CAC1BW,YAAoB,IAAK;IACxB,OAAOF,QAAQ,GAAGE,YAAY,CAAC;EACjC,CAAC,EACD,CAACF,QAAQ,CACX,CAAC;EAED,MAAMK,YAAY,GAAGb,OAAO,CAC1B,OAAO;IACLE,SAAS;IACTE;EACF,CAAC,CAAC,EACF,CAACF,SAAS,EAAEE,SAAS,CACvB,CAAC;EAED,oBACET,KAAA,CAAAmB,aAAA,CAACb,qBAAqB,CAACc,QAAQ;IAACC,KAAK,EAAEH;EAAa,GACjDN,QAC6B,CAAC;AAErC,CAAC;AAED,OAAO,MAAMU,iBAAiB,GAAGA,CAAA,KAAkC;EACjE,MAAMC,OAAO,GAAGrB,UAAU,CAACI,qBAAqB,CAAC;EACjD,IAAI,CAACiB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,6DACF,CAAC;EACH;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","useState","useCallback","useMemo","SchemaRegistryContext","getSchema","undefined","addSchema","SchemaRegistryProvider","_ref","children","registry","setRegistry","collectionId","schema","prevRegistry","contextValue","createElement","Provider","value","useSchemaRegistry","context","Error"],"sources":["../../../src/providers/SchemaRegistryContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n ReactNode,\n useCallback,\n useMemo,\n} from 'react';\n\nimport { SchemaConfig } from '../types';\n\nexport interface SchemaRegistryContextValue {\n getSchema: (collectionId: string) => SchemaConfig | undefined;\n addSchema: (collectionId: string, schema: SchemaConfig) => void;\n}\n\nexport type SchemaRegistry = Record<string, SchemaConfig>;\n\nconst SchemaRegistryContext = createContext<SchemaRegistryContextValue>({\n getSchema: () => undefined,\n addSchema: () => {},\n});\n\nexport interface SchemaRegistryProviderProps {\n children: ReactNode;\n}\n\nexport const SchemaRegistryProvider = ({\n children,\n}: SchemaRegistryProviderProps) => {\n const [registry, setRegistry] = useState<SchemaRegistry>({});\n\n const addSchema = useCallback(\n (collectionId: string, schema: SchemaConfig) => {\n setRegistry((prevRegistry) => ({\n ...prevRegistry,\n [collectionId]: schema,\n }));\n },\n [],\n );\n\n const getSchema = useCallback(\n (collectionId: string) => {\n return registry?.[collectionId];\n },\n [registry],\n );\n\n const contextValue = useMemo(\n () => ({\n getSchema,\n addSchema,\n }),\n [getSchema, addSchema],\n );\n\n return (\n <SchemaRegistryContext.Provider value={contextValue}>\n {children}\n </SchemaRegistryContext.Provider>\n );\n};\n\nexport const useSchemaRegistry = (): SchemaRegistryContextValue => {\n const context = useContext(SchemaRegistryContext);\n if (!context) {\n throw new Error(\n 'useSchemaRegistry must be used within a UseRegistryProvider',\n );\n }\n return context;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,aAAa,EACbC,UAAU,EACVC,QAAQ,EAERC,WAAW,EACXC,OAAO,QACF,OAAO;AAWd,MAAMC,qBAAqB,gBAAGL,aAAa,CAA6B;EACtEM,SAAS,EAAEA,CAAA,KAAMC,SAAS;EAC1BC,SAAS,EAAEA,CAAA,KAAM,CAAC;AACpB,CAAC,CAAC;AAMF,OAAO,MAAMC,sBAAsB,GAAGC,IAAA,IAEH;EAAA,IAFI;IACrCC;EAC2B,CAAC,GAAAD,IAAA;EAC5B,MAAM,CAACE,QAAQ,EAAEC,WAAW,CAAC,GAAGX,QAAQ,CAAiB,CAAC,CAAC,CAAC;EAE5D,MAAMM,SAAS,GAAGL,WAAW,CAC3B,CAACW,YAAoB,EAAEC,MAAoB,KAAK;IAC9CF,WAAW,CAAEG,YAAY,KAAM;MAC7B,GAAGA,YAAY;MACf,CAACF,YAAY,GAAGC;IAClB,CAAC,CAAC,CAAC;EACL,CAAC,EACD,EACF,CAAC;EAED,MAAMT,SAAS,GAAGH,WAAW,CAC1BW,YAAoB,IAAK;IACxB,OAAOF,QAAQ,oBAARA,QAAQ,CAAGE,YAAY,CAAC;EACjC,CAAC,EACD,CAACF,QAAQ,CACX,CAAC;EAED,MAAMK,YAAY,GAAGb,OAAO,CAC1B,OAAO;IACLE,SAAS;IACTE;EACF,CAAC,CAAC,EACF,CAACF,SAAS,EAAEE,SAAS,CACvB,CAAC;EAED,oBACET,KAAA,CAAAmB,aAAA,CAACb,qBAAqB,CAACc,QAAQ;IAACC,KAAK,EAAEH;EAAa,GACjDN,QAC6B,CAAC;AAErC,CAAC;AAED,OAAO,MAAMU,iBAAiB,GAAGA,CAAA,KAAkC;EACjE,MAAMC,OAAO,GAAGrB,UAAU,CAACI,qBAAqB,CAAC;EACjD,IAAI,CAACiB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,6DACF,CAAC;EACH;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/EntityPageConfig.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport { EntityPageMoreActions } from './actions/entityPageActions';\nimport { BaseCollectionConfig } from './types';\n\nexport type EntityPageConfig = {\n route: {\n path: string;\n params: {\n id: string;\n };\n };\n title?: {\n text: string;\n };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n parentPageId?: string;\n layout?: {\n main: CardLayout[];\n sidebar?: CardLayout[];\n };\n moreActions?: EntityPageMoreActions;\n} & BaseCollectionConfig;\n\nexport interface CardLayout {\n type: 'card';\n card: {\n title: {\n text: string;\n };\n subtitle?: {\n text: string;\n };\n children: LayoutContent[];\n };\n}\n\nexport type LayoutContent =\n | FieldContent\n | ContainerContent\n | ComponentItemContent;\n\ninterface FieldContent {\n type: 'field';\n field: {\n span?: number;\n fieldId: string;\n };\n}\n\ninterface ContainerContent {\n type: 'container';\n container: {\n span?: number;\n children: LayoutContent[];\n };\n}\n\ninterface ComponentItemContent {\n type: 'component';\n component: {\n span?: number;\n componentId: string;\n };\n}\n\nexport interface CustomComponentProps {\n entity?: Record<string, any>;\n form: UseFormReturn<FieldValues, any, undefined>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/types/EntityPageConfig.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport {\n EntityPageMoreActions,\n EntityPagePrimaryActions,\n EntityPageSecondaryActions,\n} from './actions/entityPageActions';\nimport { BaseCollectionConfig } from './types';\n\nexport type EntityPageBaseConfig = {\n route: {\n path: string;\n params: {\n id: string;\n };\n };\n title?: {\n text: string;\n };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n parentPageId?: string;\n layout?: {\n main: CardLayout[];\n sidebar?: CardLayout[];\n };\n} & BaseCollectionConfig;\n\nexport type EditEntityPageConfig = EntityPageBaseConfig & {\n mode?: 'edit';\n actions?: {\n primaryActions?: never;\n secondaryActions?: never;\n moreActions?: EntityPageMoreActions;\n };\n};\n\nexport type ViewEntityPageConfig = EntityPageBaseConfig & {\n mode: 'view';\n actions?: {\n primaryActions?: EntityPagePrimaryActions;\n secondaryActions?: EntityPageSecondaryActions;\n moreActions?: EntityPageMoreActions;\n };\n};\n\nexport type EntityPageConfig = EditEntityPageConfig | ViewEntityPageConfig;\n\nexport interface CardLayout {\n type: 'card';\n card: {\n title: {\n text: string;\n };\n subtitle?: {\n text: string;\n };\n children: LayoutContent[];\n };\n}\n\nexport type LayoutContent =\n | FieldContent\n | ContainerContent\n | ComponentItemContent;\n\ninterface FieldContent {\n type: 'field';\n field: {\n span?: number;\n fieldId: string;\n };\n}\n\ninterface ContainerContent {\n type: 'container';\n container: {\n span?: number;\n children: LayoutContent[];\n };\n}\n\ninterface ComponentItemContent {\n type: 'component';\n component: {\n span?: number;\n componentId: string;\n };\n}\n\nexport interface CustomComponentProps {\n entity?: Record<string, any>;\n form?: UseFormReturn<FieldValues, any, undefined>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/types/actions/actionCell.ts"],"sourcesContent":["import {\n CustomActionModalProps,\n CustomActionParams,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n CustomActionConfig,\n DeleteActionConfig,\n UpdateActionConfig,\n DividerActionConfig,\n} from './base';\n\nexport type ActionCellItemConfig =\n | UpdateActionConfig\n | CustomActionConfig\n | DeleteActionConfig;\n\nexport interface ActionCellPrimaryAction {\n item: ActionCellItemConfig;\n alwaysVisible?: boolean;\n}\n\nexport interface ActionCellSecondaryActions {\n items: (ActionCellItemConfig | DividerActionConfig)[];\n inlineCount?: number;\n inlineAlwaysVisible?: boolean;\n}\n\nexport interface ActionCellConfig {\n primaryAction?: ActionCellPrimaryAction;\n secondaryActions?: ActionCellSecondaryActions;\n}\n\nexport interface ActionCellActionParams {\n item: any;\n}\n\nexport type CustomActionCellActionParams =\n CustomActionParams<ActionCellActionParams>;\n\nexport type CustomActionCellActionResolver = (\n params: CustomActionCellActionParams,\n) => ResolvedAction;\n\nexport interface CustomActionCellActionModalProps\n extends CustomActionModalProps {\n actionParams: ActionCellActionParams;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/actionCell.ts"],"sourcesContent":["import {\n CustomActionModalProps,\n CustomActionParams,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n CustomActionConfig,\n DeleteActionConfig,\n UpdateActionConfig,\n DividerActionConfig,\n} from './base';\nimport { IconElement } from '@wix/design-system';\n\nexport type ActionCellItemConfig =\n | UpdateActionConfig\n | CustomActionConfig\n | DeleteActionConfig;\n\nexport interface ActionCellPrimaryAction {\n item: ActionCellItemConfig;\n alwaysVisible?: boolean;\n}\n\nexport interface ActionCellSecondaryActions {\n items: (ActionCellItemConfig | DividerActionConfig)[];\n inlineCount?: number;\n inlineAlwaysVisible?: boolean;\n}\n\nexport interface ActionCellConfig {\n primaryAction?: ActionCellPrimaryAction;\n secondaryActions?: ActionCellSecondaryActions;\n}\n\nexport interface ResolvedActionCellPrimaryAction\n extends Omit<ResolvedAction, 'icon'> {\n prefixIcon?: IconElement;\n suffixIcon?: IconElement;\n}\n\nexport interface ActionCellActionParams {\n item: any;\n}\n\nexport type CustomActionCellActionParams =\n CustomActionParams<ActionCellActionParams>;\n\nexport type CustomActionCellPrimaryActionResolver = (\n params: CustomActionCellActionParams,\n) => ResolvedActionCellPrimaryAction;\n\nexport type CustomActionCellSecondaryActionResolver = (\n params: CustomActionCellActionParams,\n) => ResolvedAction;\n\nexport interface CustomActionCellActionModalProps\n extends CustomActionModalProps {\n actionParams: ActionCellActionParams;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/types/actions/entityPageActions.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport { CustomActionParams, ResolvedAction } from '../..';\nimport { CustomActionConfig, DividerActionConfig } from './base';\n\nexport type EntityPageMoreActions = (\n | CustomActionConfig\n | DividerActionConfig\n)[];\n\nexport interface EntityPageMoreActionsActionParams {\n entity: any;\n form: UseFormReturn<FieldValues, any, undefined>;\n}\n\nexport type CustomEntityPageMoreActionsActionParams =\n CustomActionParams<EntityPageMoreActionsActionParams>;\n\nexport type CustomEntityPageMoreActionsActionResolver = (\n params: CustomEntityPageMoreActionsActionParams,\n) => ResolvedAction;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/entityPageActions.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport { CustomActionParams, ResolvedAction } from '../..';\nimport {\n CreateActionConfig,\n CustomActionConfig,\n DividerActionConfig,\n} from './base';\n\nexport type EntityPageMoreActions = (\n | CustomActionConfig\n | DividerActionConfig\n)[];\n\nexport type EntityPageActionConfig = CreateActionConfig | CustomActionConfig;\n\ntype EntityPageAction = {\n type: 'action';\n action: {\n item: EntityPageActionConfig;\n };\n menu?: never;\n};\n\ntype EntityPageMenu = {\n type: 'menu';\n menu: {\n label: string;\n items: (EntityPageActionConfig | DividerActionConfig)[];\n };\n action?: never;\n};\n\nexport type EntityPagePrimaryActions = EntityPageAction | EntityPageMenu;\nexport type EntityPageSecondaryActions = EntityPageAction | EntityPageMenu;\n\nexport interface EntityPageActionParams {\n entity: any;\n form?: UseFormReturn<FieldValues, any, undefined>;\n}\n\nexport type CustomEntityPageActionParams =\n CustomActionParams<EntityPageActionParams>;\n\nexport type CustomEntityPageActionResolver = (\n params: CustomEntityPageActionParams,\n) => ResolvedAction;\n"],"mappings":"","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  export const customAction = params => {
2
+ var _sdk$overrides;
2
3
  const {
3
4
  sdk,
4
5
  action,
5
6
  actionParams
6
7
  } = params;
7
- const actionFunc = sdk.overrides?.actions?.[action.id];
8
+ const actionFunc = (_sdk$overrides = sdk.overrides) == null || (_sdk$overrides = _sdk$overrides.actions) == null ? void 0 : _sdk$overrides[action.id];
8
9
  if (!actionFunc) {
9
10
  return null;
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"names":["customAction","params","sdk","action","actionParams","actionFunc","overrides","actions","id"],"sources":["../../../../src/utils/actions/customAction.tsx"],"sourcesContent":["import { CustomActionParams } from './types';\n\nexport const customAction = (params: CustomActionParams<any>) => {\n const { sdk, action, actionParams } = params;\n\n const actionFunc = sdk.overrides?.actions?.[action.id];\n if (!actionFunc) {\n return null;\n }\n\n return actionFunc({\n action,\n actionParams,\n sdk,\n });\n};\n"],"mappings":"AAEA,OAAO,MAAMA,YAAY,GAAIC,MAA+B,IAAK;EAC/D,MAAM;IAAEC,GAAG;IAAEC,MAAM;IAAEC;EAAa,CAAC,GAAGH,MAAM;EAE5C,MAAMI,UAAU,GAAGH,GAAG,CAACI,SAAS,EAAEC,OAAO,GAAGJ,MAAM,CAACK,EAAE,CAAC;EACtD,IAAI,CAACH,UAAU,EAAE;IACf,OAAO,IAAI;EACb;EAEA,OAAOA,UAAU,CAAC;IAChBF,MAAM;IACNC,YAAY;IACZF;EACF,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["customAction","params","_sdk$overrides","sdk","action","actionParams","actionFunc","overrides","actions","id"],"sources":["../../../../src/utils/actions/customAction.tsx"],"sourcesContent":["import { CustomActionParams } from './types';\n\nexport const customAction = (params: CustomActionParams<any>) => {\n const { sdk, action, actionParams } = params;\n\n const actionFunc = sdk.overrides?.actions?.[action.id];\n if (!actionFunc) {\n return null;\n }\n\n return actionFunc({\n action,\n actionParams,\n sdk,\n });\n};\n"],"mappings":"AAEA,OAAO,MAAMA,YAAY,GAAIC,MAA+B,IAAK;EAAA,IAAAC,cAAA;EAC/D,MAAM;IAAEC,GAAG;IAAEC,MAAM;IAAEC;EAAa,CAAC,GAAGJ,MAAM;EAE5C,MAAMK,UAAU,IAAAJ,cAAA,GAAGC,GAAG,CAACI,SAAS,cAAAL,cAAA,GAAbA,cAAA,CAAeM,OAAO,qBAAtBN,cAAA,CAAyBE,MAAM,CAACK,EAAE,CAAC;EACtD,IAAI,CAACH,UAAU,EAAE;IACf,OAAO,IAAI;EACb;EAEA,OAAOA,UAAU,CAAC;IAChBF,MAAM;IACNC,YAAY;IACZF;EACF,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -19,28 +19,33 @@ export const deleteAction = params => {
19
19
  const optimisticActions = getOptimisticActions(collectionId);
20
20
  return {
21
21
  onClick: () => {
22
+ var _modalParams$actions, _modalParams$actions2;
22
23
  api.openConfirmDeleteModal({
23
24
  ...(modalParams.title ? {
24
25
  title: modalParams.title.text
25
26
  } : {}),
26
27
  primaryButtonOnClick: () => {
28
+ var _modalParams$feedback;
27
29
  const schema = sdk.getSchema(sdk.collectionId);
28
30
  if (!schema) {
29
31
  throw new Error('Schema not found');
30
32
  }
31
- optimisticActions?.deleteOne(actionParams.item, {
32
- successToast: modalParams.feedback?.successToast?.text || 'Item deleted successfully',
33
- errorToast: () => modalParams.feedback?.errorToast?.text || 'Failed to delete item',
33
+ optimisticActions == null || optimisticActions.deleteOne(actionParams.item, {
34
+ successToast: ((_modalParams$feedback = modalParams.feedback) == null || (_modalParams$feedback = _modalParams$feedback.successToast) == null ? void 0 : _modalParams$feedback.text) || 'Item deleted successfully',
35
+ errorToast: () => {
36
+ var _modalParams$feedback2;
37
+ return ((_modalParams$feedback2 = modalParams.feedback) == null || (_modalParams$feedback2 = _modalParams$feedback2.errorToast) == null ? void 0 : _modalParams$feedback2.text) || 'Failed to delete item';
38
+ },
34
39
  submit: async () => {
35
40
  const result = await schema.actions.delete(actionParams.item[schema.idField]);
36
41
  return [result];
37
42
  }
38
43
  });
39
44
  },
40
- ...(modalParams.actions?.submit ? {
45
+ ...((_modalParams$actions = modalParams.actions) != null && _modalParams$actions.submit ? {
41
46
  primaryButtonText: modalParams.actions.submit.text
42
47
  } : {}),
43
- ...(modalParams.actions?.cancel ? {
48
+ ...((_modalParams$actions2 = modalParams.actions) != null && _modalParams$actions2.cancel ? {
44
49
  secondaryButtonText: modalParams.actions.cancel.text
45
50
  } : {}),
46
51
  ...(modalParams.description ? {
@@ -1 +1 @@
1
- {"version":3,"names":["Delete","React","deleteAction","params","action","sdk","actionParams","modal","modalParams","delete","getOptimisticActions","collectionId","api","optimisticActions","onClick","openConfirmDeleteModal","title","text","primaryButtonOnClick","schema","getSchema","Error","deleteOne","item","successToast","feedback","errorToast","submit","result","actions","idField","primaryButtonText","cancel","secondaryButtonText","description","content","label","icon","createElement"],"sources":["../../../../src/utils/actions/deleteAction.tsx"],"sourcesContent":["import { DeleteActionParams } from './types';\nimport { Delete } from '@wix/wix-ui-icons-common';\nimport React from 'react';\n\nexport const deleteAction = (params: DeleteActionParams) => {\n const { action, sdk, actionParams } = params;\n const { modal: modalParams } = action.delete;\n const { getOptimisticActions, collectionId } = sdk;\n const { api } = actionParams;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return {\n onClick: () => {\n api.openConfirmDeleteModal({\n ...(modalParams.title ? { title: modalParams.title.text } : {}),\n primaryButtonOnClick: () => {\n const schema = sdk.getSchema(sdk.collectionId);\n if (!schema) {\n throw new Error('Schema not found');\n }\n optimisticActions?.deleteOne(actionParams.item, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Item deleted successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text || 'Failed to delete item',\n submit: async () => {\n const result = await schema.actions.delete(\n actionParams.item[schema.idField],\n );\n return [result];\n },\n });\n },\n ...(modalParams.actions?.submit\n ? {\n primaryButtonText: modalParams.actions.submit.text,\n }\n : {}),\n ...(modalParams.actions?.cancel\n ? {\n secondaryButtonText: modalParams.actions.cancel.text,\n }\n : {}),\n ...(modalParams.description\n ? { content: modalParams.description.text }\n : {}),\n });\n },\n label: 'Delete',\n icon: <Delete />,\n };\n};\n"],"mappings":"AACA,SAASA,MAAM,QAAQ,0BAA0B;AACjD,OAAOC,KAAK,MAAM,OAAO;AAEzB,OAAO,MAAMC,YAAY,GAAIC,MAA0B,IAAK;EAC1D,MAAM;IAAEC,MAAM;IAAEC,GAAG;IAAEC;EAAa,CAAC,GAAGH,MAAM;EAC5C,MAAM;IAAEI,KAAK,EAAEC;EAAY,CAAC,GAAGJ,MAAM,CAACK,MAAM;EAC5C,MAAM;IAAEC,oBAAoB;IAAEC;EAAa,CAAC,GAAGN,GAAG;EAClD,MAAM;IAAEO;EAAI,CAAC,GAAGN,YAAY;EAC5B,MAAMO,iBAAiB,GAAGH,oBAAoB,CAACC,YAAY,CAAC;EAE5D,OAAO;IACLG,OAAO,EAAEA,CAAA,KAAM;MACbF,GAAG,CAACG,sBAAsB,CAAC;QACzB,IAAIP,WAAW,CAACQ,KAAK,GAAG;UAAEA,KAAK,EAAER,WAAW,CAACQ,KAAK,CAACC;QAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/DC,oBAAoB,EAAEA,CAAA,KAAM;UAC1B,MAAMC,MAAM,GAAGd,GAAG,CAACe,SAAS,CAACf,GAAG,CAACM,YAAY,CAAC;UAC9C,IAAI,CAACQ,MAAM,EAAE;YACX,MAAM,IAAIE,KAAK,CAAC,kBAAkB,CAAC;UACrC;UACAR,iBAAiB,EAAES,SAAS,CAAChB,YAAY,CAACiB,IAAI,EAAE;YAC9CC,YAAY,EACVhB,WAAW,CAACiB,QAAQ,EAAED,YAAY,EAAEP,IAAI,IACxC,2BAA2B;YAC7BS,UAAU,EAAEA,CAAA,KACVlB,WAAW,CAACiB,QAAQ,EAAEC,UAAU,EAAET,IAAI,IAAI,uBAAuB;YACnEU,MAAM,EAAE,MAAAA,CAAA,KAAY;cAClB,MAAMC,MAAM,GAAG,MAAMT,MAAM,CAACU,OAAO,CAACpB,MAAM,CACxCH,YAAY,CAACiB,IAAI,CAACJ,MAAM,CAACW,OAAO,CAClC,CAAC;cACD,OAAO,CAACF,MAAM,CAAC;YACjB;UACF,CAAC,CAAC;QACJ,CAAC;QACD,IAAIpB,WAAW,CAACqB,OAAO,EAAEF,MAAM,GAC3B;UACEI,iBAAiB,EAAEvB,WAAW,CAACqB,OAAO,CAACF,MAAM,CAACV;QAChD,CAAC,GACD,CAAC,CAAC,CAAC;QACP,IAAIT,WAAW,CAACqB,OAAO,EAAEG,MAAM,GAC3B;UACEC,mBAAmB,EAAEzB,WAAW,CAACqB,OAAO,CAACG,MAAM,CAACf;QAClD,CAAC,GACD,CAAC,CAAC,CAAC;QACP,IAAIT,WAAW,CAAC0B,WAAW,GACvB;UAAEC,OAAO,EAAE3B,WAAW,CAAC0B,WAAW,CAACjB;QAAK,CAAC,GACzC,CAAC,CAAC;MACR,CAAC,CAAC;IACJ,CAAC;IACDmB,KAAK,EAAE,QAAQ;IACfC,IAAI,eAAEpC,KAAA,CAAAqC,aAAA,CAACtC,MAAM,MAAE;EACjB,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Delete","React","deleteAction","params","action","sdk","actionParams","modal","modalParams","delete","getOptimisticActions","collectionId","api","optimisticActions","onClick","_modalParams$actions","_modalParams$actions2","openConfirmDeleteModal","title","text","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","Error","deleteOne","item","successToast","feedback","errorToast","_modalParams$feedback2","submit","result","actions","idField","primaryButtonText","cancel","secondaryButtonText","description","content","label","icon","createElement"],"sources":["../../../../src/utils/actions/deleteAction.tsx"],"sourcesContent":["import { DeleteActionParams } from './types';\nimport { Delete } from '@wix/wix-ui-icons-common';\nimport React from 'react';\n\nexport const deleteAction = (params: DeleteActionParams) => {\n const { action, sdk, actionParams } = params;\n const { modal: modalParams } = action.delete;\n const { getOptimisticActions, collectionId } = sdk;\n const { api } = actionParams;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return {\n onClick: () => {\n api.openConfirmDeleteModal({\n ...(modalParams.title ? { title: modalParams.title.text } : {}),\n primaryButtonOnClick: () => {\n const schema = sdk.getSchema(sdk.collectionId);\n if (!schema) {\n throw new Error('Schema not found');\n }\n optimisticActions?.deleteOne(actionParams.item, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Item deleted successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text || 'Failed to delete item',\n submit: async () => {\n const result = await schema.actions.delete(\n actionParams.item[schema.idField],\n );\n return [result];\n },\n });\n },\n ...(modalParams.actions?.submit\n ? {\n primaryButtonText: modalParams.actions.submit.text,\n }\n : {}),\n ...(modalParams.actions?.cancel\n ? {\n secondaryButtonText: modalParams.actions.cancel.text,\n }\n : {}),\n ...(modalParams.description\n ? { content: modalParams.description.text }\n : {}),\n });\n },\n label: 'Delete',\n icon: <Delete />,\n };\n};\n"],"mappings":"AACA,SAASA,MAAM,QAAQ,0BAA0B;AACjD,OAAOC,KAAK,MAAM,OAAO;AAEzB,OAAO,MAAMC,YAAY,GAAIC,MAA0B,IAAK;EAC1D,MAAM;IAAEC,MAAM;IAAEC,GAAG;IAAEC;EAAa,CAAC,GAAGH,MAAM;EAC5C,MAAM;IAAEI,KAAK,EAAEC;EAAY,CAAC,GAAGJ,MAAM,CAACK,MAAM;EAC5C,MAAM;IAAEC,oBAAoB;IAAEC;EAAa,CAAC,GAAGN,GAAG;EAClD,MAAM;IAAEO;EAAI,CAAC,GAAGN,YAAY;EAC5B,MAAMO,iBAAiB,GAAGH,oBAAoB,CAACC,YAAY,CAAC;EAE5D,OAAO;IACLG,OAAO,EAAEA,CAAA,KAAM;MAAA,IAAAC,oBAAA,EAAAC,qBAAA;MACbJ,GAAG,CAACK,sBAAsB,CAAC;QACzB,IAAIT,WAAW,CAACU,KAAK,GAAG;UAAEA,KAAK,EAAEV,WAAW,CAACU,KAAK,CAACC;QAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/DC,oBAAoB,EAAEA,CAAA,KAAM;UAAA,IAAAC,qBAAA;UAC1B,MAAMC,MAAM,GAAGjB,GAAG,CAACkB,SAAS,CAAClB,GAAG,CAACM,YAAY,CAAC;UAC9C,IAAI,CAACW,MAAM,EAAE;YACX,MAAM,IAAIE,KAAK,CAAC,kBAAkB,CAAC;UACrC;UACAX,iBAAiB,YAAjBA,iBAAiB,CAAEY,SAAS,CAACnB,YAAY,CAACoB,IAAI,EAAE;YAC9CC,YAAY,EACV,EAAAN,qBAAA,GAAAb,WAAW,CAACoB,QAAQ,cAAAP,qBAAA,GAApBA,qBAAA,CAAsBM,YAAY,qBAAlCN,qBAAA,CAAoCF,IAAI,KACxC,2BAA2B;YAC7BU,UAAU,EAAEA,CAAA;cAAA,IAAAC,sBAAA;cAAA,OACV,EAAAA,sBAAA,GAAAtB,WAAW,CAACoB,QAAQ,cAAAE,sBAAA,GAApBA,sBAAA,CAAsBD,UAAU,qBAAhCC,sBAAA,CAAkCX,IAAI,KAAI,uBAAuB;YAAA;YACnEY,MAAM,EAAE,MAAAA,CAAA,KAAY;cAClB,MAAMC,MAAM,GAAG,MAAMV,MAAM,CAACW,OAAO,CAACxB,MAAM,CACxCH,YAAY,CAACoB,IAAI,CAACJ,MAAM,CAACY,OAAO,CAClC,CAAC;cACD,OAAO,CAACF,MAAM,CAAC;YACjB;UACF,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,CAAAjB,oBAAA,GAAAP,WAAW,CAACyB,OAAO,aAAnBlB,oBAAA,CAAqBgB,MAAM,GAC3B;UACEI,iBAAiB,EAAE3B,WAAW,CAACyB,OAAO,CAACF,MAAM,CAACZ;QAChD,CAAC,GACD,CAAC,CAAC,CAAC;QACP,IAAI,CAAAH,qBAAA,GAAAR,WAAW,CAACyB,OAAO,aAAnBjB,qBAAA,CAAqBoB,MAAM,GAC3B;UACEC,mBAAmB,EAAE7B,WAAW,CAACyB,OAAO,CAACG,MAAM,CAACjB;QAClD,CAAC,GACD,CAAC,CAAC,CAAC;QACP,IAAIX,WAAW,CAAC8B,WAAW,GACvB;UAAEC,OAAO,EAAE/B,WAAW,CAAC8B,WAAW,CAACnB;QAAK,CAAC,GACzC,CAAC,CAAC;MACR,CAAC,CAAC;IACJ,CAAC;IACDqB,KAAK,EAAE,QAAQ;IACfC,IAAI,eAAExC,KAAA,CAAAyC,aAAA,CAAC1C,MAAM,MAAE;EACjB,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/utils/actions/types.ts"],"sourcesContent":["import { ActionCellAPI, CollectionOptimisticActions } from '@wix/patterns';\nimport {\n UpdateActionConfig,\n CustomActionConfig,\n SchemaConfig,\n BulkDeleteActionConfig,\n DeleteActionConfig,\n CreateActionConfig,\n BaseSDK,\n} from '../../types';\nimport { IconElement } from '@wix/design-system';\n\nexport interface ResolvedAction {\n label: string;\n icon: IconElement;\n onClick: () => void;\n disabled?: boolean;\n tooltip?: string;\n skin?: string;\n}\n\nexport interface BaseContextParams {\n schema: SchemaConfig;\n}\n\nexport interface ActionsSDK extends BaseSDK {\n getSchema: (collectionId: string) => SchemaConfig | undefined;\n collectionId: string; // TODO: Why collectionId is needed here? getSchema with internal collectionId is enough\n getOptimisticActions: (\n collectionId: string,\n ) => CollectionOptimisticActions<any, any>;\n}\n\nexport interface BaseActionParams<T = Record<string, any>> {\n sdk: ActionsSDK;\n actionParams: T;\n}\n\nexport interface ActionCellBaseParams extends BaseActionParams {\n actionParams: {\n item: any;\n index: number;\n api: ActionCellAPI<any, any>;\n };\n}\n\nexport interface BulkDeleteActionParams extends BaseActionParams {\n action: BulkDeleteActionConfig;\n actionParams: {\n selectedValues: any[];\n total: number;\n };\n}\n\nexport interface DeleteActionParams extends ActionCellBaseParams {\n action: DeleteActionConfig;\n}\n\nexport interface UpdateActionParams extends ActionCellBaseParams {\n action: UpdateActionConfig;\n}\n\nexport interface CreateActionParams extends BaseActionParams {\n action: CreateActionConfig;\n}\n\nexport interface CustomActionParams<T> extends BaseActionParams<T> {\n action: CustomActionConfig;\n}\n\nexport interface ActionModalProps {\n modalParams: Record<string, any>;\n actionParams: Record<string, any>;\n sdk: ActionsSDK;\n}\n\nexport interface CustomActionModalProps extends ActionModalProps {\n modalParams: { id: string };\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/utils/actions/types.ts"],"sourcesContent":["import { ActionCellAPI, CollectionOptimisticActions } from '@wix/patterns';\nimport {\n UpdateActionConfig,\n CustomActionConfig,\n SchemaConfig,\n BulkDeleteActionConfig,\n DeleteActionConfig,\n CreateActionConfig,\n BaseSDK,\n} from '../../types';\nimport { IconElement } from '@wix/design-system';\n\nexport interface ResolvedAction {\n label: string;\n icon: IconElement;\n onClick: () => void;\n disabled?: boolean;\n hidden?: boolean;\n tooltip?: string;\n skin?: string;\n}\n\nexport interface BaseContextParams {\n schema: SchemaConfig;\n}\n\nexport interface ActionsSDK extends BaseSDK {\n getSchema: (collectionId: string) => SchemaConfig | undefined;\n collectionId: string; // TODO: Why collectionId is needed here? getSchema with internal collectionId is enough\n getOptimisticActions: (\n collectionId: string,\n ) => CollectionOptimisticActions<any, any>;\n}\n\nexport interface BaseActionParams<T = Record<string, any>> {\n sdk: ActionsSDK;\n actionParams: T;\n}\n\nexport interface ActionCellBaseParams extends BaseActionParams {\n actionParams: {\n item: any;\n index: number;\n api: ActionCellAPI<any, any>;\n };\n}\n\nexport interface BulkDeleteActionParams extends BaseActionParams {\n action: BulkDeleteActionConfig;\n actionParams: {\n selectedValues: any[];\n total: number;\n };\n}\n\nexport interface DeleteActionParams extends ActionCellBaseParams {\n action: DeleteActionConfig;\n}\n\nexport interface UpdateActionParams extends BaseActionParams {\n action: UpdateActionConfig;\n}\n\nexport interface CreateActionParams extends BaseActionParams {\n action: CreateActionConfig;\n}\n\nexport interface CustomActionParams<T> extends BaseActionParams<T> {\n action: CustomActionConfig;\n}\n\nexport interface ActionModalProps {\n modalParams: Record<string, any>;\n actionParams: Record<string, any>;\n sdk: ActionsSDK;\n}\n\nexport interface CustomActionModalProps extends ActionModalProps {\n modalParams: { id: string };\n}\n"],"mappings":"","ignoreList":[]}